Aaron Staley <usaa...@gmail.com> added the comment:

Active extension modules are MySQL-python, numpy, and crypto.

Here is the output from the non-optimized debug build. Slightly different 
trace, but still some sort of deallocator crashing AFAIK:


#0  0x000000000046247c in _Py_ForgetReference (op=
    <Channel(origin_addr=None, in_window_size=65536, in_window_threshold=6553, 
lock=<thread.lock at remote 0x571bf90>, _pipe=None, eof_received=0, 
in_max_packet_size=34816, out_buffer_cv=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x571bf90>, acquire=<built-in method 
acquire of thread.lock object at remote 0x571bf90>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x571bf90>) at 
remote 0x593d3e0>, event=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0x59138b0>, acquire=<built-in method acquire of thread.lock object at 
remote 0x59138b0>, _Condition__waiters=[], release=<built-in method release of 
thread.lock object at remote 0x59138b0>) at remote 0x5a333e0>) at remote 
0x593ded0>, transport=<Transport(_Thread__ident=140009885591296, 
host_key_type='ssh-rsa', _channels=<ChannelMap(_lock=<thread.lock at remote 
0x5928f90>,
  _map=<WeakValueDictionary(_re...(truncated)) at Objects/object.c:2220
#1  0x00000000004624ed in _Py_Dealloc (op=
    <Channel(origin_addr=None, in_window_size=65536, in_window_threshold=6553, 
lock=<thread.lock at remote 0x571bf90>, _pipe=None, eof_received=0, 
in_max_packet_size=34816, out_buffer_cv=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x571bf90>, acquire=<built-in method 
acquire of thread.lock object at remote 0x571bf90>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x571bf90>) at 
remote 0x593d3e0>, event=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0x59138b0>, acquire=<built-in method acquire of thread.lock object at 
remote 0x59138b0>, _Condition__waiters=[], release=<built-in method release of 
thread.lock object at remote 0x59138b0>) at remote 0x5a333e0>) at remote 
0x593ded0>, transport=<Transport(_Thread__ident=140009885591296, 
host_key_type='ssh-rsa', _channels=<ChannelMap(_lock=<thread.lock at remote 
0x5928f90>,
  _map=<WeakValueDictionary(_re...(truncated)) at Objects/object.c:2240
#2  0x0000000000442244 in list_dealloc (op=0x66d7ab0) at 
Objects/listobject.c:309
#3  0x00000000004624fa in _Py_Dealloc (op=
    [<Channel(origin_addr=None, in_window_size=65536, in_window_threshold=6553, 
lock=<thread.lock at remote 0x571bf90>, _pipe=None, eof_received=0, 
in_max_packet_size=34816, out_buffer_cv=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x571bf90>, acquire=<built-in method 
acquire of thread.lock object at remote 0x571bf90>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x571bf90>) at 
remote 0x593d3e0>, event=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0x59138b0>, acquire=<built-in method acquire of thread.lock object at 
remote 0x59138b0>, _Condition__waiters=[], release=<built-in method release of 
thread.lock object at remote 0x59138b0>) at remote 0x5a333e0>) at remote 
0x593ded0>, transport=<Transport(_Thread__ident=140009885591296, 
host_key_type='ssh-rsa', _channels=<ChannelMap(_lock=<thread.lock at remote 
0x5928f90>
 , _map=<WeakValueDictionary(_r...(truncated)) at Objects/object.c:2241
#4  0x0000000000448bc4 in listiter_next (it=0x5d1c530) at 
Objects/listobject.c:2917
#5  0x00000000004ce425 in PyEval_EvalFrameEx (f=
    Frame 0x7f56a050aea0, for file 
/usr/lib/python2.7/dist-packages/paramiko/transport.py, line 1586, in run 
(self=<Transport(_Thread__ident=140009885591296, host_key_type='ssh-rsa', 
_channels=<ChannelMap(_lock=<thread.lock at remote 0x5928f90>, 
_map=<WeakValueDictionary(_remove=<function at remote 0x56355a0>, data={}) at 
remote 0x5939588>) at remote 0x5912bc0>, lock=<thread.lock at remote 
0x5928d60>, _Thread__started=<_Event(_Verbose__verbose=False, 
_Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x521ff40>, acquire=<built-in method 
acquire of thread.lock object at remote 0x521ff40>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x521ff40>) at 
remote 0x5223300>) at remote 0x47f56f0>, _channel_counter=22, active=False, 
_preferred_compression=('none',), server_object=None, kex_engine=None, 
log_name='paramiko.transport', _x11_handler=None, remote_compression='none', 
_Thread__initiali
 zed=True, server_accepts=[], s...(truncated), throwflag=0) at 
Python/ceval.c:2497
#6  0x00000000004d41c3 in fast_function (func=<function at remote 0x4716300>, 
pp_stack=0x7f56977ed400, n=1, na=1, nk=0) at Python/ceval.c:4099
#7  0x00000000004d3ed3 in call_function (pp_stack=0x7f56977ed400, oparg=0) at 
Python/ceval.c:4034
#8  0x00000000004cec2b in PyEval_EvalFrameEx (f=
    Frame 0x5756c40, for file /root/python2.7-2.7.2/Lib/threading.py, line 552, 
in __bootstrap_inner (self=<Transport(_Thread__ident=140009885591296, 
host_key_type='ssh-rsa', _channels=<ChannelMap(_lock=<thread.lock at remote 
0x5928f90>, _map=<WeakValueDictionary(_remove=<function at remote 0x56355a0>, 
data={}) at remote 0x5939588>) at remote 0x5912bc0>, lock=<thread.lock at 
remote 0x5928d60>, _Thread__started=<_Event(_Verbose__verbose=False, 
_Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x521ff40>, acquire=<built-in method 
acquire of thread.lock object at remote 0x521ff40>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x521ff40>) at 
remote 0x5223300>) at remote 0x47f56f0>, _channel_counter=22, active=False, 
_preferred_compression=('none',), server_object=None, kex_engine=None, 
log_name='paramiko.transport', _x11_handler=None, remote_compression='none', 
_Thread__initialized=True
 , server_accepts=[], saved_exc...(truncated), throwflag=0) at 
Python/ceval.c:2666
#9  0x00000000004d41c3 in fast_function (func=<function at remote 0x16ff060>, 
pp_stack=0x7f56977ed760, n=1, na=1, nk=0) at Python/ceval.c:4099
#10 0x00000000004d3ed3 in call_function (pp_stack=0x7f56977ed760, oparg=0) at 
Python/ceval.c:4034
#11 0x00000000004cec2b in PyEval_EvalFrameEx (f=
    Frame 0x53b9380, for file /root/python2.7-2.7.2/Lib/threading.py, line 525, 
in __bootstrap (self=<Transport(_Thread__ident=140009885591296, 
host_key_type='ssh-rsa', _channels=<ChannelMap(_lock=<thread.lock at remote 
0x5928f90>, _map=<WeakValueDictionary(_remove=<function at remote 0x56355a0>, 
data={}) at remote 0x5939588>) at remote 0x5912bc0>, lock=<thread.lock at 
remote 0x5928d60>, _Thread__started=<_Event(_Verbose__verbose=False, 
_Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x521ff40>, acquire=<built-in method 
acquire of thread.lock object at remote 0x521ff40>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x521ff40>) at 
remote 0x5223300>) at remote 0x47f56f0>, _channel_counter=22, active=False, 
_preferred_compression=('none',), server_object=None, kex_engine=None, 
log_name='paramiko.transport', _x11_handler=None, remote_compression='none', 
_Thread__initialized=True, serv
 er_accepts=[], saved_exception...(truncated), throwflag=0) at 
Python/ceval.c:2666
#12 0x00000000004d1533 in PyEval_EvalCodeEx (co=0x16cb510, globals=
    {'current_thread': <function at remote 0x16ffe28>, '_BoundedSemaphore': 
<type at remote 0x1680cd0>, 'currentThread': <function at remote 0x16ffe28>, 
'_Timer': <type at remote 0x1682640>, '_format_exc': <function at remote 
0x1538e28>, 'Semaphore': <function at remote 0x16fc840>, 'activeCount': 
<function at remote 0x1700108>, '_profile_hook': None, '_sleep': <built-in 
function sleep>, '_trace_hook': None, 'ThreadError': <type at remote 
0x165f7f0>, '_enumerate': <function at remote 0x17001b0>, '_start_new_thread': 
<built-in function start_new_thread>, 'BoundedSemaphore': <function at remote 
0x16fcf78>, '_shutdown': <instancemethod at remote 0x14a2960>, '__all__': 
['activeCount', 'active_count', 'Condition', 'currentThread', 'current_thread', 
'enumerate', 'Event', 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 
'Thread', 'Timer', 'setprofile', 'settrace', 'local', 'stack_size'], '_Event': 
<type at remote 0x1681730>, 'active_count': <function at remote 0x1700108>, 
'__package__': Non
 e, '_Condition': <type at remo...(truncated), locals=0x0, args=0x475f088, 
argcount=1, kws=0x0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:3253
#13 0x000000000055c7e9 in function_call (func=<function at remote 0x16feed0>, 
arg=
    (<Transport(_Thread__ident=140009885591296, host_key_type='ssh-rsa', 
_channels=<ChannelMap(_lock=<thread.lock at remote 0x5928f90>, 
_map=<WeakValueDictionary(_remove=<function at remote 0x56355a0>, data={}) at 
remote 0x5939588>) at remote 0x5912bc0>, lock=<thread.lock at remote 
0x5928d60>, _Thread__started=<_Event(_Verbose__verbose=False, 
_Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x521ff40>, acquire=<built-in method 
acquire of thread.lock object at remote 0x521ff40>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x521ff40>) at 
remote 0x5223300>) at remote 0x47f56f0>, _channel_counter=22, active=False, 
_preferred_compression=('none',), server_object=None, kex_engine=None, 
log_name='paramiko.transport', _x11_handler=None, remote_compression='none', 
_Thread__initialized=True, server_accepts=[], 
saved_exception=exceptions.EOFError(), 
packetizer=<Packetizer(_Packetizer__remain
 der='', _Packetizer__block_siz...(truncated), kw=0x0) at 
Objects/funcobject.c:526
#14 0x0000000000420ae3 in PyObject_Call (func=<function at remote 0x16feed0>, 
arg=
    (<Transport(_Thread__ident=140009885591296, host_key_type='ssh-rsa', 
_channels=<ChannelMap(_lock=<thread.lock at remote 0x5928f90>, 
_map=<WeakValueDictionary(_remove=<function at remote 0x56355a0>, data={}) at 
remote 0x5939588>) at remote 0x5912bc0>, lock=<thread.lock at remote 
0x5928d60>, _Thread__started=<_Event(_Verbose__verbose=False, 
_Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x521ff40>, acquire=<built-in method 
acquire of thread.lock object at remote 0x521ff40>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x521ff40>) at 
remote 0x5223300>) at remote 0x47f56f0>, _channel_counter=22, active=False, 
_preferred_compression=('none',), server_object=None, kex_engine=None, 
log_name='paramiko.transport', _x11_handler=None, remote_compression='none', 
_Thread__initialized=True, server_accepts=[], 
saved_exception=exceptions.EOFError(), 
packetizer=<Packetizer(_Packetizer__remain
 der='', _Packetizer__block_siz...(truncated), kw=0x0) at 
Objects/abstract.c:2529
#15 0x000000000042b35f in instancemethod_call (func=<function at remote 
0x16feed0>, arg=
    (<Transport(_Thread__ident=140009885591296, host_key_type='ssh-rsa', 
_channels=<ChannelMap(_lock=<thread.lock at remote 0x5928f90>, 
_map=<WeakValueDictionary(_remove=<function at remote 0x56355a0>, data={}) at 
remote 0x5939588>) at remote 0x5912bc0>, lock=<thread.lock at remote 
0x5928d60>, _Thread__started=<_Event(_Verbose__verbose=False, 
_Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x521ff40>, acquire=<built-in method 
acquire of thread.lock object at remote 0x521ff40>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x521ff40>) at 
remote 0x5223300>) at remote 0x47f56f0>, _channel_counter=22, active=False, 
_preferred_compression=('none',), server_object=None, kex_engine=None, 
log_name='paramiko.transport', _x11_handler=None, remote_compression='none', 
_Thread__initialized=True, server_accepts=[], 
saved_exception=exceptions.EOFError(), 
packetizer=<Packetizer(_Packetizer__remain
 der='', _Packetizer__block_siz...(truncated), kw=0x0) at 
Objects/classobject.c:2578
#16 0x0000000000420ae3 in PyObject_Call (func=<instancemethod at remote 
0x59377e0>, arg=(), kw=0x0) at Objects/abstract.c:2529
#17 0x00000000004d3496 in PyEval_CallObjectWithKeywords (func=<instancemethod 
at remote 0x59377e0>, arg=(), kw=0x0) at Python/ceval.c:3882
#18 0x000000000051e193 in t_bootstrap (boot_raw=0x3828988) at 
./Modules/threadmodule.c:614
#19 0x00007f56b1f17efc in start_thread () from 
/lib/x86_64-linux-gnu/libpthread.so.0
#20 0x00007f56b15c789d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#21 0x0000000000000000 in ?? ()


The op object is empty, which caused the segfault:

(gdb) f 0
2220            op->_ob_prev->_ob_next != op || op->_ob_next->_ob_prev != op)
(gdb) p *op
$5 = {_ob_next = 0x0, _ob_prev = 0x0, ob_refcnt = 0, ob_type = 0x3c6d9f0}


I believe this is the python decoded version?:
(gdb) p op
$18 = 
    <Channel(origin_addr=None, in_window_size=65536, in_window_threshold=6553, 
lock=<thread.lock at remote 0x571bf90>, _pipe=None, eof_received=0, 
in_max_packet_size=34816, out_buffer_cv=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0x571bf90>, acquire=<built-in method 
acquire of thread.lock object at remote 0x571bf90>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0x571bf90>) at 
remote 0x593d3e0>, event=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0x59138b0>, acquire=<built-in method acquire of thread.lock object at 
remote 0x59138b0>, _Condition__waiters=[], release=<built-in method release of 
thread.lock object at remote 0x59138b0>) at remote 0x5a333e0>) at remote 
0x593ded0>, transport=<Transport(_Thread__ident=140009885591296, 
host_key_type='ssh-rsa', _channels=<ChannelMap(_lock=<thread.lock at remote 
0x5928f90>,
  _map=<WeakValueDictionary(_re...(truncated

Possibly useful?

(gdb) p (void*)op
$31 = (void *) 0x593bd80
(gdb) p &refchain
$32 = <unknown at remote 0x7e8ca0>


Possibly a double free?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13992>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to