Bug 863040

Summary: [abrt] gdb-7.4.50.20120120-50.fc17: symtable_add_def: Process /usr/bin/gdb was killed by signal 11 (SIGSEGV)
Product: [Fedora] Fedora Reporter: Demian Lee <demian.p.lee>
Component: pythonAssignee: Bohuslav "Slavek" Kabrda <bkabrda>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: bkabrda, dmalcolm, gbenson, ivazqueznet, jan.kratochvil, jonathansteffan, palves, pmuldoon, sergiodj, tomspur, tromey
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:34f906b91c7208ac41a4fe409325b54432368a81
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-31 19:49:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: environ
none
File: build_ids
none
File: maps
none
File: open_fds
none
File: cgroup
none
File: limits
none
File: backtrace none

Description Demian Lee 2012-10-04 09:51:38 UTC
Version-Release number of selected component:
gdb-7.4.50.20120120-50.fc17

Additional info:
libreport version: 2.0.14
abrt_version:   2.0.13
backtrace_rating: 4
cmdline:        gdb -batch -ex 'set debug-file-directory /' -ex 'file /usr/bin/virtuoso-t' -ex 'core-file ./coredump' -ex 'thread apply all backtrace 2048 full' -ex 'info sharedlib' -ex 'print (char*)__abort_msg' -ex 'print (char*)__glib_assert_msg' -ex 'info registers' -ex disassemble
crash_function: symtable_add_def
kernel:         3.5.4-2.fc17.x86_64

truncated backtrace:
:Thread no. 1 (10 frames)
: #0 symtable_add_def at /usr/src/debug/Python-2.7.3/Python/symtable.c:888
: #1 symtable_visit_params at /usr/src/debug/Python-2.7.3/Python/symtable.c:1318
: #2 symtable_visit_arguments at /usr/src/debug/Python-2.7.3/Python/symtable.c:1365
: #3 symtable_visit_stmt at /usr/src/debug/Python-2.7.3/Python/symtable.c:1012
: #5 PySymtable_Build at /usr/src/debug/Python-2.7.3/Python/symtable.c:240
: #6 PyAST_Compile at /usr/src/debug/Python-2.7.3/Python/compile.c:282
: #7 run_mod at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:1358
: #8 PyRun_StringFlags at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:1324
: #9 PyRun_SimpleStringFlags at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:977
: #10 finish_python_initialization at ../../gdb/python/python.c:1346

Comment 1 Demian Lee 2012-10-04 09:51:41 UTC
Created attachment 621505 [details]
File: environ

Comment 2 Demian Lee 2012-10-04 09:51:44 UTC
Created attachment 621506 [details]
File: build_ids

Comment 3 Demian Lee 2012-10-04 09:51:46 UTC
Created attachment 621507 [details]
File: maps

Comment 4 Demian Lee 2012-10-04 09:51:48 UTC
Created attachment 621508 [details]
File: open_fds

Comment 5 Demian Lee 2012-10-04 09:51:51 UTC
Created attachment 621509 [details]
File: cgroup

Comment 6 Demian Lee 2012-10-04 09:51:53 UTC
Created attachment 621510 [details]
File: limits

Comment 7 Demian Lee 2012-10-04 09:51:55 UTC
Created attachment 621511 [details]
File: backtrace

Comment 8 Dave Malcolm 2012-10-09 18:06:55 UTC
Thanks for filing this bug report.

Were you running this on a virtual machine, or on actual hardware?

What is the output of:

  rpm -q python

Looking at attachment 621511 [details] I see that a segmentation fault happened whilst the Python embedded within gdb was parsing some startup python code provided by gdb in frame #10 within finish_python_initialization()

The fault appears to have happened within Python/symtable.c somewhere around here:

   876  static int
   877  symtable_add_def(struct symtable *st, PyObject *name, int flag)
   878  {
   879      PyObject *o;
   880      PyObject *dict;
   881      long val;
   882      PyObject *mangled = _Py_Mangle(st->st_private, name);
   883  
   884      if (!mangled)
   885          return 0;
   886      dict = st->st_cur->ste_symbols;
   887      if ((o = PyDict_GetItem(dict, mangled))) {
>>>888          val = PyInt_AS_LONG(o);
   889          if ((flag & DEF_PARAM) && (val & DEF_PARAM)) {

The attachment reports the error occurring at line 888;  PyInt_AS_LONG is a macro:

  #define PyInt_AS_LONG(op) (((PyIntObject *)(op))->ob_ival)

but for that to be a segfault would require "o" to be invalid or NULL.  It can't be NULL due to the test at line 887.

The attachment reports the error occurring here:

=> 0x00007f2abdb02ce0 <+96>:	mov    0x10(%rax),%rdi

which appears to be the op->ob_ival lookup, with rax = 0x8000000000000, so I believe we're seeing "o" aka "op" with value 0x8000000000000

Given how early this bug occurred, and how often this code is run, I suspect virtualization or hardware issues.

Comment 9 Demian Lee 2012-10-10 08:17:43 UTC
run on hardware Lenovo Z570

rpm -q python
python-2.7.3-7.2.fc17.x86_64


can this error appear because of lost files?

Comment 10 Fedora Admin XMLRPC Client 2013-05-10 05:06:39 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 11 Fedora Admin XMLRPC Client 2013-05-10 05:06:42 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 12 Fedora Admin XMLRPC Client 2013-05-10 05:09:33 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 13 Fedora End Of Life 2013-07-03 20:13:49 UTC
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '17'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 17's end of life.

Bug Reporter:  Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 17 is end of life. If you 
would still like  to see this bug fixed and are able to reproduce it 
against a later version  of Fedora, you are encouraged  change the 
'version' to a later Fedora version prior to Fedora 17's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 14 Fedora End Of Life 2013-07-31 19:49:27 UTC
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.