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.
