From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8187 invoked by alias); 13 Mar 2013 12:15:28 -0000 Received: (qmail 8165 invoked by uid 22791); 13 Mar 2013 12:15:27 -0000 X-SWARE-Spam-Status: No, hits=-8.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_SPAMHAUS_DROP,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 13 Mar 2013 12:15:12 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r2DCFBZ0004806 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 13 Mar 2013 08:15:11 -0400 Received: from localhost.localdomain (ovpn-116-57.ams2.redhat.com [10.36.116.57]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r2DCFAX0020011; Wed, 13 Mar 2013 08:15:10 -0400 Message-ID: <51406DCD.7050007@redhat.com> Date: Wed, 13 Mar 2013 12:15:00 -0000 From: Phil Muldoon MIME-Version: 1.0 To: Tom Tromey CC: "gdb-patches@sourceware.org" Subject: Re: [patch][python] 2 of 5 - Frame filter MI code changes. References: <513E5707.8080404@redhat.com> <87vc8wcpsm.fsf@fleche.redhat.com> <513F9576.30201@redhat.com> In-Reply-To: <513F9576.30201@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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 X-SW-Source: 2013-03/txt/msg00571.txt.bz2 On 12/03/13 20:52, Phil Muldoon wrote: > On 12/03/13 20:43, Tom Tromey wrote: > >> Phil> + /* Run the inbuilt backtrace if there are no filters registered, or >> Phil> + if there was an error in the Python backtracing output, or if >> Phil> + frame-filters are disabled. */ >> Phil> + if (! frame_filters || raw_arg || result == PY_BT_ERROR >> Phil> + || result == PY_BT_NO_FILTERS) >> >> It seems to me that the PY_BT_ERROR case should not be here, since the >> MI client could get a partially filtered trace followed by the normal >> trace. > > Yeah you are right. It's a pain to figure out what to do here. I suspect in > MI case just abandon the trace. I looked at this in a little more detail this morning. apply_frame_filter in py-framefilter.c, will still try to print the whole backtrace if it errors on one frame. It will print the error message and move onto the next frame. So PY_BT_ERROR is wrong in all cases, both in MI and CLI. I'll fix this up. Good spot. So bear this in mind when you (or anyone) reviews the CLI case. It is fixed locally. Cheers Phil