From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14151 invoked by alias); 19 Nov 2013 15:49:09 -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 14140 invoked by uid 89); 19 Nov 2013 15:49:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RDNS_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from Unknown (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 19 Nov 2013 15:47:21 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rAJFlEer005315 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 19 Nov 2013 10:47:14 -0500 Received: from barimba (ovpn-113-124.phx2.redhat.com [10.3.113.124]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id rAJFlCPE031311 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Tue, 19 Nov 2013 10:47:13 -0500 From: Tom Tromey To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 1/2] avoid infinite loop with bad debuginfo References: <1384375873-32160-1-git-send-email-tromey@redhat.com> <1384375873-32160-2-git-send-email-tromey@redhat.com> <52850730.1060109@redhat.com> Date: Tue, 19 Nov 2013 15:52:00 -0000 In-Reply-To: <52850730.1060109@redhat.com> (Pedro Alves's message of "Thu, 14 Nov 2013 17:24:00 +0000") Message-ID: <87r4acmm0v.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2013-11/txt/msg00546.txt.bz2 >>>>> "Pedro" == Pedro Alves writes: >> + error (_("infinite loop while fetching a register; " >> + "probably bad debug info")); Pedro> What swallows this error? Just getting back to answering this question... It is caught in dwarf2_tailcall_sniffer_first. The straightforward idea here of removing the TRY_CATCH from this function (and fixing up cleanups in dwarf2_frame_cache) fails because something (I didn't try to find what) modifies the frame before the sniffer fails; causing frame_cleanup_after_sniffer to fail an assertion. This is all moot if I apply your patches in this area, because they move the call to dwarf2_tailcall_sniffer_first out of the spot where it can cause trouble. Tom