From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5751 invoked by alias); 7 Feb 2014 10:45:10 -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 5735 invoked by uid 89); 7 Feb 2014 10:45:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.1 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 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 ESMTP; Fri, 07 Feb 2014 10:45:07 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s17Aj5XH019376 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 7 Feb 2014 05:45:06 -0500 Received: from localhost.localdomain (ovpn-112-28.ams2.redhat.com [10.36.112.28]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s17Aj4NJ006199; Fri, 7 Feb 2014 05:45:05 -0500 Message-ID: <52F4B930.1020209@redhat.com> Date: Fri, 07 Feb 2014 10:45:00 -0000 From: Phil Muldoon MIME-Version: 1.0 To: Jan Kratochvil CC: gdb-patches@sourceware.org Subject: Re: GDB crashing on gdb.python/py-linetable.exp References: <20140206213003.GA19756@host2.jankratochvil.net> In-Reply-To: <20140206213003.GA19756@host2.jankratochvil.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-02/txt/msg00192.txt.bz2 On 06/02/14 21:30, Jan Kratochvil wrote: > Hi Phil, > > at least on CentOS-6.5 x86_64 with -lmcheck I get the following crash. > > I have seen the crash also once on Fedora Rawhide x86_64 but I do not have it > reproducible there. But it suggests to me it does not have to be necessarily > just CentOS-6 specific. I have not tried real RHEL. > I've tried most of the morning to reproduce this on Fedora 19, with -lmcheck and after several thousand test runs I can't reproduce. Is there access to a machine where I can reproduce this? > $ gdb ../gdb ./core.* > Program terminated with signal 11, Segmentation fault. > #0 0x00007f4d77642b1f in PyEval_EvalFrameEx (f=, throwflag=) > at Python/ceval.c:952 > 952 f->f_lasti = INSTR_OFFSET(); > (gdb) bt > #0 in PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:952 > #1 in PyEval_EvalCodeEx (co=0x7f4d78731468, globals=, locals=, args=, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3044 > #2 in PyEval_EvalCode (co=, globals=, locals=) at Python/ceval.c:545 > #3 in run_mod (mod=, filename=, globals={'__builtins__': , 'GdbRemoveReadlineFinder': , 'lt': , 'list_lines': , '__package__': None, 'sys': , 'gdb': , '__name__': '__main__', '__doc__': None}, locals={'__builtins__': , 'GdbRemoveReadlineFinder': , 'lt': , 'list_lines': , '__package__': None, 'sys': , 'gdb': , '__name__': '__main__', '__doc__': None}, flags=, arena=) at Python/pythonrun.c:1358 > #4 in PyRun_StringFlags (str=0x3cbe3a7 "print len(lt.line(42))", start=257, globals={'__builtins__': , 'GdbRemoveReadlineFinder': , 'lt': , 'list_lines': , '__package__': None, 'sys': , 'gdb': , '__name__': '__main__', '__doc__': None}, locals={'__builtins__': , 'GdbRemoveReadlineFinder': , 'lt': , 'list_lines': , '__package__': None, 'sys': , 'gdb': , '__name__': '__main__', '__doc__': None}, flags=0x0) at Python/pythonrun.c:1321 > #5 in PyRun_SimpleStringFlags (command=0x3cbe3a7 "print len(lt.line(42))", flags=0x0) at Python/pythonrun.c:974 I suspect the linetable information in GDB is not what this test expects it to be. The method that causes this crash just uses: pcs = find_pcs_for_symtab_line (symtab, py_line, &best_entry); But as this is happening in the C evaluation part of the code in Python I can't tell if this happened earlier and screwed up Python, or if there is something wrong with the Python tuple holding the line table data. Cheers Phil