From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 56636 invoked by alias); 16 Oct 2018 22:15:50 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 56266 invoked by uid 89); 16 Oct 2018 22:15:30 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=anticipate, spots, Keith, Seitz X-HELO: gateway33.websitewelcome.com Received: from gateway33.websitewelcome.com (HELO gateway33.websitewelcome.com) (192.185.147.108) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 16 Oct 2018 22:15:27 +0000 Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway33.websitewelcome.com (Postfix) with ESMTP id 23C771F067 for ; Tue, 16 Oct 2018 17:15:08 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id CXcKgfQR2kBj6CXcKgjwfl; Tue, 16 Oct 2018 17:15:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ia9SqRy5vo25AZwX37wrcqgkS/XwV/EiCKIHMBquTdY=; b=x9O51E+8h/ZZALlm1MJN0Mz5u4 vtp+248Tih5OTGT0F0jfa2AcUIwVgZ5ZFdNop4cN0C9mgpK50r/dfdJobijOXJEchcB63mnXTfX9M kJS1BxV/FpgwZlpmd9y8bDLbn; Received: from 97-122-190-66.hlrn.qwest.net ([97.122.190.66]:33888 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1gCXcJ-0040EW-Rx; Tue, 16 Oct 2018 17:15:07 -0500 From: Tom Tromey To: Keith Seitz Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] Prevent inline function parameters from crashing the DWARF reader References: <20181012212141.29423-1-keiths@redhat.com> Date: Tue, 16 Oct 2018 22:15:00 -0000 In-Reply-To: <20181012212141.29423-1-keiths@redhat.com> (Keith Seitz's message of "Fri, 12 Oct 2018 14:21:41 -0700") Message-ID: <87o9btbkt1.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-10/txt/msg00357.txt.bz2 >>>>> "Keith" == Keith Seitz writes: Keith> However, as demonstrated in this Fedora bugzilla: Keith> https://bugzilla.redhat.com/show_bug.cgi?id=1638798 Keith> the abstract_origin of the parameter DIE may be in an entirely different Keith> CU. This CU will have no builder defined for it, so the call to Keith> get_current_context_stack is made on an uninitialized builder, and GDB Keith> segfaults. I was curious what happened before, so I checked out the commit before 804d27291b2922f01fe5cc2d9ae759533d4a2f6f, and ran it on the executable in that bug. I set a breakpoint conditional on curr==0 and it never hit. Now, I am not totally sure that this was correct before, but I suppose what was going on was that the earlier code was installing these symbols into the referencing CU's symtab. Abstractly, at least, that seems reasonable. So maybe that approach should be taken again. Also, when I look at new_symbol, I see a bunch of uses of cu->builder, so I wonder if there are ways to make those spots crash as well. So maybe this indicates some different approach is needed as well. Sorry about this. I didn't anticipate this at all. I can try to take it over if you'd like. Maybe one idea would be to temporarily set the referenced CU's builder to the referencing CU's builder somehow. Tom