From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127527 invoked by alias); 15 Mar 2016 15:45:15 -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 127512 invoked by uid 89); 15 Mar 2016 15:45:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1064 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 15 Mar 2016 15:45:12 +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 (Postfix) with ESMTPS id 28361C00DE04; Tue, 15 Mar 2016 15:45:11 +0000 (UTC) Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u2FFj9SS021961; Tue, 15 Mar 2016 11:45:10 -0400 Subject: Re: [PING][PATCH] Python: Fix Python error when "Quit"ting a paged info pretty-printers To: Leonardo Boquillon , gdb-patches@sourceware.org, tom@tromey.com References: <1458046365-21110-1-git-send-email-leonardo.boquillon@tallertechnologies.com> From: Pedro Alves Message-ID: <56E82E05.1080209@redhat.com> Date: Tue, 15 Mar 2016 15:45:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1458046365-21110-1-git-send-email-leonardo.boquillon@tallertechnologies.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-03/txt/msg00235.txt.bz2 Hi Leonardo, On 03/15/2016 12:52 PM, Leonardo Boquillon wrote: > Right now the "Quit" command used in the output paging is handled as an exception. > If we issue a "Quit" while outputting the registered pretty-printers list, the > Python handling layer will catch it and think it's a Python error. > > The fix is to check if the error coming from Python is a Quit signal. If it is, > do not handle it as an error and resume the execution normally. I'm not sure I fully understand this, but checking the exception message looks suspicious to me. It'd help if this had an accompanying testcase, to clearly show what bug this is fixing, and make sure gdb doesn't regress in future. We have a few tests under gdb.base/ that test pagination. Maybe it'd be possible to copy / adjust one of those? Also, it can't possibly be right to check msg == NULL after having used that pointer in strncmp: > + if (strncmp(msg, "Quit", 5)) > + { > + if (msg == NULL) Thanks, Pedro Alves