--- Begin Message ---
Package: python2.5
Version: 2.5.2-11.1
Severity: important
I consider segfaulting quite an issue (especially if it happens during simple
warning output), thus raised severity to important. I am not sure if the
original cause is elsewhere (e.g. python-gobject, so I CC its maintainer on
this bugreport), but I guess python's code should be more tollerant, thus
I am complaining about python. I would appreciate if you spot the actual
problem and forward bug-report against corresponding package.
Ways to reproduce (tried on 2 boxes, mostly lenny):
there is a young project dataview3d, which you can get from
https://www.ynic.york.ac.uk/~andre/DV3D_downloads/source/DV3D_v0.35C_dist.zip
(you might like to fix up permissions after extraction from evil zip ;-))
just run
python2.5 RunDV3D.py
and don't select any file (cancel) in the dialog which comes up
then it segfaults at
PyFrame_New (tstate=0x0, code=0x7f8da317fdc8, globals=0x1a1a960, locals=0x
code is
,-
| PyFrame_New(PyThreadState *tstate, PyCodeObject *code, PyObject *globals,
| PyObject *locals)
| {
| PyFrameObject *back = tstate->frame;
|
`---
top backtrace is
,--
| 0 PyFrame_New (tstate=0x0, code=0x7f8da317fdc8, globals=0x1a1a960,
locals=0x0) at ../Objects/frameobject.c:559
| back = <value optimized out>
| f = <value optimized out>
| builtins = <value optimized out>
| i = <value optimized out>
| #1 0x0000000000492b06 in PyEval_EvalCodeEx (co=0x7f8da317fdc8,
globals=<value optimized out>, locals=<value optimized out>, args=0x3f63bf8,
argcount=3, kws=0x0, kwcount=0, defs=0x7f8da315f140, defcount=2, closure=0x0)
at ../Python/ceval.c:2633
| f = <value optimized out>
| retval = (PyObject *) 0x0
| freevars = <value optimized out>
| tstate = (PyThreadState *) 0x0
| x = <value optimized out>
| u = <value optimized out>
`--
in PyEval_EvalCodeEx
,--
| assert(tstate != NULL);
| assert(globals != NULL);
| f = PyFrame_New(tstate, co, globals, locals);
`---
I am not sure why assertion wasn't triggered since tstate is NULL...
in any case -- here is a full backtrace (I rebuilt python-gobject without
optimization and with debuggin info):
#0 PyFrame_New (tstate=0x0, code=0x7f8da317fdc8, globals=0x1a1a960,
locals=0x0) at ../Objects/frameobject.c:559
back = <value optimized out>
f = <value optimized out>
builtins = <value optimized out>
i = <value optimized out>
#1 0x0000000000492b06 in PyEval_EvalCodeEx (co=0x7f8da317fdc8, globals=<value
optimized out>, locals=<value optimized out>, args=0x3f63bf8, argcount=3,
kws=0x0, kwcount=0, defs=0x7f8da315f140, defcount=2, closure=0x0) at
../Python/ceval.c:2633
f = <value optimized out>
retval = (PyObject *) 0x0
freevars = <value optimized out>
tstate = (PyThreadState *) 0x0
x = <value optimized out>
u = <value optimized out>
#2 0x00000000004dd632 in function_call (func=0x7f8da31a77d0, arg=0x3f63be0,
kw=0x0) at ../Objects/funcobject.c:517
result = <value optimized out>
argdefs = <value optimized out>
d = (PyObject **) 0x7f8da315f140
nk = <value optimized out>
nd = 2
#3 0x000000000041ab7a in call_function_tail (callable=0x7f8da31a77d0,
args=0x3f63be0) at ../Objects/abstract.c:1861
retval = <value optimized out>
#4 0x000000000041ad90 in PyObject_CallFunction (callable=0x7f8da31a77d0,
format=<value optimized out>) at ../Objects/abstract.c:1916
va = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
0x7fffab1eb490, reg_save_area = 0x7fffab1eb3d0}}
args = (PyObject *) 0x7f8da317fdc8
#5 0x000000000049ffaf in PyErr_WarnEx (category=0x3deb2e0, message=0x49e2a70
"gtk_widget_set_colormap: assertion `!GTK_WIDGET_REALIZED (widget)' failed",
stack_level=1) at ../Python/errors.c:659
res = <value optimized out>
dict = <value optimized out>
func = <value optimized out>
warnings_module = <value optimized out>
#6 0x00007f8d82ce095d in _log_func (log_domain=0x7f8d95507a97 "Gtk",
log_level=G_LOG_LEVEL_CRITICAL, message=0x49e2a70 "gtk_widget_set_colormap:
assertion `!GTK_WIDGET_REALIZED (widget)' failed", user_data=0x3deb2e0) at
/home/yoh/deb/debug/python-gobject/pygobject-2.14.2/gobject/gobjectmodule.c:3378
state = PyGILState_LOCKED
warning = (PyObject *) 0x3deb2e0
#7 0x00007f8d93e73229 in IA__g_logv (log_domain=0x7f8d95507a97 "Gtk",
log_level=G_LOG_LEVEL_CRITICAL, format=0x7f8d93ea9237 "%s: assertion `%s'
failed", args1=0x7fffab1eb9a0) at
/build/buildd/glib2.0-2.16.5/glib/gmessages.c:474
depth = <value optimized out>
domain = <value optimized out>
data = (gpointer) 0x3deb2e0
log_func = (GLogFunc) 0x7f8d82ce08fb <_log_func>
domain_fatal_mask = <value optimized out>
test_level = G_LOG_LEVEL_CRITICAL
was_recursion = 0
i = <value optimized out>
#8 0x00007f8d93e73583 in IA__g_log (log_domain=0x0, log_level=-1558708792,
format=0x1a1a960 "\f") at /build/buildd/glib2.0-2.16.5/glib/gmessages.c:517
args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area =
0x7fffab1eba80, reg_save_area = 0x7fffab1eb9c0}}
#9 0x00007f8d849b92bb in wxGLCanvas::Create () from
/usr/lib/libwx_gtk2u_gl-2.8.so.0
No symbol table info available.
#10 0x00007f8d849b96eb in wxGLCanvas::wxGLCanvas () from
/usr/lib/libwx_gtk2u_gl-2.8.so.0
No symbol table info available.
#11 0x00007f8d84bc936f in ?? () from
/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wx/_glcanvas.so
No symbol table info available.
#12 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#13 0x0000000000490297 in PyEval_EvalFrameEx (f=0x49da620, throwflag=<value
optimized out>) at ../Python/ceval.c:3855
func = (PyObject *) 0x31a06c8
na = <value optimized out>
nk = 0
n = <value optimized out>
pfunc = (PyObject **) 0x49da7c0
sp = (PyObject **) 0x49da7c8
stack_pointer = (PyObject **) 0x304e270
next_instr = (unsigned char *) 0x319e27c "\203\002"
opcode = <value optimized out>
oparg = <value optimized out>
why = <value optimized out>
err = 0
x = (PyObject *) 0x4970020
v = (PyObject *) 0x0
w = (PyObject *) 0x49da5f0
u = (PyObject *) 0x7f8da27279e0
t = <value optimized out>
stream = <value optimized out>
freevars = (PyObject **) 0x49da7b0
retval = (PyObject *) 0x0
tstate = (PyThreadState *) 0x19b3620
co = (PyCodeObject *) 0x319f648
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = <value optimized out>
names = (PyObject *) 0x319e2b8
consts = (PyObject *) 0x31a02d8
#14 0x000000000049313d in PyEval_EvalCodeEx (co=0x319f648, globals=<value
optimized out>, locals=<value optimized out>, args=0x3f680d0, argcount=6,
kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2838
f = (PyFrameObject *) 0x49da620
retval = (PyObject *) 0x3f5a1d0
freevars = (PyObject **) 0x49da7b0
tstate = (PyThreadState *) 0x19b3620
x = <value optimized out>
u = (PyObject *) 0x3f5a1d0
#15 0x00000000004dd632 in function_call (func=0x31a1140, arg=0x3f680b8, kw=0x0)
at ../Objects/funcobject.c:517
result = <value optimized out>
argdefs = <value optimized out>
d = (PyObject **) 0x0
nk = <value optimized out>
nd = 0
#16 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#17 0x000000000041f658 in instancemethod_call (func=0x31a1140, arg=0x3f680b8,
kw=0x0) at ../Objects/classobject.c:2519
self = (PyObject *) 0x437ead0
klass = (PyObject *) 0x320e520
result = <value optimized out>
#18 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#19 0x000000000048fef2 in PyEval_EvalFrameEx (f=0x4971170, throwflag=<value
optimized out>) at ../Python/ceval.c:3786
sp = (PyObject **) 0x4971350
stack_pointer = (PyObject **) 0x4971380
next_instr = (unsigned char *) 0x31fc675 "\001t\031"
opcode = <value optimized out>
oparg = <value optimized out>
why = <value optimized out>
err = 0
x = (PyObject *) 0x3fd1948
v = (PyObject *) 0x0
w = (PyObject *) 0x49704f0
u = (PyObject *) 0x1
t = <value optimized out>
stream = <value optimized out>
freevars = (PyObject **) 0x4971348
retval = (PyObject *) 0x0
tstate = (PyThreadState *) 0x19b3620
co = (PyCodeObject *) 0x31960a8
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = <value optimized out>
names = (PyObject *) 0x2fa4ff0
consts = (PyObject *) 0x3186410
#20 0x000000000049313d in PyEval_EvalCodeEx (co=0x31960a8, globals=<value
optimized out>, locals=<value optimized out>, args=0x3f63568, argcount=3,
kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2838
f = (PyFrameObject *) 0x4971170
retval = (PyObject *) 0x7f8da317a050
freevars = (PyObject **) 0x4971348
tstate = (PyThreadState *) 0x19b3620
x = <value optimized out>
u = (PyObject *) 0x7f8da317a050
#21 0x00000000004dd632 in function_call (func=0x319f938, arg=0x3f63550, kw=0x0)
at ../Objects/funcobject.c:517
result = <value optimized out>
argdefs = <value optimized out>
d = (PyObject **) 0x0
nk = <value optimized out>
nd = 0
#22 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#23 0x000000000041f658 in instancemethod_call (func=0x319f938, arg=0x3f63550,
kw=0x0) at ../Objects/classobject.c:2519
self = (PyObject *) 0x437ead0
klass = (PyObject *) 0x2
result = <value optimized out>
#24 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#25 0x0000000000465ca6 in slot_tp_init (self=0x437ead0, args=0x3f692d8,
kwds=0x0) at ../Objects/typeobject.c:4943
meth = (PyObject *) 0x3a29230
res = <value optimized out>
init_str = (PyObject *) 0x7f8da31799c0
#26 0x000000000046dfdb in type_call (type=0x320f4d0, args=0x3f692d8, kwds=0x0)
at ../Objects/typeobject.c:436
obj = (PyObject *) 0x437ead0
#27 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#28 0x000000000048fef2 in PyEval_EvalFrameEx (f=0x4081950, throwflag=<value
optimized out>) at ../Python/ceval.c:3786
sp = (PyObject **) 0x4081c00
stack_pointer = (PyObject **) 0x4081c10
next_instr = (unsigned char *) 0x1a85a93 "|"
opcode = <value optimized out>
oparg = <value optimized out>
why = <value optimized out>
err = 0
x = (PyObject *) 0x19bb748
v = (PyObject *) 0x7f8da30de440
w = (PyObject *) 0x4081920
u = (PyObject *) 0x7f8da27279e0
t = <value optimized out>
stream = <value optimized out>
freevars = (PyObject **) 0x4081bf8
retval = (PyObject *) 0x0
tstate = (PyThreadState *) 0x19b3620
co = (PyCodeObject *) 0x7f8da30ccf30
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = <value optimized out>
names = (PyObject *) 0x1a54fc0
consts = (PyObject *) 0x1a4d2a0
#29 0x000000000049313d in PyEval_EvalCodeEx (co=0x7f8da30ccf30, globals=<value
optimized out>, locals=<value optimized out>, args=0x3f56d20, argcount=4,
kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2838
f = (PyFrameObject *) 0x4081950
retval = (PyObject *) 0x4
freevars = (PyObject **) 0x4081bf8
tstate = (PyThreadState *) 0x19b3620
x = <value optimized out>
u = (PyObject *) 0x4
#30 0x00000000004dd632 in function_call (func=0x3f66c08, arg=0x3f56d08, kw=0x0)
at ../Objects/funcobject.c:517
result = <value optimized out>
argdefs = <value optimized out>
d = (PyObject **) 0x0
nk = <value optimized out>
nd = 0
#31 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#32 0x000000000041f658 in instancemethod_call (func=0x3f66c08, arg=0x3f56d08,
kw=0x0) at ../Objects/classobject.c:2519
self = (PyObject *) 0x3f60f50
klass = (PyObject *) 0x3
result = <value optimized out>
#33 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#34 0x0000000000465ca6 in slot_tp_init (self=0x3f60f50, args=0x3f63500,
kwds=0x0) at ../Objects/typeobject.c:4943
meth = (PyObject *) 0x39e5460
res = <value optimized out>
init_str = (PyObject *) 0x7f8da31799c0
#35 0x000000000046dfdb in type_call (type=0x3fd7c70, args=0x3f63500, kwds=0x0)
at ../Objects/typeobject.c:436
obj = (PyObject *) 0x3f60f50
#36 0x00000000004187b3 in PyObject_Call (func=0x0, arg=0x7f8da317fdc8,
kw=0x1a1a960) at ../Objects/abstract.c:1861
result = <value optimized out>
call = (ternaryfunc) 0
#37 0x000000000048fef2 in PyEval_EvalFrameEx (f=0x1a64170, throwflag=<value
optimized out>) at ../Python/ceval.c:3786
sp = (PyObject **) 0x1a642f0
stack_pointer = (PyObject **) 0x1a64308
next_instr = (unsigned char *) 0x1a4d1ce "ZV"
opcode = <value optimized out>
oparg = <value optimized out>
why = <value optimized out>
err = 0
x = (PyObject *) 0x7f8da30c7390
v = (PyObject *) 0x19d6550
w = (PyObject *) 0x7f8da30da998
u = (PyObject *) 0x7f8da27279e0
t = <value optimized out>
stream = <value optimized out>
freevars = (PyObject **) 0x1a642e8
retval = (PyObject *) 0x0
tstate = (PyThreadState *) 0x19b3620
co = (PyCodeObject *) 0x7f8da30df4e0
instr_ub = -1
instr_lb = 0
instr_prev = -1
first_instr = <value optimized out>
names = (PyObject *) 0x1a688e0
consts = (PyObject *) 0x1a477b0
#38 0x000000000049313d in PyEval_EvalCodeEx (co=0x7f8da30df4e0, globals=<value
optimized out>, locals=<value optimized out>, args=0x0, argcount=0, kws=0x0,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2838
f = (PyFrameObject *) 0x1a64170
retval = (PyObject *) 0x0
freevars = (PyObject **) 0x1a642e8
tstate = (PyThreadState *) 0x19b3620
x = <value optimized out>
u = (PyObject *) 0x0
#39 0x0000000000493332 in PyEval_EvalCode (co=0x0, globals=0x7f8da317fdc8,
locals=0x1a1a960) at ../Python/ceval.c:494
No locals.
#40 0x00000000004b2ce8 in PyRun_FileExFlags (fp=0x19b3350,
filename=0x7fffab1ee578 "RunDV3D.py", start=<value optimized out>,
globals=0x19d6550, locals=0x19d6550, closeit=1, flags=0x7fffab1ed250) at
../Python/pythonrun.c:1273
ret = (PyObject *) 0x0
mod = <value optimized out>
arena = <value optimized out>
#41 0x00000000004b2f8b in PyRun_SimpleFileExFlags (fp=0x19b3350,
filename=0x7fffab1ee578 "RunDV3D.py", closeit=1, flags=0x7fffab1ed250) at
../Python/pythonrun.c:879
m = <value optimized out>
d = (PyObject *) 0x19d6550
v = <value optimized out>
ext = <value optimized out>
#42 0x0000000000414542 in Py_Main (argc=1, argv=<value optimized out>) at
../Modules/main.c:532
c = <value optimized out>
sts = 0
command = 0x0
filename = 0x7f8da317fdc8 "\001"
module = 0x0
fp = (FILE *) 0x19b3350
p = <value optimized out>
inspect = 0
unbuffered = <value optimized out>
skipfirstline = 0
stdin_is_interactive = <value optimized out>
help = <value optimized out>
version = <value optimized out>
saw_inspect_flag = 0
saw_unbuffered_flag = 0
cf = {cf_flags = 0}
#43 0x00007f8da23f71a6 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#44 0x0000000000413989 in _start ()
-- System Information:
Debian Release: lenny/sid
APT prefers testing-proposed-updates
APT policy: (991, 'testing-proposed-updates'), (990, 'testing'), (600,
'unstable'), (300, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages python2.5 depends on:
ii libbz2-1.0 1.0.5-1 high-quality block-sorting file co
ii libc6 2.7-13 GNU C Library: Shared libraries
ii libdb4.5 4.5.20-13 Berkeley v4.5 Database Libraries [
ii libncursesw5 5.6+20080830-1 shared libraries for terminal hand
ii libreadline5 5.2-3 GNU readline and history libraries
ii libsqlite3-0 3.5.9-3 SQLite 3 shared library
ii libssl0.9.8 0.9.8g-13 SSL shared libraries
ii mime-support 3.44-1 MIME files 'mime.types' & 'mailcap
ii python2.5-minimal 2.5.2-11.1 A minimal subset of the Python lan
python2.5 recommends no packages.
Versions of packages python2.5 suggests:
ii python-profiler 2.5.2-1 deterministic profiling of any Pyt
ii python2.5-doc 2.5.2-2 Documentation for the high-level o
-- no debconf information
--- End Message ---