I rebuilt python-levenshtein with debugging symbols, here's a backtrace.
GNU gdb (GDB) 7.2-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/python2.7...(no debugging symbols found)...done.
(gdb) handle SIG33 pass nostop noprint
Signal Stop Print Pass to program Description
SIG33 No No Yes Real-time event 33
(gdb) set pagination 0
(gdb) run
Starting program: /usr/bin/python2.7
[Thread debugging using libthread_db enabled]
Python 2.7.1+ (default, May 20 2011, 18:13:04)
[GCC 4.6.1 20110507 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> >>>
Program received signal SIGSEGV, Segmentation fault.
extract_stringlist (list=0xb7bd5ae8, name=0xb7fd9a43 "seqratio", n=3,
sizelist=0xbfffe7e0, strlist=0xbfffe7d8) at Levenshtein.c:1145
1145 if (PyObject_TypeCheck(first, &PyString_Type)) {
(gdb) backtrace full
#0 extract_stringlist (list=0xb7bd5ae8, name=0xb7fd9a43 "seqratio", n=3,
sizelist=0xbfffe7e0, strlist=0xbfffe7d8) at Levenshtein.c:1145
i = <value optimized out>
first = 0xa093d0a3
#1 0xb7fd151e in setseq_common (args=<value optimized out>, name=0xb7fd9a43
"seqratio", foo=..., lensum=0xbfffe83c) at Levenshtein.c:1298
n1 = 3
n2 = 3
strings1 = 0x0
strings2 = 0x0
sizes1 = 0x0
sizes2 = 0x0
strlist1 = 0xb7bd5ae8
strlist2 = 0xb7b96ed8
strseq1 = 0xb7b8e6cc
strseq2 = <value optimized out>
stringtype1 = <value optimized out>
stringtype2 = <value optimized out>
r = -1
#2 0xb7fd62a9 in seqratio_py (self=0x0, args=0xb7ba394c) at Levenshtein.c:1230
lensum = <value optimized out>
r = <value optimized out>
#3 0x080f989b in PyEval_EvalFrameEx ()
No symbol table info available.
#4 0x080ff8a4 in PyEval_EvalCodeEx ()
No symbol table info available.
#5 0x08100237 in PyEval_EvalCode ()
No symbol table info available.
#6 0x0811ce20 in ?? ()
No symbol table info available.
#7 0x0811e979 in PyRun_InteractiveOneFlags ()
No symbol table info available.
#8 0x0811eb15 in PyRun_InteractiveLoopFlags ()
No symbol table info available.
#9 0x0811edde in PyRun_AnyFileExFlags ()
No symbol table info available.
#10 0x0812e472 in Py_Main ()
No symbol table info available.
#11 0x0806026b in main ()
No symbol table info available.
(gdb) info registers
eax 0x827bec0 136822464
ecx 0xb7b8e40c -1212619764
edx 0xb7fd9a43 -1208116669
ebx 0xb7fde110 -1208098544
esp 0xbfffe740 0xbfffe740
ebp 0xb7fd06b0 0xb7fd06b0
esi 0xb7bd5ae8 -1212327192
edi 0xa093d0a3 -1600925533
eip 0xb7fd0df3 0xb7fd0df3 <extract_stringlist+51>
eflags 0x210293 [ CF AF SF IF RF ID ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
(gdb) x/16i $pc
=> 0xb7fd0df3 <extract_stringlist+51>: mov 0x4(%edi),%eax
0xb7fd0df6 <extract_stringlist+54>: cmp -0x8(%ebx),%eax
0xb7fd0dfc <extract_stringlist+60>: je 0xb7fd0ef8
<extract_stringlist+312>
0xb7fd0e02 <extract_stringlist+66>: mov -0x8(%ebx),%edx
0xb7fd0e08 <extract_stringlist+72>: mov %eax,(%esp)
0xb7fd0e0b <extract_stringlist+75>: mov %edx,0x4(%esp)
0xb7fd0e0f <extract_stringlist+79>: call 0xb7fcedc8 <PyType_IsSubtype@plt>
0xb7fd0e14 <extract_stringlist+84>: test %eax,%eax
0xb7fd0e16 <extract_stringlist+86>: jne 0xb7fd0ef8
<extract_stringlist+312>
0xb7fd0e1c <extract_stringlist+92>: mov 0x4(%edi),%eax
0xb7fd0e1f <extract_stringlist+95>: cmp -0x14(%ebx),%eax
0xb7fd0e25 <extract_stringlist+101>: je 0xb7fd0e41
<extract_stringlist+129>
0xb7fd0e27 <extract_stringlist+103>: mov -0x14(%ebx),%edx
0xb7fd0e2d <extract_stringlist+109>: mov %eax,(%esp)
0xb7fd0e30 <extract_stringlist+112>: mov %edx,0x4(%esp)
0xb7fd0e34 <extract_stringlist+116>: call 0xb7fcedc8 <PyType_IsSubtype@plt>
(gdb) thread apply all backtrace
Thread 1 (Thread 0xb7c4e6c0 (LWP 8908)):
#0 extract_stringlist (list=0xb7bd5ae8, name=0xb7fd9a43 "seqratio", n=3,
sizelist=0xbfffe7e0, strlist=0xbfffe7d8) at Levenshtein.c:1145
#1 0xb7fd151e in setseq_common (args=<value optimized out>, name=0xb7fd9a43
"seqratio", foo=..., lensum=0xbfffe83c) at Levenshtein.c:1298
#2 0xb7fd62a9 in seqratio_py (self=0x0, args=0xb7ba394c) at Levenshtein.c:1230
#3 0x080f989b in PyEval_EvalFrameEx ()
#4 0x080ff8a4 in PyEval_EvalCodeEx ()
#5 0x08100237 in PyEval_EvalCode ()
#6 0x0811ce20 in ?? ()
#7 0x0811e979 in PyRun_InteractiveOneFlags ()
#8 0x0811eb15 in PyRun_InteractiveLoopFlags ()
#9 0x0811edde in PyRun_AnyFileExFlags ()
#10 0x0812e472 in Py_Main ()
#11 0x0806026b in main ()
(gdb) quit
A debugging session is active.
Inferior 1 [process 8908] will be killed.
Quit anyway? (y or n)
Kind regards,
Ryan
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]