[Python-bugs-list] [ python-Bugs-672808 ] Interpreter assertion failure

SourceForge.net noreply@sourceforge.net
Wed, 22 Jan 2003 18:13:38 -0800


Bugs item #672808, was opened at 2003-01-22 18:33
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=672808&group_id=5470

Category: Python Interpreter Core
>Group: 3rd Party
>Status: Closed
>Resolution: Wont Fix
Priority: 5
Submitted By: Fredrik Tolf (dolda2000)
>Assigned to: Tim Peters (tim_one)
Summary: Interpreter assertion failure

Initial Comment:
I can't say I know python, I just thought I'd report
this bug which I happened to run across.
I had decided to try RedHat's hardware browser (for
helping a friend with it), which is apparently written
is python. It reports that it failed an assertion
failure in Objects/stringobject.c:111 (str != ((void
*)0)) (Side note: might I ask why you don't write "!=
NULL"?). I'm guessing that's part of the interpreter,
right?

Anyway, this is gdb's bt of the process at the time of
the abort signal:
#0  0x42028cc1 in kill () from /lib/i686/libc.so.6
#1  0x4002f07d in raise () from /lib/i686/libpthread.so.0
#2  0x4202a019 in abort () from /lib/i686/libc.so.6
#3  0x42021cd6 in __assert_fail () from /lib/i686/libc.so.6
#4  0x0805897b in PyString_FromString ()
#5  0x409e03d8 in addParallelInfo (dict=0x836b2e4,
device=0x40035e20)
    at kudzumodule.c:141
#6  0x409e0f0f in createDict (probedDevice=0x8357138)
at kudzumodule.c:319
#7  0x409e108b in doProbe (self=0x0, args=0x0) at
kudzumodule.c:362
#8  0x080ceb13 in PyCFunction_Call ()
#9  0x080796bc in eval_frame ()
#10 0x0807a10e in PyEval_EvalCodeEx ()
#11 0x0807b6a4 in fast_function ()
#12 0x08079601 in eval_frame ()
#13 0x0807a10e in PyEval_EvalCodeEx ()
#14 0x0807b6a4 in fast_function ()
#15 0x08079601 in eval_frame ()
#16 0x0807a10e in PyEval_EvalCodeEx ()
#17 0x080c21bc in function_call ()
#18 0x080b1557 in PyObject_Call ()
#19 0x080b827b in instancemethod_call ()
#20 0x080b1557 in PyObject_Call ()
#21 0x080687fa in slot_tp_init ()
---Type <return> to continue, or q <return> to quit---
#22 0x08060267 in type_call ()
#23 0x080b1557 in PyObject_Call ()
#24 0x0807b975 in do_call ()
#25 0x08079583 in eval_frame ()
#26 0x0807a10e in PyEval_EvalCodeEx ()
#27 0x08077025 in PyEval_EvalCode ()
#28 0x08096a49 in run_node ()
#29 0x080959c3 in PyRun_SimpleFileExFlags ()
#30 0x0809530a in PyRun_AnyFileExFlags ()
#31 0x0805381c in Py_Main ()
#32 0x08053269 in main ()
#33 0x420158d4 in __libc_start_main () from
/lib/i686/libc.so.6

Python was run with the arg
/usr/share/hwbrowser/DeviceList.py.
I'm guessing my version of python is compiled without
-g, so I couldn't get much more info at the time.
Maybe this bug has been resolved in a later version?

----------------------------------------------------------------------

>Comment By: Tim Peters (tim_one)
Date: 2003-01-22 21:13

Message:
Logged In: YES 
user_id=31435

stringobject.c is part of the interpreter, and the code does 
use str != NULL.  The debugger is showing you what the C 
preprocessor transformed NULL into.

PyString_FromString() is part of Python's C API, and the 
assert is verifying that its caller is calling it correctly -- it 
explicitly doesn't allow a NULL argument.  It was called by 
addParallelInfo() in kudzumodule.c, which is not part of 
Python, and must be a C extension module written for the 
app you're using.  The app is buggy if it calls 
PyString_FromString with a NULL argument, so closing this 
as 3rd-Party, WontFix (we can't fix it -- there's no sign of a 
Python bug here, and a clear sign of a bug in 
kudzumodule.c).

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=672808&group_id=5470