From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from rock.gnat.com (rock.gnat.com [205.232.38.15]) by sourceware.org (Postfix) with ESMTP id B2F2A3851C0A for ; Fri, 8 May 2020 20:25:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B2F2A3851C0A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey@adacore.com Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 8D61A11766E; Fri, 8 May 2020 16:25:53 -0400 (EDT) X-Virus-Scanned: Debian amavisd-new at gnat.com Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id s2Uy8Q+dmip5; Fri, 8 May 2020 16:25:53 -0400 (EDT) Received: from murgatroyd (174-16-104-48.hlrn.qwest.net [174.16.104.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPSA id 46FCE11766D; Fri, 8 May 2020 16:25:53 -0400 (EDT) From: Tom Tromey To: Tom Tromey Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] Don't re-process a DIE in read_lexical_block_scope References: <20200424145136.5348-1-tromey@adacore.com> X-Attribution: Tom Date: Fri, 08 May 2020 14:25:52 -0600 In-Reply-To: <20200424145136.5348-1-tromey@adacore.com> (Tom Tromey's message of "Fri, 24 Apr 2020 08:51:36 -0600") Message-ID: <87h7wqp41b.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 May 2020 20:25:54 -0000 >>>>> "Tom" == Tom Tromey writes: Tom> A customer reported a crash in the DWARF reader. Tom> Investigation showed that the crash occurred in an unusual scenario: a Tom> function was lexically scoped within some other function -- but the Tom> inner function inlined the outer function and referred to its DIE via Tom> DW_AT_abstract_origin. With the executable in question, Tom> inherit_abstract_dies could eventually call read_lexical_block_scope, Tom> which in turn could recurse into process_die, to process a DIE that Tom> was already being read, triggering an assert. I'm checking this in. Tom