From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19904 invoked by alias); 18 Nov 2013 18:23:13 -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 19892 invoked by uid 89); 18 Nov 2013 18:23:12 -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; Mon, 18 Nov 2013 18:23:11 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rAIIN47J016526 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 18 Nov 2013 13:23:04 -0500 Received: from barimba (ovpn-113-124.phx2.redhat.com [10.3.113.124]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id rAIIN2i2027313 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 18 Nov 2013 13:23:03 -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: Mon, 18 Nov 2013 18:25:00 -0000 In-Reply-To: <52850730.1060109@redhat.com> (Pedro Alves's message of "Thu, 14 Nov 2013 17:24:00 +0000") Message-ID: <87d2lxpo1l.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/msg00485.txt.bz2 >> + if (VALUE_LVAL (new_val) == lval_register >> + && value_lazy (new_val) >> + && frame_id_eq (VALUE_FRAME_ID (new_val), last_frame_id)) Pedro> I think this should also check the regnum: Barf. I have a memory of actually writing that. False memory I guess. Sigh. >> #4 0x0000007fb7f0956c in clone () from /lib64/libc.so.6 >> #5 0x0000007fb7f0956c in clone () from /lib64/libc.so.6 >> Backtrace stopped: previous frame identical to this frame (corrupt stack?) Pedro> Doesn't this all then mean that we somehow ended up with two identical Pedro> frames with the same id on the frame chain (#4 and #5) ? Pedro> That seems very wrong to me. Pedro> It seems to be a better fix would be to make Pedro> get_prev_frame_1/get_prev_frame_raw discard frame #5 before it Pedro> was ever linked in. Either that, or, if we really need to keep Pedro> #5 linked in, we should find a way for frame_id_eq (#4, #5) to Pedro> return false. I will look into it, but my recollection is that last time we got into this area, it was somehow undesirable to undo whatever changes were done by existing frame sniffers. Tom