The behaviour I saw (32-bit only) was a python process getting stuck.
I got this from strace:
...
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0xb5acc000, FUTEX_WAIT, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
...
And this from gdb:
(gdb) bt
#0 0xb76fbc5d in __kernel_vsyscall ()
#1 0xb74af2a4 in sem_wait () from /lib/libpthread.so.0
#2 0xb69a5429 in ?? () from /usr/lib/python2.7/lib-dynload/_multiprocessing.so
#3 0xb75a262e in call_function (oparg=<optimized out>, pp_stack=0xbfb7f038) at Python/ceval.c:4033
#4 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#5 0xb75a2f7d in PyEval_EvalCodeEx (co=<optimized out>, globals=
{'Queue': <type at remote 0xb69c43dc>, 'atexit': <module at remote 0xb6d369bc>, 'Semaphore': <type at remote 0xb69b978c>, 'Empty': <type at remote 0xb69b902c>, 'Full': <type at remote 0xb69b9204>, 'SimpleQueue': <type at remote 0xb69c478c>, 'assert_spawning': <function at remote 0xb69ba684>, '__all__': ['Queue', 'SimpleQueue', 'JoinableQueue'], '_multiprocessing': <module at remote 0xb6c16944>, '_sentinel': <object at remote 0xb726f4d0>, '__package__': 'multiprocessing', 'collections': <module at remote 0xb71bce3c>, '__doc__': None, 'Condition': <type at remote 0xb69c402c>, 'JoinableQueue': <type at remote 0xb69c45b4>, '__builtins__': {'bytearray': <type at remote 0xb76c27e0>, 'IndexError': <type at remote 0xb76c6900>, 'all': <built-in function all>, 'help': <_Helper at remote 0xb71f824c>, 'vars': <built-in function vars>, 'SyntaxError': <type at remote 0xb76c6c80>, 'unicode': <type at remote 0xb76d6c00>, 'UnicodeDecodeError': <type at remote 0xb76c6420>, 'memoryview': <type at remote 0xb76cdda0>, 'isinstance...(truncated), locals=0x0, args=0xb535f5cc, argcount=2, kws=0xb535f5d4, kwcount=0, defs=0xb69b6058, defcount=2, closure=0x0) at Python/ceval.c:3265
#6 0xb75a0f3d in fast_function (nk=0, na=<optimized out>, n=2, pp_stack=0xbfb7f178, func=<function at remote 0xb69c51b4>) at Python/ceval.c:4129
#7 call_function (oparg=<optimized out>, pp_stack=0xbfb7f178) at Python/ceval.c:4054
#8 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
...
(gdb) py-bt
#4 Frame 0xb536602c, for file /usr/lib/python2.7/multiprocessing/queues.py, line 101, in put (self=<Queue(_writer=<_multiprocessing.Connection at remote 0x96878c8>, _recv=<built-in method recv of _multiprocessing.Connection object at remote 0x967ddc8>, _thread=None, _sem=<BoundedSemaphore(release=<built-in method release of _multiprocessing.SemLock object at remote 0xb53427c0>, acquire=<built-in method acquire of _multiprocessing.SemLock object at remote 0xb53427c0>, _semlock=<_multiprocessing.SemLock at remote 0xb53427c0>) at remote 0xb53425cc>, _buffer=<collections.deque at remote 0xb533f844>, _closed=False, _send=<built-in method send of _multiprocessing.Connection object at remote 0x96878c8>, _jointhread=None, _reader=None, _opid=3752, _rlock=<Lock(release=<built-in method release of _multiprocessing.SemLock object at remote 0xb5342420>, acquire=<built-in method acquire of _multiprocessing.SemLock object at remote 0xb5342420>, _semlock=<_multiprocessing.SemLock at remote 0xb5342420>) at remote 0xb534240c>, _...(truncated)
... |