esnme/ultramysql

Segmentation fault

Opened this issue · 2 comments

The backtrace is:
#0 0x00007fffe02f033c in API_resultRowValue (result=0x920ae8, column=2, ti=0x33405d0, value=0x2 <Address 0x2 out of bounds>, cbValue=1) at ./python/umysql.c:665
#1 0x7d2928657a697365 in ?? ()
#2 0x732e736968742c29 in ?? ()
#3 0x6576655f65706977 in ?? ()
#4 0x003f00002873746e in ?? ()
#5 0x00fd003f50891a0c in ?? ()
#6 0x5009000300215009 in ?? ()
#7 0x00214008fffd003f in ?? ()
#8 0x000c003f40080003 in ?? ()
#9 0x40087ffd003f0080 in ?? ()
#10 0x0021000000fd0021 in ?? ()
#11 0x00fd0021400829fd in ?? ()
#12 0x400800fd00214008 in ?? ()
#13 0x00007fffe02f0021 in API_connectSocket (sock=0x920ae8, host=0x2 <Address 0x2 out of bounds>, port=53741008) at ./python/io_cpython.c:211
#14 0x0000000010250a50 in ?? ()
#15 0x0000000017c6a8a0 in ?? ()
#16 0x0000000000000003 in ?? ()
#17 0x0000000000000009 in ?? ()
#18 0x0000000000000006 in ?? ()
#19 0x0000000000000006 in ?? ()
#20 0x0000000000000010 in ?? ()
#21 0x0000000000000010 in ?? ()
#22 0x0000000092dc29c0 in ?? ()
#23 0x00007fffffff8af0 in ?? ()
#24 0x0000000000000064 in ?? ()
#25 0x00000000fffffffd in ?? ()
#26 0x000000000000000f in ?? ()
#27 0x000000001eef29f0 in ?? ()
#28 0x0000000010250a50 in ?? ()
#29 0x00000000102480d0 in ?? ()
#30 0x00007fffe02f091d in Connection_query (self=0x920ae8, args=0x2) at ./python/umysql.c:1223
#31 0x00000000004495a7 in vgetargs1 (args=0x920ae8, format=0x2 <Address 0x2 out of bounds>) at Objects/methodobject.c:81
#32 PyArg_ParseTuple (args=0x920ae8, format=0x2 <Address 0x2 out of bounds>) at Python/getargs.c:85
#33 0x000000000044d008 in PyEval_EvalFrameEx (f=0x920ae8, throwflag=2) at Python/ceval.c:2666
#34 0x00000000005c2d7e in PyEval_EvalCodeEx (co=0x920ae8, globals=0x2, locals=0x33405d0, args=0x2, argcount=1, kws=0x59ba28, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253
#35 0x00000000005cca1a in function_call (func=0x920ae8, arg=0x2, kw=0x33405d0) at Objects/funcobject.c:526
#36 0x00000000005c0592 in ext_do_call (func=0x920ae8, pp_stack=0x2, flags=53741008, na=2, nk=1) at Objects/abstract.c:2529
#37 0x00000000004501d5 in normalizestring (encoding=0x920ae8 "\nh") at Python/ceval.c:2705
#38 _PyCodec_Lookup (encoding=0x920ae8 "\nh") at Python/codecs.c:112
#39 0x00000000005c2d7e in PyEval_EvalCodeEx (co=0x920ae8, globals=0x2, locals=0x33405d0, args=0x2, argcount=1, kws=0x59ba28, kwcount=0, defs=0x0, defcount=0, closure=0x1630310) at Python/ceval.c:3253
#40 0x000000000044a02b in fast_function (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4117
#41 call_function (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4042
#42 0x000000000044d008 in PyEval_EvalFrameEx (f=0x920ae8, throwflag=2) at Python/ceval.c:2666
#43 0x00000000005c2d7e in PyEval_EvalCodeEx (co=0x920ae8, globals=0x2, locals=0x33405d0, args=0x2, argcount=1, kws=0x59ba28, kwcount=1, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253
#44 0x00000000005cca1a in function_call (func=0x920ae8, arg=0x2, kw=0x33405d0) at Objects/funcobject.c:526
#45 0x00000000005c0592 in ext_do_call (func=0x920ae8, pp_stack=0x2, flags=53741008, na=2, nk=1) at Objects/abstract.c:2529
#46 0x00000000004501d5 in normalizestring (encoding=0x920ae8 "\nh") at Python/ceval.c:2705
#47 _PyCodec_Lookup (encoding=0x920ae8 "\nh") at Python/codecs.c:112
#48 0x0000000000449531 in PyTuple_New (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4107
#49 load_args (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4191
#50 call_function (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4019
#51 0x000000000044d008 in PyEval_EvalFrameEx (f=0x920ae8, throwflag=2) at Python/ceval.c:2666
#52 0x0000000000449531 in PyTuple_New (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4107
#53 load_args (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4191

---Type to continue, or q to quit---
#54 call_function (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4019
#55 0x000000000044d008 in PyEval_EvalFrameEx (f=0x920ae8, throwflag=2) at Python/ceval.c:2666
#56 0x0000000000449531 in PyTuple_New (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4107
#57 load_args (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4191
#58 call_function (pp_stack=0x920ae8, oparg=2) at Python/ceval.c:4019
#59 0x000000000044d008 in PyEval_EvalFrameEx (f=0x920ae8, throwflag=2) at Python/ceval.c:2666
#60 0x00000000005c2d7e in PyEval_EvalCodeEx (co=0x920ae8, globals=0x2, locals=0x33405d0, args=0x2, argcount=1, kws=0x59ba28, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3253
#61 0x00000000005cca1a in function_call (func=0x920ae8, arg=0x2, kw=0x33405d0) at Objects/funcobject.c:526
#62 0x00000000005d028e in PyTuple_New (func=0x920ae8, arg=0x2, kw=0x33405d0) at Objects/abstract.c:2529
#63 instancemethod_call (func=0x920ae8, arg=0x2, kw=0x33405d0) at Objects/classobject.c:2589
#64 0x00000000005de33f in PyObject_Call (exc=0x920ae8, val=0x2, tb=0x33405d0) at Objects/abstract.c:2529
#65 PyEval_CallObjectWithKeywords (exc=0x920ae8, val=0x2, tb=0x33405d0) at Python/ceval.c:3890
#66 PyObject_Call (exc=0x920ae8, val=0x2, tb=0x33405d0) at Python/errors.c:192
#67 0x0000000000483380 in slot_tp_call (self=0x920ae8, args=0x2, kwds=0x33405d0) at Objects/typeobject.c:5432
#68 0x00000000005dc987 in PyObject_Call (o=0x920ae8, a=0x2) at Objects/abstract.c:2529
#69 PyEval_CallObjectWithKeywords (o=0x920ae8, a=0x2) at Python/ceval.c:3890
#70 PyObject_CallObject (o=0x920ae8, a=0x2) at Objects/abstract.c:2517
#71 0x00007fffe4415cbb in app_handler (self=0x920ae8, args=0x2) at meinheld/server/server.c:540
#72 0x00000000005e3c51 in PyObject_Call (exc=0x920ae8, val=0x2, tb=0x33405d0) at Objects/abstract.c:2529
#73 PyEval_CallObjectWithKeywords (exc=0x920ae8, val=0x2, tb=0x33405d0) at Python/ceval.c:3890
#74 PyEval_CallObjectWithKeywords (exc=0x920ae8, val=0x2, tb=0x33405d0) at Python/errors.c:192
#75 0x00007fffe19acc92 in g_initialstub (mark=0x920ae8) at greenlet.c:804
#76 0x00007fffe19ac7b5 in g_switch (target=0x920ae8, args=0x2, kwargs=0x33405d0) at greenlet.c:576
#77 0x00007ffff7fff814 in ?? ()

Do you got a repro for this?

nope, for this crash, I'm compiling a debug binary and run it in gdb... no more crash yet to meet.
from this backtrace, it is mostly like a error in value parser.