Sorry for using the term 'zombie'. In the context of unix it is misleading.

On Thursday, November 3, 2016 at 9:25:41 PM UTC+1, Niphlod wrote:
>
> From where I stand, if the result is the task being labelled as TIMEOUT 
> (with the corresponding "task timeout" debug line), it can only be 
> originated there.
> Maybe there's a culprit there.... can you add a p.join() after that 
> p.terminate(), and maybe a few debug lines ? 
> i.e.
>
>
> ... else:
>         if p.is_alive():
>             logger.debug(' MD: terminating')
>             p.terminate()
>             logger.debug(' MD: terminated')
>             logger.debug(' MD: joining')
>             p.join()
>             logger.debug(' MD: joined')
>             logger.debug(' task timeout')
>             try:
>             # we try to get a traceback here
>             tr = queue.get(timeout=2)
> ...
>
>
>  
Good try. I did it and got the supposed infinity waiting result.

First the pstree for your orientation (worker's focus on 29554):

[01] logs $> pstree -p 16731
> bash(16731)---python2.7(28670)-+-python2.7(28678)---{python2.7}(28679)
>                                |-python2.7(28680)-+-python2.7(29554)
>                                |                  `-{python2.7}(28681)
>                                ...
>

Next some logging lines:

11-04 07:56:47.508 [28680]   task starting CPID:29554
> ...
> ... configured timeout 30 seconds ...
> ...
> 11-04 07:57:02.510 [28680] MD: terminating
> 11-04 07:57:02.512 [28680] MD: terminated
> 11-04 07:57:02.512 [28680] MD: joining
>

I was afraid: the worker is sill waiting for joining the forked process.

And last some lines from pstack for 29554 (the function 'executor' never 
reaching):

[01] logs $> pstack 29554
> #0  0x00000030db40ce51 in sem_wait () from /lib64/libpthread.so.0
> #1  0x00002ba981e3123d in PyThread_acquire_lock () from 
> /usr/local/lib/libpython2.7.so.1.0
> #2  0x00002ba981e35202 in lock_PyThread_acquire_lock () from 
> /usr/local/lib/libpython2.7.so.1.0
> #3  0x00002ba981dfb9c9 in PyEval_EvalFrameEx () from 
> /usr/local/lib/libpython2.7.so.1.0
> ...
> #11 0x00002ba981d82252 in function_call () from 
> /usr/local/lib/libpython2.7.so.1.0
> #12 0x00002ba981d54318 in PyObject_Call () from 
> /usr/local/lib/libpython2.7.so.1.0
> ...
> #46 0x00002ba981d82252 in function_call () from 
> /usr/local/lib/libpython2.7.so.1.0
> #47 0x00002ba981d54318 in PyObject_Call () from 
> /usr/local/lib/libpython2.7.so.1.0
> #48 0x00002ba981d6499f in instancemethod_call () from 
> /usr/local/lib/libpython2.7.so.1.0
> #49 0x00002ba981d54318 in PyObject_Call () from 
> /usr/local/lib/libpython2.7.so.1.0
> #50 0x00002ba981db701c in slot_tp_init () from 
> /usr/local/lib/libpython2.7.so.1.0
> #51 0x00002ba981db0f58 in type_call () from 
> /usr/local/lib/libpython2.7.so.1.0
> ...
> #61 0x00002ba981e20f37 in PyRun_SimpleFileExFlags () from 
> /usr/local/lib/libpython2.7.so.1.0
> #62 0x00002ba981e33726 in Py_Main () from 
> /usr/local/lib/libpython2.7.so.1.0
> #63 0x00000030da81d9f4 in __libc_start_main () from /lib64/libc.so.6
> #64 0x0000000000400629 in _start ()
>

Erwn

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to