Now in wiki documentation at:

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Extracting_Python_Stack_Traces

I have also noted some further stuff one could do with this, ie.,
exercise for the reader at this point.

Specifically, one could use an associated WSGI middleware which keeps
a reference to WSGI environment. That code for dumping stack traces
could look up the WSGI environment where thread is handling a request
and dump out either the whole WSGI environment, or at least the URL
being requested. This may help where specific URLs have issues with
getting stuck etc.

Graham

On 8 December 2010 21:42, Graham Dumpleton <[email protected]> wrote:
> On 8 December 2010 21:11, Graham Dumpleton <[email protected]> wrote:
>> One thing you can do to try and work out what the process is doing
>> before you kill it off, is to attach gdb to it and get a stack trace
>> of all active threads. If the issue is in a C extension module, that
>> may show what module and where. See:
>>
>> http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Debugging_Crashes_With_GDB
>>
>> Another thing that can be done is try to force a stack trace of where
>> in Python code threads are running. As explained in:
>>
>> https://mail.google.com/mail/#search/stack+trace+python/12b114f3ec8f295b
>>
>> you can start with a background thread which monitors for the
>> existence of a specific file, it that file exists, then do the stack
>> trace and write it to a file. So, when issue occurs, you would touch
>> the monitored file and trigger it.
>>
>> The actual generation of a Python stack trace for all threads is
>> detailed in stacktraces() function in:
>>
>> http://groups.google.com/group/modwsgi/browse_frm/thread/b0fced31f191df59
>>
>> In that case the generation was triggered from a URL request, but if
>> process is non response to new requests because of issue or you have
>> more than one process and so don't know which will get request, you
>> need to trigger it from background thread instead.
>
> Here is some working code to be stuck at the end of your WGSI script
> file. When you touch file '/tmp/dump-stack-traces.txt' it will cause
> stack trace to be dumped for any threads executing inside of a request
> at that time, as well as background Python threads. See example at end
> of mail for case where Django was being used. I'll try and add this to
> debugging techniques page in wiki.
>
> import os
> import sys
> import time
> import signal
> import threading
> import atexit
> import Queue
> import traceback
>
> FILE = '/tmp/dump-stack-traces.txt'
>
> _interval = 1.0
>
> _running = False
> _queue = Queue.Queue()
> _lock = threading.Lock()
>
> def _stacktraces():
>    code = []
>    for threadId, stack in sys._current_frames().items():
>        code.append("\n# ThreadID: %s" % threadId)
>        for filename, lineno, name, line in traceback.extract_stack(stack):
>            code.append('File: "%s", line %d, in %s' % (filename,
>                    lineno, name))
>            if line:
>                code.append("  %s" % (line.strip()))
>
>    for line in code:
>        print >> sys.stderr, line
>
> try:
>    mtime = os.path.getmtime(FILE)
> except:
>    mtime = None
>
> def _monitor():
>    while 1:
>        global mtime
>
>        try:
>            current = os.path.getmtime(FILE)
>        except:
>            current = None
>
>        if current != mtime:
>            mtime = current
>            _stacktraces()
>
>        # Go to sleep for specified interval.
>
>        try:
>            return _queue.get(timeout=_interval)
>        except:
>            pass
>
> _thread = threading.Thread(target=_monitor)
> _thread.setDaemon(True)
>
> def _exiting():
>    try:
>        _queue.put(True)
>    except:
>        pass
>    _thread.join()
>
> atexit.register(_exiting)
>
> def _start(interval=1.0):
>    global _interval
>    if interval < _interval:
>        _interval = interval
>
>    global _running
>    _lock.acquire()
>    if not _running:
>        prefix = 'monitor (pid=%d):' % os.getpid()
>        print >> sys.stderr, '%s Starting stack trace monitor.' % prefix
>        _running = True
>        _thread.start()
>    _lock.release()
>
> _start()
>
>
>
>
> # EXAMPLE
>
> [Wed Dec 08 04:36:56 2010] [error]
> [Wed Dec 08 04:36:56 2010] [error] # ThreadID: 4352905216
> [Wed Dec 08 04:36:56 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py",
> line 497, in __bootstrap
> [Wed Dec 08 04:36:56 2010] [error]   self.__bootstrap_inner()
> [Wed Dec 08 04:36:56 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py",
> line 522, in __bootstrap_inner
> [Wed Dec 08 04:36:56 2010] [error]   self.run()
> [Wed Dec 08 04:36:56 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py",
> line 477, in run
> [Wed Dec 08 04:36:56 2010] [error]   self.__target(*self.__args,
> **self.__kwargs)
> [Wed Dec 08 04:36:56 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 72, in
> _monitor
> [Wed Dec 08 04:36:56 2010] [error]   _stacktraces()
> [Wed Dec 08 04:36:56 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 47, in
> _stacktraces
> [Wed Dec 08 04:36:56 2010] [error]   for filename, lineno, name, line
> in traceback.extract_stack(stack):
> [Wed Dec 08 04:38:26 2010] [error]
> [Wed Dec 08 04:38:26 2010] [error] # ThreadID: 4322832384
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 21, in
> application
> [Wed Dec 08 04:38:26 2010] [error]   return _application(environ,
> start_response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/core/handlers/wsgi.py",
> line 245, in __call__
> [Wed Dec 08 04:38:26 2010] [error]   response =
> middleware_method(request, response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/middleware.py",
> line 36, in process_response
> [Wed Dec 08 04:38:26 2010] [error]   request.session.save()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/backends/db.py",
> line 63, in save
> [Wed Dec 08 04:38:26 2010] [error]
> obj.save(force_insert=must_create, using=using)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 434, in save
> [Wed Dec 08 04:38:26 2010] [error]   self.save_base(using=using,
> force_insert=force_insert, force_update=force_update)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 527, in save_base
> [Wed Dec 08 04:38:26 2010] [error]   result = manager._insert(values,
> return_id=update_pk, using=using)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/manager.py",
> line 195, in _insert
> [Wed Dec 08 04:38:26 2010] [error]   return insert_query(self.model,
> values, **kwargs)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/query.py",
> line 1479, in insert_query
> [Wed Dec 08 04:38:26 2010] [error]   return
> query.get_compiler(using=using).execute_sql(return_id)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/compiler.py",
> line 783, in execute_sql
> [Wed Dec 08 04:38:26 2010] [error]   cursor = super(SQLInsertCompiler,
> self).execute_sql(None)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/compiler.py",
> line 727, in execute_sql
> [Wed Dec 08 04:38:26 2010] [error]   cursor.execute(sql, params)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/panels/sql.py",
> line 95, in execute
> [Wed Dec 08 04:38:26 2010] [error]   stacktrace =
> tidy_stacktrace(traceback.extract_stack())
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/panels/sql.py",
> line 40, in tidy_stacktrace
> [Wed Dec 08 04:38:26 2010] [error]   s_path = os.path.realpath(s[0])
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.py",
> line 355, in realpath
> [Wed Dec 08 04:38:26 2010] [error]   if islink(component):
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.py",
> line 132, in islink
> [Wed Dec 08 04:38:26 2010] [error]   st = os.lstat(path)
> [Wed Dec 08 04:38:26 2010] [error]
> [Wed Dec 08 04:38:26 2010] [error] # ThreadID: 4320735232
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 21, in
> application
> [Wed Dec 08 04:38:26 2010] [error]   return _application(environ,
> start_response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/core/handlers/wsgi.py",
> line 245, in __call__
> [Wed Dec 08 04:38:26 2010] [error]   response =
> middleware_method(request, response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/middleware.py",
> line 36, in process_response
> [Wed Dec 08 04:38:26 2010] [error]   request.session.save()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/backends/db.py",
> line 63, in save
> [Wed Dec 08 04:38:26 2010] [error]
> obj.save(force_insert=must_create, using=using)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 434, in save
> [Wed Dec 08 04:38:26 2010] [error]   self.save_base(using=using,
> force_insert=force_insert, force_update=force_update)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 527, in save_base
> [Wed Dec 08 04:38:26 2010] [error]   result = manager._insert(values,
> return_id=update_pk, using=using)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/manager.py",
> line 195, in _insert
> [Wed Dec 08 04:38:26 2010] [error]   return insert_query(self.model,
> values, **kwargs)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/query.py",
> line 1479, in insert_query
> [Wed Dec 08 04:38:26 2010] [error]   return
> query.get_compiler(using=using).execute_sql(return_id)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/compiler.py",
> line 783, in execute_sql
> [Wed Dec 08 04:38:26 2010] [error]   cursor = super(SQLInsertCompiler,
> self).execute_sql(None)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/compiler.py",
> line 727, in execute_sql
> [Wed Dec 08 04:38:26 2010] [error]   cursor.execute(sql, params)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/panels/sql.py",
> line 91, in execute
> [Wed Dec 08 04:38:26 2010] [error]   return self.cursor.execute(sql, params)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/backends/sqlite3/base.py",
> line 200, in execute
> [Wed Dec 08 04:38:26 2010] [error]   return
> Database.Cursor.execute(self, query, params)
> [Wed Dec 08 04:38:26 2010] [error]
> [Wed Dec 08 04:38:26 2010] [error] # ThreadID: 4323905536
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 21, in
> application
> [Wed Dec 08 04:38:26 2010] [error]   return _application(environ,
> start_response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/core/handlers/wsgi.py",
> line 245, in __call__
> [Wed Dec 08 04:38:26 2010] [error]   response =
> middleware_method(request, response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/middleware.py",
> line 110, in process_response
> [Wed Dec 08 04:38:26 2010] [error]   return response
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/toolbar/loader.py",
> line 78, in render_toolbar
> [Wed Dec 08 04:38:26 2010] [error]   return
> render_to_string('debug_toolbar/base.html', context)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/loader.py",
> line 186, in render_to_string
> [Wed Dec 08 04:38:26 2010] [error]   return t.render(context_instance)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/__init__.py",
> line 175, in render
> [Wed Dec 08 04:38:26 2010] [error]   context.render_context.pop()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/test/utils.py",
> line 46, in instrumented_test_render
> [Wed Dec 08 04:38:26 2010] [error]   return self.nodelist.render(context)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/__init__.py",
> line 799, in render
> [Wed Dec 08 04:38:26 2010] [error]   return
> mark_safe(''.join([force_unicode(b) for b in bits]))
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/debug.py",
> line 84, in render_node
> [Wed Dec 08 04:38:26 2010] [error]   return result
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/defaulttags.py",
> line 183, in render
> [Wed Dec 08 04:38:26 2010] [error]   return nodelist.render(context)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/defaulttags.py",
> line 258, in render
> [Wed Dec 08 04:38:26 2010] [error]   return self.nodelist_true.render(context)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/__init__.py",
> line 799, in render
> [Wed Dec 08 04:38:26 2010] [error]   return
> mark_safe(''.join([force_unicode(b) for b in bits]))
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/debug.py",
> line 84, in render_node
> [Wed Dec 08 04:38:26 2010] [error]   return result
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/debug.py",
> line 101, in render
> [Wed Dec 08 04:38:26 2010] [error]   return output
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/__init__.py",
> line 586, in resolve
> [Wed Dec 08 04:38:26 2010] [error]   return obj
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/__init__.py",
> line 702, in resolve
> [Wed Dec 08 04:38:26 2010] [error]   return value
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/template/__init__.py",
> line 761, in _resolve_lookup
> [Wed Dec 08 04:38:26 2010] [error]   return current
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/panels/template.py",
> line 122, in content
> [Wed Dec 08 04:38:26 2010] [error]   return
> render_to_string('debug_toolbar/panels/templates.html', context)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 59, in pformat
> [Wed Dec 08 04:38:26 2010] [error]   return
> PrettyPrinter(indent=indent, width=width, depth=depth).pformat(object)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 112, in pformat
> [Wed Dec 08 04:38:26 2010] [error]   return sio.getvalue()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 167, in _format
> [Wed Dec 08 04:38:26 2010] [error]   return
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 228, in _repr
> [Wed Dec 08 04:38:26 2010] [error]   return repr
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 235, in format
> [Wed Dec 08 04:38:26 2010] [error]   return _safe_repr(object,
> context, maxlevels, level)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 285, in _safe_repr
> [Wed Dec 08 04:38:26 2010] [error]   return "{%s}" %
> _commajoin(components), readable, recursive
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 318, in _safe_repr
> [Wed Dec 08 04:38:26 2010] [error]   return format %
> _commajoin(components), readable, recursive
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 318, in _safe_repr
> [Wed Dec 08 04:38:26 2010] [error]   return format %
> _commajoin(components), readable, recursive
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pprint.py",
> line 259, in _safe_repr
> [Wed Dec 08 04:38:26 2010] [error]   return ("%s%s%s" % (closure,
> sio.getvalue(), closure)), True, False
> [Wed Dec 08 04:38:26 2010] [error]
> [Wed Dec 08 04:38:26 2010] [error] # ThreadID: 4352905216
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py",
> line 497, in __bootstrap
> [Wed Dec 08 04:38:26 2010] [error]   self.__bootstrap_inner()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py",
> line 522, in __bootstrap_inner
> [Wed Dec 08 04:38:26 2010] [error]   self.run()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py",
> line 477, in run
> [Wed Dec 08 04:38:26 2010] [error]   self.__target(*self.__args,
> **self.__kwargs)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 72, in
> _monitor
> [Wed Dec 08 04:38:26 2010] [error]   _stacktraces()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 47, in
> _stacktraces
> [Wed Dec 08 04:38:26 2010] [error]   for filename, lineno, name, line
> in traceback.extract_stack(stack):
> [Wed Dec 08 04:38:26 2010] [error]
> [Wed Dec 08 04:38:26 2010] [error] # ThreadID: 4313858048
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 21, in
> application
> [Wed Dec 08 04:38:26 2010] [error]   return _application(environ,
> start_response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/core/handlers/wsgi.py",
> line 245, in __call__
> [Wed Dec 08 04:38:26 2010] [error]   response =
> middleware_method(request, response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/middleware.py",
> line 36, in process_response
> [Wed Dec 08 04:38:26 2010] [error]   request.session.save()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/backends/db.py",
> line 63, in save
> [Wed Dec 08 04:38:26 2010] [error]
> obj.save(force_insert=must_create, using=using)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 434, in save
> [Wed Dec 08 04:38:26 2010] [error]   self.save_base(using=using,
> force_insert=force_insert, force_update=force_update)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 496, in save_base
> [Wed Dec 08 04:38:26 2010] [error]
> manager.using(using).filter(pk=pk_val).exists())):
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/query.py",
> line 496, in exists
> [Wed Dec 08 04:38:26 2010] [error]   return
> self.query.has_results(using=self.db)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/query.py",
> line 417, in has_results
> [Wed Dec 08 04:38:26 2010] [error]   return bool(compiler.execute_sql(SINGLE))
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/compiler.py",
> line 727, in execute_sql
> [Wed Dec 08 04:38:26 2010] [error]   cursor.execute(sql, params)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/panels/sql.py",
> line 95, in execute
> [Wed Dec 08 04:38:26 2010] [error]   stacktrace =
> tidy_stacktrace(traceback.extract_stack())
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/backends/sqlite3/base.py",
> line 200, in execute
> [Wed Dec 08 04:38:26 2010] [error]   return
> Database.Cursor.execute(self, query, params)
> [Wed Dec 08 04:38:26 2010] [error]
> [Wed Dec 08 04:38:26 2010] [error] # ThreadID: 4323368960
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/htdocs/project.wsgi", line 21, in
> application
> [Wed Dec 08 04:38:26 2010] [error]   return _application(environ,
> start_response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/core/handlers/wsgi.py",
> line 245, in __call__
> [Wed Dec 08 04:38:26 2010] [error]   response =
> middleware_method(request, response)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/middleware.py",
> line 36, in process_response
> [Wed Dec 08 04:38:26 2010] [error]   request.session.save()
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/contrib/sessions/backends/db.py",
> line 63, in save
> [Wed Dec 08 04:38:26 2010] [error]
> obj.save(force_insert=must_create, using=using)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 434, in save
> [Wed Dec 08 04:38:26 2010] [error]   self.save_base(using=using,
> force_insert=force_insert, force_update=force_update)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/base.py",
> line 527, in save_base
> [Wed Dec 08 04:38:26 2010] [error]   result = manager._insert(values,
> return_id=update_pk, using=using)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/manager.py",
> line 195, in _insert
> [Wed Dec 08 04:38:26 2010] [error]   return insert_query(self.model,
> values, **kwargs)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/query.py",
> line 1479, in insert_query
> [Wed Dec 08 04:38:26 2010] [error]   return
> query.get_compiler(using=using).execute_sql(return_id)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/compiler.py",
> line 783, in execute_sql
> [Wed Dec 08 04:38:26 2010] [error]   cursor = super(SQLInsertCompiler,
> self).execute_sql(None)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/models/sql/compiler.py",
> line 727, in execute_sql
> [Wed Dec 08 04:38:26 2010] [error]   cursor.execute(sql, params)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/debug_toolbar/panels/sql.py",
> line 91, in execute
> [Wed Dec 08 04:38:26 2010] [error]   return self.cursor.execute(sql, params)
> [Wed Dec 08 04:38:26 2010] [error] File:
> "/Library/WebServer/Sites/django-1/lib/python2.6/site-packages/django/db/backends/sqlite3/base.py",
> line 200, in execute
> [Wed Dec 08 04:38:26 2010] [error]   return
> Database.Cursor.execute(self, query, params)
>

-- 
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.

Reply via email to