*but/bug typo 2012/7/27 Evgeny Turnaev <[email protected]>: > Roberto, > As i have poor experience using python api could you please confirm > that this is a python but that this code segfaults > > ==== main.c ==== > > #include <Python.h> > #include <stdio.h> > > int main(){ > > printf("hello\n"); > Py_Initialize(); > PyThreadState *main_thread = PyThreadState_Get(); > printf("Main thread: %p\n", main_thread); > > PyObject * wsgi_module = PyImport_ImportModule("logging.config"); > if(! wsgi_module){ > printf("!wsgi_module\n"); > return 0; > } > PyObject * wsgi_dict = PyModule_GetDict(wsgi_module); > if(!wsgi_dict){ > printf("wsgi_dict\n"); > return 0; > } > printf("wsgi_dict!\n"); > PyObject * application = PyDict_GetItemString(wsgi_dict, "application"); > printf("application: %p\n", (void *)application); > > return 0; > } > > ============ end main.c ============ > > gcc ./main.c -o import_test -L/usr/lib/python2.7/config -lpython2.7 > -I/usr/include/python2.7/ > > Output > turnaev@nostromo:~/box/trunk/frontend_new/src$ ./import_test > hello > Main thread: 0x1d3c0a0 > !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! > Segmentation fault (core dumped) > > > 2012/7/27 Evgeny Turnaev <[email protected]>: >> Update. This is not gc stuff. I disabled gc and >> segfault is still reproducible in import _socket line of socket.py >> >> 2012/7/27 Evgeny Turnaev <[email protected]>: >>> No traceback :( >>> Pretty strage as i remember uwsgi sets signal handler for sigsegv. >>> Is there a way to manually provide traceback? >>> >>> Further investigation shows segfault happens in >>> >>> import _socket line in socket.py of python stdlib >>> (socket.py imported in logging) >>> Also i enabled gc.debug and it is seems gc is sollecting something before >>> segfault so think there is a pointer somethere to collected object and >>> someone is accessing it. >>> >>> Fri Jul 27 17:29:12 2012 - *** Operational MODE: preforking *** >>> gc: collecting generation 0... >>> gc: objects in each generation: 845 3122 0 >>> gc: done, 0.0004s elapsed. >>> gc: collecting generation 0... >>> gc: objects in each generation: 789 3527 0 >>> gc: done, 0.0003s elapsed. >>> gc: collecting generation 0... >>> gc: objects in each generation: 891 3809 0 >>> gc: done, 0.0006s elapsed. >>> before import _socket >>> Fri Jul 27 17:29:12 2012 - !!! uWSGI process 12119 got Segmentation Fault >>> !!! >>> >>> The strange thing also is that import logging.config works ok in >>> python interactive shell and when run as script. >>> >>> 2012/7/27 Roberto De Ioris <[email protected]>: >>>> >>>> Il giorno 27/lug/2012, alle ore 14:57, Evgeny Turnaev ha scritto: >>>> >>>>> Hello. >>>>> I experience segmentation fault with a very simple setup. >>>>> >>>>> I do: >>>>> sudo uwsgi -s /var/run/uwsgi_hypernova.sock -M -p 3 -w app >>>>> >>>>> *** Starting uWSGI 1.3-dev-2470 (64bit) on [Fri Jul 27 16:51:36 2012] *** >>>>> compiled with version: 4.6.3 on 27 July 2012 16:39:02 >>>>> os: Linux-3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:25:57 UTC 2012 >>>>> nodename: nostromo >>>>> machine: x86_64 >>>>> detected number of CPU cores: 2 >>>>> current working directory: /home/turnaev/box/trunk/frontend_new/src >>>>> detected binary path: /usr/local/bin/uwsgi >>>>> uWSGI running as root, you can use --uid/--gid/--chroot options >>>>> *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** >>>>> your memory page size is 4096 bytes >>>>> detected max file descriptor number: 1024 >>>>> lock engine: pthread robust mutexes >>>>> uwsgi socket 0 bound to UNIX address /var/run/uwsgi_hypernova.sock fd 3 >>>>> Python version: 2.7.3 (default, Apr 20 2012, 23:04:22) [GCC 4.6.3] >>>>> *** Python threads support is disabled. You can enable it with >>>>> --enable-threads *** >>>>> Python main interpreter initialized at 0x1e9f900 >>>>> your server socket listen backlog is limited to 100 connections >>>>> *** Operational MODE: preforking *** >>>>> !!! uWSGI process 11162 got Segmentation Fault !!! >>>> >>>> no c traceback after that line ? >>>> >>>> >>>> -- >>>> Roberto De Ioris >>>> http://unbit.it >>>> JID: [email protected] >>>> >>>> _______________________________________________ >>>> uWSGI mailing list >>>> [email protected] >>>> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi >>> >>> >>> >>> -- >>> -------------------------------------------- >>> Турнаев Евгений Викторович >>> +7 906 875 09 43 >>> -------------------------------------------- >> >> >> >> -- >> -------------------------------------------- >> Турнаев Евгений Викторович >> +7 906 875 09 43 >> -------------------------------------------- > > > > -- > -------------------------------------------- > Турнаев Евгений Викторович > +7 906 875 09 43 > --------------------------------------------
-- -------------------------------------------- Турнаев Евгений Викторович +7 906 875 09 43 -------------------------------------------- _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
