help interpreting a gdb traceback

Tracy Ruggles tracy at reinventnow.com
Sat Nov 23 00:39:10 EST 2002


Hi,

Not knowing a whole lot about c code, I'm trying to track down a rare
bug that's happening.  The code below is the 'bt' command from using
gdb on the core that's being dumped.

My current interpretation is that 1) a thread is being started, 2)
"eval" code is being called somewhere and 3) the system dies during
garbage collection.

My hypothesis is that bad things happen when eval is called in a
thread (at least on my system --> '2.2.1 (#5, Aug 21 2002, 03:45:02)
\n[GCC 2.95.3 20010315 (release) [FreeBSD]]')

So, to test my hypothesis, I'm changing the one or two places in my
code where eval is being used and sit back and watch what happens.

In the mean time, does anyone else have any insight on what this
traceback has hidden in it?

Thanks
--Tracy


---------- START TRACEBACK ----------

(gdb) bt
#0  _PyObject_GC_New (tp=0x80f08e0) at Modules/gcmodule.c:864
#1  0x80c1cab in PyDict_New () at Objects/dictobject.c:161
#2  0x80a9361 in PyInstance_NewRaw (klass=0x811800c, dict=0x0) at
Objects/classobject.c:508
#3  0x80a9439 in PyInstance_New (klass=0x811800c, arg=0x9c479ec,
kw=0x0) at Objects/classobject.c:539
#4  0x80a6404 in PyObject_Call (func=0x811800c, arg=0x9c479ec, kw=0x0)
at Objects/abstract.c:1684
#5  0x8076f71 in PyEval_CallObjectWithKeywords (func=0x811800c,
arg=0x9c479ec, kw=0x0) at Python/ceval.c:3049
#6  0x80859c2 in PyErr_NormalizeException (exc=0xbfa989e8,
val=0xbfa989ec, tb=0xbfa989f0)
    at Python/errors.c:173
#7  0x8075f0f in eval_frame (f=0x839180c) at Python/ceval.c:2281
#8  0x80767a8 in PyEval_EvalCodeEx (co=0x8173180, globals=0x8171d0c,
locals=0x0, args=0x8396498, argcount=1,
    kws=0x839a0d0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at
Python/ceval.c:2585
#9  0x80b6cb0 in function_call (func=0x82d638c, arg=0x839648c,
kw=0x829250c) at Objects/funcobject.c:374
#10 0x80a6404 in PyObject_Call (func=0x82d638c, arg=0x839648c,
kw=0x829250c) at Objects/abstract.c:1684
#11 0x80abb1c in instancemethod_call (func=0x82d638c, arg=0x80fb10c,
kw=0x829250c)
    at Objects/classobject.c:2276
#12 0x80a6404 in PyObject_Call (func=0x838cccc, arg=0x80fb10c,
kw=0x829250c) at Objects/abstract.c:1684
#13 0x8076f71 in PyEval_CallObjectWithKeywords (func=0x838cccc,
arg=0x80fb10c, kw=0x829250c)
    at Python/ceval.c:3049
#14 0x80c40dd in builtin_apply (self=0x0, args=0x838cecc) at
Python/bltinmodule.c:95
#15 0x80c2785 in PyCFunction_Call (func=0x810c0a0, arg=0x838cecc,
kw=0x0) at Objects/methodobject.c:80
#16 0x80757b3 in eval_frame (f=0x837240c) at Python/ceval.c:2004
#17 0x80767a8 in PyEval_EvalCodeEx (co=0x8296c00, globals=0x829880c,
locals=0x0, args=0x8372360, argcount=1,
    kws=0x8372364, kwcount=0, defs=0x0, defcount=0, closure=0x0) at
Python/ceval.c:2585
#18 0x80787b4 in fast_function (func=0x82c0d8c, pp_stack=0xbfa98e04,
n=1, na=1, nk=0) at Python/ceval.c:3161
#19 0x8075855 in eval_frame (f=0x837220c) at Python/ceval.c:2024
#20 0x80767a8 in PyEval_EvalCodeEx (co=0x8296cc0, globals=0x829880c,
locals=0x0, args=0x83964d8, argcount=1,
    kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at
Python/ceval.c:2585
#21 0x80b6cb0 in function_call (func=0x82c0dcc, arg=0x83964cc, kw=0x0)
at Objects/funcobject.c:374
#22 0x80a6404 in PyObject_Call (func=0x82c0dcc, arg=0x83964cc, kw=0x0)
at Objects/abstract.c:1684
#23 0x80abb1c in instancemethod_call (func=0x82c0dcc, arg=0x80fb10c,
kw=0x0) at Objects/classobject.c:2276
#24 0x80a6404 in PyObject_Call (func=0x838cdcc, arg=0x80fb10c, kw=0x0)
at Objects/abstract.c:1684
#25 0x8076f71 in PyEval_CallObjectWithKeywords (func=0x838cdcc,
arg=0x80fb10c, kw=0x0) at Python/ceval.c:3049
#26 0x8097d4d in t_bootstrap (boot_raw=0x839a0b0) at
./Modules/threadmodule.c:190
#27 0x2810fe9b in _thread_start () from /usr/lib/libc_r.so.4
#28 0x0 in ?? ()
(gdb)



More information about the Python-list mailing list