I've managed to get segmentation fault (I was just clicking around my
application, I forced few reloads of mod_wsgi by changing wsgi script,
etc.), and I was able to reproduce this few times.
Again, I've connected to it with gdb but this time I've issued command
'share' before 'bt'. Thanks to this I was able to see much more
interesting things.
WSGI script is executed, processing reaches my function (view in
Django) and exception is raised inside the view. Below is long output
of gdb. Seems to me that it is psycopg2 issue...?
In my code it is like:
class OrManager(models.Manager):
def latest(self, count=5):
latest = cache.get('latest-offers')
if latest is None:
latest = self.filter(is_active=True).order_by('-
date_added')[:count]
print >> sys.stderr, latest # <<<--------------------
THIS LINE FAILS - real execution of the SQL
I wonder whether this issue might be solved by using %{GLOBAL}?
GDB session:
(...)
(gdb) cont
Continuing.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1212707936 (LWP 9463)]
PyErr_Occurred () at Python/errors.c:80
80 Python/errors.c: No such file or directory.
in Python/errors.c
(gdb) bt
#0 PyErr_Occurred () at Python/errors.c:80
#1 0x00d65167 in _PyObject_GC_Malloc (basicsize=40) at Modules/
gcmodule.c:1326
#2 0x00d6521c in _PyObject_GC_NewVar (tp=0xd9f3c0, nitems=7) at
Modules/gcmodule.c:1352
#3 0x00cfec33 in PyTuple_New (size=7) at Objects/tupleobject.c:68
#4 0x00400dc0 in ?? ()
#5 0x00000007 in ?? ()
#6 0x00000009 in ?? ()
#7 0xb7b74aa8 in ?? ()
#8 0x00400d4e in ?? ()
#9 0x00d95980 in PyExc_IndexError () from /usr/lib/libpython2.5.so.
1.0
#10 0x00000000 in ?? ()
(gdb) share
Symbols already loaded for /lib/tls/libm.so.6
Symbols already loaded for /home2/(...)/apache2.2//lib/libaprutil-1.so.
0
Symbols already loaded for /usr/lib/libsqlite3.so.0
Symbols already loaded for /usr/lib/libexpat.so.0
Symbols already loaded for /home2/(...)/apache2.2//lib/libapr-1.so.0
Symbols already loaded for /lib/libuuid.so.1
Symbols already loaded for /lib/tls/librt.so.1
Symbols already loaded for /lib/libcrypt.so.1
Symbols already loaded for /lib/tls/libpthread.so.0
Symbols already loaded for /lib/libdl.so.2
Symbols already loaded for /lib/tls/libc.so.6
Symbols already loaded for /lib/ld-linux.so.2
Symbols already loaded for /lib/libnss_files.so.2
Symbols already loaded for /home2/(...)/apache2.2/modules/mod_wsgi.so
Symbols already loaded for /usr/lib/libpython2.5.so.1.0
Symbols already loaded for /lib/libutil.so.1
Symbols already loaded for /home2/(...)/apache2.2/modules/
mod_log_config.so
Symbols already loaded for /home2/(...)/apache2.2/modules/
mod_auth_basic.so
Symbols already loaded for /home2/(...)/apache2.2/modules/
mod_authz_user.so
Symbols already loaded for /home2/(...)/apache2.2/modules/
mod_authz_host.so
Symbols already loaded for /home2/(...)/apache2.2/modules/mod_env.so
Symbols already loaded for /home2/(...)/modules/mod_alias.so
Symbols already loaded for /home2/(...)/modules/mod_auth_tkt.so
Symbols already loaded for /home2/(...)/modules/mod_rewrite.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
time.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/time.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
collections.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/collections.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
cStringIO.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/cStringIO.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
strop.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/strop.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
cPickle.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/cPickle.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_socket.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_socket.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_ssl.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_ssl.so
Reading symbols from /lib/libssl.so.4...done.
Loaded symbols for /lib/libssl.so.4
Reading symbols from /lib/libcrypto.so.4...done.
Loaded symbols for /lib/libcrypto.so.4
Reading symbols from /usr/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libkrb5.so.3...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /lib/libcom_err.so.2...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
operator.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/operator.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
math.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/math.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
binascii.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/binascii.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_random.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_random.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
fcntl.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/fcntl.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
datetime.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/datetime.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_locale.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_locale.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_struct.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_struct.so
Reading symbols from /usr/local/lib/python2.5/site-packages/_xmlplus/
parsers/pyexpat.so...done.
Loaded symbols for /usr/local/lib/python2.5/site-packages/_xmlplus/
parsers/pyexpat.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
array.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/array.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_weakref.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_weakref.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_hashlib.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_hashlib.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_sha256.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_sha256.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_sha512.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_sha512.so
Reading symbols from /home2/(...)/lib/python2.5/psycopg2/
_psycopg.so...done.
Loaded symbols for /home2/(...)/lib/python2.5/psycopg2/_psycopg.so
Reading symbols from /usr/lib/libpq.so.5...done.
Loaded symbols for /usr/lib/libpq.so.5
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_functools.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_functools.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
itertools.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/itertools.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
_bisect.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/_bisect.so
Reading symbols from /usr/local/lib/python2.5/lib-dynload/
zlib.so...done.
Loaded symbols for /usr/local/lib/python2.5/lib-dynload/zlib.so
Reading symbols from /usr/local/lib/python2.5/site-packages/PIL/
_imaging.so...done.
Loaded symbols for /usr/local/lib/python2.5/site-packages/PIL/
_imaging.so
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
(gdb) bt
#0 PyErr_Occurred () at Python/errors.c:80
#1 0x00d65167 in _PyObject_GC_Malloc (basicsize=40) at Modules/
gcmodule.c:1326
#2 0x00d6521c in _PyObject_GC_NewVar (tp=0xd9f3c0, nitems=7) at
Modules/gcmodule.c:1352
#3 0x00cfec33 in PyTuple_New (size=7) at Objects/tupleobject.c:68
#4 0x00400dc0 in pq_fetch (curs=0xb7642ec0) at psycopg/pqpath.c:691
#5 0x004018cb in pq_execute (curs=0xb7642ec0,
query=0x88647fc "SELECT \"rek_advobject\".\"id\", \"rek_advobject
\".\"user_id\", \"rek_advobject\".\"gnmid\", \"reklamy_advobject\".
\"lata\", \"reklamy_advobject\".\"wg\","..., async=0) at psycopg/
pqpath.c:620
#6 0x00406660 in _psyco_curs_execute (self=0xb7642ec0,
operation=0x8864220, vars=0xb75e510c, async=0) at psycopg/
cursor_type.c:428
#7 0x00406b07 in psyco_curs_execute (self=0xb7642ec0,
args=0xb7650a8c, kwargs=0x0) at psycopg/cursor_type.c:483
#8 0x00ced4fa in PyCFunction_Call (func=0xb756a1ac, arg=0xb7650a8c,
kw=0x0) at Objects/methodobject.c:108
#9 0x00d366f0 in PyEval_EvalFrameEx (f=0x877e4c4, throwflag=0) at
Python/ceval.c:3566
#10 0x00d37865 in PyEval_EvalCodeEx (co=0xb7928a88,
globals=0xb79208ac, locals=0x0, args=0x87738f4, argcount=3,
kws=0x8773900, kwcount=0, defs=0xb7931758, defcount=1, closure=0x0) at
Python/ceval.c:2833
#11 0x00d3576d in PyEval_EvalFrameEx (f=0x87737a4, throwflag=0) at
Python/ceval.c:3661
#12 0x00d37865 in PyEval_EvalCodeEx (co=0xb78790b0,
globals=0xb787368c, locals=0x0, args=0x8773778, argcount=2,
kws=0x8773780, kwcount=0, defs=0xb787f098, defcount=1, closure=0x0) at
Python/ceval.c:2833
#13 0x00d3576d in PyEval_EvalFrameEx (f=0x877362c, throwflag=0) at
Python/ceval.c:3661
#14 0x00cd21ad in gen_send_ex (gen=0xb758136c, arg=0x0, exc=0) at
Objects/genobject.c:82
#15 0x00d31006 in PyEval_EvalFrameEx (f=0x8773494, throwflag=0) at
Python/ceval.c:2166
#16 0x00cd21ad in gen_send_ex (gen=0xb77aab0c, arg=0x0, exc=0) at
Objects/genobject.c:82
#17 0x00cdfe01 in listextend (self=0xb77fa6cc, b=0xb77aab0c) at
Objects/listobject.c:808
#18 0x00ce275f in list_init (self=0xb77fa6cc, args=0xb75e004c, kw=0x0)
at Objects/listobject.c:2377
#19 0x00d0057f in type_call (type=Variable "type" is not available.
) at Objects/typeobject.c:436
#20 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb75e004c,
kw=0x0) at Objects/abstract.c:1860
#21 0x00d31654 in PyEval_EvalFrameEx (f=0x8773334, throwflag=0) at
Python/ceval.c:3777
#22 0x00d37865 in PyEval_EvalCodeEx (co=0xb79049b0,
globals=0xb788d714, locals=0x0, args=0xb77ae098, argcount=1, kws=0x0,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2833
#23 0x00cdba70 in function_call (func=0xb788425c, arg=0xb77ae08c,
kw=0x0) at Objects/funcobject.c:517
#24 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb77ae08c,
kw=0x0) at Objects/abstract.c:1860
#25 0x00cc78ad in instancemethod_call (func=0xb75e8eb4,
arg=0xb77ae08c, kw=0x0) at Objects/classobject.c:2493
#26 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb7ec502c,
kw=0x0) at Objects/abstract.c:1860
#27 0x00d01081 in call_method (o=0xb758142c, name=0xd7b23f "__len__",
nameobj=0xdbcfe4, format=0xd843b0 "()") at Objects/typeobject.c:918
#28 0x00d03cb6 in slot_sq_length (self=0xb758142c) at Objects/
typeobject.c:4112
#29 0x00cb99de in PyObject_Size (o=0xdbdaec) at Objects/abstract.c:72
#30 0x00d2c5b0 in builtin_len (self=0x0, v=0xb758142c) at Python/
bltinmodule.c:1175
#31 0x00d36ad3 in PyEval_EvalFrameEx (f=0x88619b4, throwflag=0) at
Python/ceval.c:3554
#32 0x00d37125 in PyEval_EvalFrameEx (f=0x886182c, throwflag=0) at
Python/ceval.c:3652
#33 0x00d37865 in PyEval_EvalCodeEx (co=0xb7eb35c0,
globals=0xb7ea49bc, locals=0x0, args=0xb7650738, argcount=2, kws=0x0,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2833
#34 0x00cdba70 in function_call (func=0xb7eb5f7c, arg=0xb765072c,
kw=0x0) at Objects/funcobject.c:517
#35 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb765072c,
kw=0x0) at Objects/abstract.c:1860
#36 0x00d2fa04 in PyEval_CallObjectWithKeywords (func=0xb7eb5f7c,
arg=0xb765072c, kw=0x0) at Python/ceval.c:3435
#37 0x00d55381 in PyEval_CallMethod (obj=0xb7ec5584,
methodname=0xd813e3 "_reduce_ex", format=0xd813de "(Oi)") at Python/
modsupport.c:585
#38 0x00d01dab in object_reduce_ex (self=0xb758142c, args=0xb77ae06c)
at Objects/typeobject.c:2745
#39 0x00ced4fa in PyCFunction_Call (func=0xb756a16c, arg=0xb77ae06c,
kw=0x0) at Objects/methodobject.c:108
#40 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb77ae06c,
kw=0x0) at Objects/abstract.c:1860
#41 0x0028187f in save (self=0xb75e791c, args=0xb758142c, pers_save=0)
at /root/Downloads/Python-2.5/Modules/cPickle.c:2491
#42 0x00283ef0 in Pickler_dump (self=0xb75e791c, args=0xb777146c) at /
root/Downloads/Python-2.5/Modules/cPickle.c:2573
#43 0x00ced4fa in PyCFunction_Call (func=0xb756a34c, arg=0xb777146c,
kw=0x0) at Objects/methodobject.c:108
#44 0x00d366f0 in PyEval_EvalFrameEx (f=0x8861694, throwflag=0) at
Python/ceval.c:3566
#45 0x00d37125 in PyEval_EvalFrameEx (f=0x88628b4, throwflag=0) at
Python/ceval.c:3652
#46 0x00d37865 in PyEval_EvalCodeEx (co=0xb783c410,
globals=0xb782ea44, locals=0x0, args=0x8861658, argcount=6,
kws=0x8861670, kwcount=0, defs=0xb7834bf8, defcount=1, closure=0x0) at
Python/ceval.c:2833
#47 0x00d3576d in PyEval_EvalFrameEx (f=0x886150c, throwflag=0) at
Python/ceval.c:3661
#48 0x00d37865 in PyEval_EvalCodeEx (co=0xb783c2f0,
globals=0xb782ea44, locals=0x0, args=0x88626d4, argcount=4,
kws=0x88626e4, kwcount=0, defs=0xb7839b38, defcount=2, closure=0x0) at
Python/ceval.c:2833
#49 0x00d3576d in PyEval_EvalFrameEx (f=0x886258c, throwflag=0) at
Python/ceval.c:3661
#50 0x00d37865 in PyEval_EvalCodeEx (co=0xb782a968,
globals=0xb782e824, locals=0x0, args=0x884cde0, argcount=3,
kws=0x884cdec, kwcount=0, defs=0xb7839258, defcount=1, closure=0x0) at
Python/ceval.c:2833
#51 0x00d3576d in PyEval_EvalFrameEx (f=0x884cc9c, throwflag=0) at
Python/ceval.c:3661
#52 0x00d37865 in PyEval_EvalCodeEx (co=0xb772a728,
globals=0xb772d4f4, locals=0x0, args=0x88573dc, argcount=1,
kws=0x88573e0, kwcount=0, defs=0xb77d89f8, defcount=1, closure=0x0) at
Python/ceval.c:2833
#53 0x00d3576d in PyEval_EvalFrameEx (f=0x885728c, throwflag=0) at
Python/ceval.c:3661
#54 0x00d37865 in PyEval_EvalCodeEx (co=0xb7644f50,
globals=0xb7679dfc, locals=0x0, args=0x8817f40, argcount=1,
kws=0x8817f44, kwcount=1, defs=0xb758d8d8, defcount=1, closure=0x0) at
Python/ceval.c:2833
#55 0x00d3576d in PyEval_EvalFrameEx (f=0x8817df4, throwflag=0) at
Python/ceval.c:3661
#56 0x00d37865 in PyEval_EvalCodeEx (co=0xb7644f08,
globals=0xb7679dfc, locals=0x0, args=0xb7ea5c18, argcount=1,
kws=0x87dc948, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/
ceval.c:2833
#57 0x00cdba70 in function_call (func=0xb75890d4, arg=0xb7ea5c0c,
kw=0xb756957c) at Objects/funcobject.c:517
---Type <return> to continue, or q <return> to quit---
#58 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb7ea5c0c,
kw=0xb756957c) at Objects/abstract.c:1860
#59 0x00d3434b in PyEval_EvalFrameEx (f=0x86c9234, throwflag=0) at
Python/ceval.c:3846
#60 0x00d37125 in PyEval_EvalFrameEx (f=0x8476cc4, throwflag=0) at
Python/ceval.c:3652
#61 0x00d37865 in PyEval_EvalCodeEx (co=0xb7acb728,
globals=0xb7eb8a44, locals=0x0, args=0xb7986c90, argcount=3, kws=0x0,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2833
#62 0x00cdba70 in function_call (func=0xb798ca04, arg=0xb7986c84,
kw=0x0) at Objects/funcobject.c:517
#63 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb7986c84,
kw=0x0) at Objects/abstract.c:1860
#64 0x00cc78ad in instancemethod_call (func=0xb7950eb4,
arg=0xb7986c84, kw=0x0) at Objects/classobject.c:2493
#65 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb7aed3ac,
kw=0x0) at Objects/abstract.c:1860
#66 0x00d06acb in slot_tp_call (self=0xb7eb958c, args=0xb7aed3ac,
kwds=0x0) at Objects/typeobject.c:4590
#67 0x00cbd69c in PyObject_Call (func=0xd9091c, arg=0xb7aed3ac,
kw=0x0) at Objects/abstract.c:1860
#68 0x00d2fa04 in PyEval_CallObjectWithKeywords (func=0xb7eb958c,
arg=0xb7aed3ac, kw=0x0) at Python/ceval.c:3435
#69 0x001500bf in wsgi_execute_script (r=0x83eada8) at mod_wsgi.c:3045
#70 0x00156b30 in wsgi_daemon_thread (thd=0x8408228, data=0x8408218)
at mod_wsgi.c:9940
#71 0x0069d83c in dummy_worker (opaque=0x0) at threadproc/unix/
thread.c:142
#72 0x00c723cc in start_thread () from /lib/tls/libpthread.so.0
#73 0x00bba96e in clone () from /lib/tls/libc.so.6
(gdb) quit
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/modwsgi?hl=en
-~----------~----~----~----~------~----~------~--~---