From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 113752 invoked by alias); 30 Nov 2015 22:32:59 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 113734 invoked by uid 89); 30 Nov 2015 22:32:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 X-HELO: usplmg20.ericsson.net Received: from usplmg20.ericsson.net (HELO usplmg20.ericsson.net) (198.24.6.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Mon, 30 Nov 2015 22:32:57 +0000 Received: from EUSAAHC002.ericsson.se (Unknown_Domain [147.117.188.78]) by usplmg20.ericsson.net (Symantec Mail Security) with SMTP id DA.67.06940.09ECC565; Mon, 30 Nov 2015 23:32:48 +0100 (CET) Received: from [142.133.110.144] (147.117.188.8) by smtp-am.internal.ericsson.com (147.117.188.80) with Microsoft SMTP Server id 14.3.248.2; Mon, 30 Nov 2015 17:32:55 -0500 Subject: Re: MI pretty printing -var-list-children segfaults To: Xavier de Gaye , References: <565CBD10.3080501@gmail.com> From: Simon Marchi Message-ID: <565CCE96.7010900@ericsson.com> Date: Mon, 30 Nov 2015 22:32:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <565CBD10.3080501@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-11/txt/msg00050.txt.bz2 On 15-11-30 04:18 PM, Xavier de Gaye wrote: > gdb 7.10 segfaults after deleting the varobj child of a vector with one > element. Does that mean children must no be deleted ? > > The last part of the debugging session: > > (gdb) > ~"8\t v.push_back(3);\n" > *stopped,reason="end-stepping-range",frame={addr="0x0000000000400b35",func="main",args=[],file="pret > ty-printing.cc",fullname="/home/xavier/src/pyclewn/pyclewn-hg-working/testsuite/pretty-printing.cc", > line="8"},thread-id="1",stopped-threads="all",core="1" > (gdb) > -enable-pretty-printing > ^done > (gdb) > -var-create var1 * "v" > ^done,name="var1",numchild="0",value="{...}",type="std::vector >",thread-id > ="1",displayhint="array",dynamic="1",has_more="1" > (gdb) > -var-list-children var1 > ^done,numchild="1",displayhint="array",children=[child={name="var1.[0]",exp="[0]",numchild="0",type= > "int",thread-id="1"}],has_more="0" > (gdb) > -var-delete var1.[0] > ^done,ndeleted="1" > (gdb) > -var-list-children var1 > Segmentation fault (core dumped) > > > And the source code: > > #include > #include > > int main() > { > std::vector v; > v.push_back(2); > v.push_back(3); > return 0; > } > > > Xavier Hi Xavier, One thing is sure, gdb should not segfault when you do something that you are not supposed to do. If you shouldn't delete varobj children, then gdb should return an error. So that's a bug in gdb for sure. If you could file a bug with as much details as possible on how to reproduce it, it would be greatly appreciated: https://sourceware.org/bugzilla/enter_bug.cgi?product=gdb I don't have the required background to answer your actual question, so I'll let others do it. Thanks! Simon