Il giorno 03/set/2012, alle ore 19:59, Riccardo Magliocchetti 
<[email protected]> ha scritto:

> Hello,
> 
> i have uwsgi 1.2.5 (1.2.4 too) segfault when i spool a job from the same 
> module i use to import
> the functions to spool. Any hint?
> 
> /bin/uwsgi(spool_request+0x23) [0x80859d3]
> /bin/uwsgi(py_uwsgi_send_spool+0x396) [0x8094936]
> /python266/lib/libpython2.6.so.1.0(PyCFunction_Call+0x110) [0xf7570ec0]
> /python266/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x63ff) [0xf75cf61f]
> /python266/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x818) [0xf75d0f78]
> /python266/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x5df7) [0xf75cf017]
> /python266/lib/libpython2.6.so.1.0(PyEval_EvalCodeEx+0x818) [0xf75d0f78]
> /python266/lib/libpython2.6.so.1.0(PyEval_EvalCode+0x63) [0xf75d10e3]
> /python266/lib/libpython2.6.so.1.0(PyImport_ExecCodeModuleEx+0xad) 
> [0xf75e527d]
> /python266/lib/libpython2.6.so.1.0 [0xf75e7b2c]
> /python266/lib/libpython2.6.so.1.0 [0xf75e8363]
> /python266/lib/libpython2.6.so.1.0 [0xf75e885e]
> /python266/lib/libpython2.6.so.1.0(PyImport_ImportModuleLevel+0x15d) 
> [0xf75e8b2d]
> /python266/lib/libpython2.6.so.1.0 [0xf75c7d24]
> /python266/lib/libpython2.6.so.1.0(PyCFunction_Call+0x110) [0xf7570ec0]
> /python266/lib/libpython2.6.so.1.0(PyObject_Call+0x5c) [0xf752f82c]
> /python266/lib/libpython2.6.so.1.0(PyObject_CallFunction+0x75) [0xf7532955]
> /python266/lib/libpython2.6.so.1.0(PyImport_Import+0xc5) [0xf75e9225]
> /python266/lib/libpython2.6.so.1.0(PyImport_ImportModule+0x35) [0xf75e93f5]
> /bin/uwsgi(uwsgi_python_init_apps+0xe7) [0x8088fd7]
> /bin/uwsgi(uwsgi_init_all_apps+0x58) [0x8079c58]
> /bin/uwsgi(uwsgi_start+0x1e59) [0x807c3a9]
> /bin/uwsgi(main+0xfd8) [0x807fcd8]
> 
> <uwsgi>
>  <module>myapp</module>
>  <processes>4</processes>
>  <master/>
>  <pythonpath>../</pythonpath>
>  <pythonpath>../app</pythonpath>
>  <home>../venv</home>
>  <pidfile>../uwsgi.pid</pidfile>
>  <memory-report/>
>  <logto>../uwsgi.log</logto>
>  <log-maxsize>20971520</log-maxsize>
>  <log-backupname>../uwsgi.log.old</log-backupname>
>  <touch-reload>../uwsgi.xml</touch-reload>
>  <touch-reload>../uwsgi.pid</touch-reload>
>  <cache>200</cache>
>  <cache-blocksize>4096</cache-blocksize>
>  <spooler>%d/spooler</spooler>
>  <env>DJANGO_SETTINGS_MODULE=app.settings</env>
>  
> <pymodule-alias>uwsgidecorators=../uwsgi-1.2.5/uwsgidecorators.py</pymodule-alias>
>  <import>foo.task</import>
>  <auto-procname/>
> </uwsgi>
> 
> foo.task:
> 
> # spoolforever and spool behaves the same
> from uwsgidecorators import spoolraw
> import uwsgi
> 
> @spoolraw
> def do_something(env):
>   print "hello!"
>   return uwsgi.SPOOL_RETRY
> 
> @spoolraw
> def do_something2(env):
>   print "hello 2!"
>   return uwsgi.SPOOL_RETRY
> 
> do_something.spool()
> do_something2.spool()
> 
> thanks,
> riccardo


Basically you enqueue a task from the master, while the 'spooler locking 
subsystem' is still uninitialized.

I have splitted spooler setup in two phases, in 1.3 enqueing tasks from the 
master should be legal.

Can you check that ? I can backport to 1.2 


--
Roberto De Ioris
http://unbit.it
JID: [email protected]

_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to