#3790 closed defect (wontfix)
trac segfault
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | general | Version: | 0.10rc1 |
Severity: | major | Keywords: | pysqlite svn crash |
Cc: | exarkun@… | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
Stack trace
#0 0xb6da4e40 in sqlite3Pragma () from /usr/lib/libsqlite3.so.0 #1 0xb6da4ee2 in sqlite3Pragma () from /usr/lib/libsqlite3.so.0 #2 0xb6da635a in sqlite3_snprintf () from /usr/lib/libsqlite3.so.0 #3 0xb6db831a in sqlite3VdbeMemStringify () from /usr/lib/libsqlite3.so.0 #4 0xb6db878f in sqlite3ValueText () from /usr/lib/libsqlite3.so.0 #5 0xb6db87c2 in sqlite3ValueBytes () from /usr/lib/libsqlite3.so.0 #6 0xb6db5265 in sqlite3_value_bytes () from /usr/lib/libsqlite3.so.0 #7 0xb6e30ab4 in _fetch_one_row () from /usr/lib/python2.4/site-packages/pysqlite2/_sqlite.so #8 0xb6e31dda in cursor_iternext () from /usr/lib/python2.4/site-packages/pysqlite2/_sqlite.so #9 0xb6e31e5a in cursor_fetchone () from /usr/lib/python2.4/site-packages/pysqlite2/_sqlite.so #10 0x080b61c3 in PyEval_EvalFrame () #11 0x080f9441 in PyDescr_NewGetSet () #12 0x080b1a36 in PyEval_EvalFrame () #13 0x080b580c in PyEval_EvalFrame () #14 0x080b580c in PyEval_EvalFrame () #15 0x080b580c in PyEval_EvalFrame () #16 0x080b726d in PyEval_EvalCodeEx () #17 0x080b5719 in PyEval_EvalFrame () #18 0x080b580c in PyEval_EvalFrame () #19 0x080b580c in PyEval_EvalFrame () #20 0x080b580c in PyEval_EvalFrame () #21 0x080b726d in PyEval_EvalCodeEx () #22 0x080fb6fd in PyFunction_SetClosure () #23 0x0805950c in PyObject_Call () #24 0x0805eac5 in PyMethod_New () #25 0x0805950c in PyObject_Call () #26 0x080afed7 in PyEval_CallObjectWithKeywords () #27 0x080594e3 in PyObject_CallObject () #28 0x080edb2c in init_sre () #29 0x080edfbf in init_sre () #30 0x080b6a11 in PyEval_EvalFrame () #31 0x080b726d in PyEval_EvalCodeEx () #32 0x080b5719 in PyEval_EvalFrame () #33 0x080b726d in PyEval_EvalCodeEx () #34 0x080fb6fd in PyFunction_SetClosure () #35 0x0805950c in PyObject_Call () #36 0x0805eac5 in PyMethod_New () #37 0x0805950c in PyObject_Call () #38 0x080b4bf7 in PyEval_EvalFrame () #39 0x080b726d in PyEval_EvalCodeEx () #40 0x080b5719 in PyEval_EvalFrame () #41 0x080b726d in PyEval_EvalCodeEx () #42 0x080b5719 in PyEval_EvalFrame () #43 0x080b580c in PyEval_EvalFrame () #44 0x080b580c in PyEval_EvalFrame () #45 0x080b726d in PyEval_EvalCodeEx () #46 0x080b5719 in PyEval_EvalFrame () #47 0x080b580c in PyEval_EvalFrame () #48 0x080b580c in PyEval_EvalFrame () #49 0x080b726d in PyEval_EvalCodeEx () #50 0x080fb6fd in PyFunction_SetClosure () #51 0x0805950c in PyObject_Call () #52 0x0805eac5 in PyMethod_New () #53 0x0805950c in PyObject_Call () #54 0x080afed7 in PyEval_CallObjectWithKeywords () #55 0x080594e3 in PyObject_CallObject () #56 0x080edb2c in init_sre () #57 0x080edfbf in init_sre () #58 0x080b6a11 in PyEval_EvalFrame () #59 0x080b726d in PyEval_EvalCodeEx () #60 0x080b5719 in PyEval_EvalFrame () #61 0x080b726d in PyEval_EvalCodeEx () #62 0x080b5719 in PyEval_EvalFrame () #63 0x080b726d in PyEval_EvalCodeEx () #64 0x080b5719 in PyEval_EvalFrame () #65 0x080b580c in PyEval_EvalFrame () #66 0x080b580c in PyEval_EvalFrame () #67 0x080b580c in PyEval_EvalFrame () #68 0x080b580c in PyEval_EvalFrame () #69 0x080b580c in PyEval_EvalFrame () #70 0x080b726d in PyEval_EvalCodeEx () #71 0x080fb6fd in PyFunction_SetClosure () #72 0x0805950c in PyObject_Call () #73 0x0805eac5 in PyMethod_New () #74 0x0805950c in PyObject_Call () #75 0x0808ac77 in _PyType_Lookup () #76 0x0805950c in PyObject_Call () #77 0x080b4bf7 in PyEval_EvalFrame () #78 0x080b726d in PyEval_EvalCodeEx () #79 0x080fb6fd in PyFunction_SetClosure () #80 0x0805950c in PyObject_Call () #81 0x080b4d37 in PyEval_EvalFrame () #82 0x080b726d in PyEval_EvalCodeEx () #83 0x080fb6fd in PyFunction_SetClosure () #84 0x0805950c in PyObject_Call () #85 0x080b4d37 in PyEval_EvalFrame () #86 0x080b726d in PyEval_EvalCodeEx () #87 0x080fb6fd in PyFunction_SetClosure () #88 0x0805950c in PyObject_Call () #89 0x080b4d37 in PyEval_EvalFrame () #90 0x080b726d in PyEval_EvalCodeEx () #91 0x080fb6fd in PyFunction_SetClosure () #92 0x0805950c in PyObject_Call () #93 0x080b4d37 in PyEval_EvalFrame () #94 0x080b580c in PyEval_EvalFrame () #95 0x080b726d in PyEval_EvalCodeEx () #96 0x080fb6fd in PyFunction_SetClosure () #97 0x0805950c in PyObject_Call () #98 0x0805eac5 in PyMethod_New () #99 0x0805950c in PyObject_Call () #100 0x080afed7 in PyEval_CallObjectWithKeywords () #101 0x080e013d in _PyObject_GC_NewVar () #102 0xb7fc8361 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0#103 0xb7f34bde in clone () from /lib/tls/i686/cmov/libc.so.6
Attachments (0)
Change History (15)
follow-up: 2 comment:1 by , 18 years ago
Keywords: | pysqlite added |
---|---|
Owner: | changed from | to
Priority: | normal → high |
Severity: | normal → major |
comment:2 by , 18 years ago
comment:3 by , 18 years ago
Cc: | added |
---|
- SQLite 3.2.1
- PySQLite 2.0.3
- SQLite was built with
--enable-threadsafe
. The only other configure parameter was--with-tcl=/usr/lib/tcl8.4
.CFLAGS
was also set to-g -Wall -O2 -fno-strict-aliasing
comment:4 by , 18 years ago
Well, that SQLite version is nearly 2 years old. It's most probably a bug there, in printf.c. Try upgrading to 3.3.7 (and PySqlite 2.3.2 at that occasion).
The configuration you used was ok.
follow-up: 7 comment:6 by , 18 years ago
Another segfault - different backtrace, however:
#0 0xb6c1912b in svn_error_clear (err=0x2f) at subversion/libsvn_subr/error.c:273 #1 0xb6a35988 in svn_fs_bdb__wrap_db (fs=0x8b98fc0, operation=0xb6a4e02f "opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93 #2 0xb6a3e006 in open_databases (fs=0x8b98fc0, create=0, path=0x8b98ac0 "/home/trac/svn/Twisted/db", pool=0x8b987c0) at subversion/libsvn_fs_base/fs.c:559 #3 0xb6a3e468 in base_open (fs=0x8b98fc0, path=0xb7ebc938 "", pool=0x8b987c0) at subversion/libsvn_fs_base/fs.c:685 #4 0xb7692a11 in svn_fs_open (fs_p=0x8b98a80, path=0x8b98ac0 "/home/trac/svn/Twisted/db", fs_config=0x0, pool=0x8b987c0) at subversion/libsvn_fs/fs-loader.c:367 #5 0xb6a1434d in get_repos (repos_p=0xb21fa57c, path=Variable "path" is not available. ) at subversion/libsvn_repos/repos.c:1803 #6 0xb68cf394 in _wrap_svn_repos_open (self=0x0, args=0x8d2284c) at ./subversion/bindings/swig/python/svn_repos.c:2047 #7 0x0805950c in PyObject_Call () #8 0x080afed7 in PyEval_CallObjectWithKeywords () #9 0x080a88ed in _PyUnicodeUCS4_IsNumeric () #10 0x080b6a11 in PyEval_EvalFrame () #11 0x080b726d in PyEval_EvalCodeEx () #12 0x080b5719 in PyEval_EvalFrame () #13 0x080b726d in PyEval_EvalCodeEx () #14 0x080fb6fd in PyFunction_SetClosure () #15 0x0805950c in PyObject_Call () #16 0x0805eac5 in PyMethod_New () #17 0x0805950c in PyObject_Call () #18 0x0808a965 in _PyType_Lookup () #19 0x0808ca88 in _PyObject_SlotCompare () #20 0x0805950c in PyObject_Call () #21 0x080b4bf7 in PyEval_EvalFrame () #22 0x080b580c in PyEval_EvalFrame () #23 0x080b580c in PyEval_EvalFrame () #24 0x080b726d in PyEval_EvalCodeEx () #25 0x080b5719 in PyEval_EvalFrame () #26 0x080b580c in PyEval_EvalFrame () #27 0x080b580c in PyEval_EvalFrame () #28 0x080b580c in PyEval_EvalFrame () #29 0x080b580c in PyEval_EvalFrame () #30 0x080b726d in PyEval_EvalCodeEx () #31 0x080fb6fd in PyFunction_SetClosure () #32 0x0805950c in PyObject_Call () #33 0x0805eac5 in PyMethod_New () #34 0x0805950c in PyObject_Call () #35 0x0808ac77 in _PyType_Lookup () #36 0x0805950c in PyObject_Call () #37 0x080b4bf7 in PyEval_EvalFrame () #38 0x080b726d in PyEval_EvalCodeEx () #39 0x080fb6fd in PyFunction_SetClosure () #40 0x0805950c in PyObject_Call () #41 0x080b4d37 in PyEval_EvalFrame () #42 0x080b726d in PyEval_EvalCodeEx () #43 0x080fb6fd in PyFunction_SetClosure () #44 0x0805950c in PyObject_Call () #45 0x080b4d37 in PyEval_EvalFrame () #46 0x080b726d in PyEval_EvalCodeEx () #47 0x080fb6fd in PyFunction_SetClosure () #48 0x0805950c in PyObject_Call () #49 0x080b4d37 in PyEval_EvalFrame () #50 0x080b726d in PyEval_EvalCodeEx () #51 0x080fb6fd in PyFunction_SetClosure () #52 0x0805950c in PyObject_Call () #53 0x080b4d37 in PyEval_EvalFrame () #54 0x080b580c in PyEval_EvalFrame () #55 0x080b726d in PyEval_EvalCodeEx () #56 0x080fb6fd in PyFunction_SetClosure () #57 0x0805950c in PyObject_Call () #58 0x0805eac5 in PyMethod_New () #59 0x0805950c in PyObject_Call () #60 0x080afed7 in PyEval_CallObjectWithKeywords () #61 0x080e013d in _PyObject_GC_NewVar () #62 0xb7eed361 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #63 0xb7e59bde in clone () from /lib/tls/i686/cmov/libc.so.6
Versions of software now being used:
- SQLite 3.3.7
- PySQLite 2.3.2
- Subversion 1.4.0
- APR 0.9.12 (included with svn 1.4.0 utils)
- APR Utils 0.9.12 (included with svn 1.4.0 utils)
comment:7 by , 18 years ago
Keywords: | svn crash added |
---|
Replying to exarkun@divmod.com:
Another segfault - different backtrace, however:
#0 0xb6c1912b in svn_error_clear (err=0x2f) at subversion/libsvn_subr/error.c:273
#1 0xb6a35988 in svn_fs_bdb__wrap_db (fs=0x8b98fc0, operation=0xb6a4e02f \
"opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93
…
Versions of software now being used:
- SQLite 3.3.7
- PySQLite 2.3.2
Good!
- Subversion 1.4.0
- APR 0.9.12 (included with svn 1.4.0 utils)
- APR Utils 0.9.12 (included with svn 1.4.0 utils)
The crash involves svn_fs_bdb__wrap_db
, so I bet there's an incompatibility between the BDB version expected by the APR (APR utils I think) you're using and the BDB lib that ends up being used.
Don't bother checking out the details and do yourself a favor by migrating to fsfs ;) (see TracSubversion#TracandSubversion1.2)
comment:8 by , 18 years ago
Another traceback, this time back to SQLite:
#0 sqlite3VdbeExec (p=0x85259d8) at ./src/vdbe.c:1926 #1 0xb6c80d28 in sqlite3_step (pStmt=0x85259d8) at ./src/vdbeapi.c:231 #2 0xb6ca04c8 in _sqlite_step_with_busyhandler (statement=0x85259d8, connection=0xb75d95c0) at src/util.c:33 #3 0xb6c9e48c in _query_execute (self=0xafb7872c, multiple=0, args=0xafc4082c) at src/cursor.c:611 #4 0xb6c9e9f2 in cursor_execute (self=0xafb7872c, args=0xafc4082c) at src/cursor.c:722 #5 0x0805950c in PyObject_Call () #6 0x080afed7 in PyEval_CallObjectWithKeywords () #7 0x080f835c in PyDictProxy_New () #8 0x0805950c in PyObject_Call () #9 0x080b4d37 in PyEval_EvalFrame () #10 0x080b726d in PyEval_EvalCodeEx () #11 0x080b5719 in PyEval_EvalFrame () #12 0x080b726d in PyEval_EvalCodeEx () #13 0x080b5719 in PyEval_EvalFrame () #14 0x080b726d in PyEval_EvalCodeEx () #15 0x080b5719 in PyEval_EvalFrame () #16 0x080b580c in PyEval_EvalFrame () #17 0x080b580c in PyEval_EvalFrame () #18 0x080b580c in PyEval_EvalFrame () #19 0x080b580c in PyEval_EvalFrame () #20 0x080b580c in PyEval_EvalFrame () #21 0x080b580c in PyEval_EvalFrame () #22 0x080b580c in PyEval_EvalFrame () #23 0x080b726d in PyEval_EvalCodeEx () #24 0x080fb6fd in PyFunction_SetClosure () #25 0x0805950c in PyObject_Call () #26 0x0805eac5 in PyMethod_New () #27 0x0805950c in PyObject_Call () #28 0x0808ac77 in _PyType_Lookup () #29 0x0805950c in PyObject_Call () #30 0x080b4bf7 in PyEval_EvalFrame () #31 0x080b726d in PyEval_EvalCodeEx () #32 0x080fb6fd in PyFunction_SetClosure () #33 0x0805950c in PyObject_Call () #34 0x080b4d37 in PyEval_EvalFrame () #35 0x080b726d in PyEval_EvalCodeEx () #36 0x080fb6fd in PyFunction_SetClosure () #37 0x0805950c in PyObject_Call () #38 0x080b4d37 in PyEval_EvalFrame () #39 0x080b726d in PyEval_EvalCodeEx () #40 0x080fb6fd in PyFunction_SetClosure () #41 0x0805950c in PyObject_Call () #42 0x080b4d37 in PyEval_EvalFrame () #43 0x080b726d in PyEval_EvalCodeEx () #44 0x080fb6fd in PyFunction_SetClosure () #45 0x0805950c in PyObject_Call () #46 0x080b4d37 in PyEval_EvalFrame () #47 0x080b580c in PyEval_EvalFrame () #48 0x080b726d in PyEval_EvalCodeEx () #49 0x080fb6fd in PyFunction_SetClosure () #50 0x0805950c in PyObject_Call () #51 0x0805eac5 in PyMethod_New () #52 0x0805950c in PyObject_Call () #53 0x080afed7 in PyEval_CallObjectWithKeywords () #54 0x080e013d in _PyObject_GC_NewVar () #55 0xb7fcd361 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #56 0xb7f39bde in clone () from /lib/tls/i686/cmov/libc.so.6
This time I caught it live and checked some locals. The cursor variable was NULL and the SEGV happened when it was dereferenced. I hosed the process while trying to extract a Python stack trace. The environment is set up for this now, though, so next time I should be able to provide that as well.
comment:9 by , 18 years ago
Python backtrace from another segfault:
/home/trac/Projects/trac/trunk/trac/db/util.py (41): __iter__ /home/trac/Projects/trac/trunk/trac/versioncontrol/cache.py (173): get_changes /home/trac/Projects/trac/trunk/trac/versioncontrol/web_ui/changeset.py (282): get_changes /home/trac/Projects/trac/trunk/trac/versioncontrol/web_ui/changeset.py (462): _render_html /home/trac/Projects/trac/trunk/trac/versioncontrol/web_ui/changeset.py (253): process_request /home/trac/Projects/trac/trunk/trac/web/main.py (253): dispatch /home/trac/Projects/trac/trunk/trac/web/main.py (238): dispatch_request /home/trac/Run/trac/external.py (378): tracApplication /home/trac/Run/trac/external.py (115): __call__ /home/trac/Projects/Twisted/trunk/twisted/web2/wsgi.py (199): run /home/trac/Projects/Twisted/trunk/twisted/python/context.py (38): callWithContext /home/trac/Projects/Twisted/trunk/twisted/python/context.py (59): callWithContext /home/trac/Projects/Twisted/trunk/twisted/python/threadpool.py (149): _worker /usr/lib/python2.4/threading.py (422): run /usr/lib/python2.4/threading.py (422): __bootstrap
It looks like all of the line numbers are exactly one greater than the actual source lines executed, though. I guess there's a bug in pystack or something.
comment:10 by , 18 years ago
Milestone: | → 0.10.1 |
---|
comment:11 by , 18 years ago
Milestone: | 0.10.3 → 2.0 |
---|---|
Owner: | removed |
Priority: | high → normal |
I'm going to assume the thread pooling triggered some corner case in SQLite, when the connection was being reused by another thread.
I put this issue on stand-by, as I think we need to gather more information. If that bug happens again for someone:
- be very precise about the SQLite, PySqlite and Trac versions used
- provide a C stacktrace
follow-up: 13 comment:12 by , 18 years ago
Coincidentally, another segfault today. Here's the C stacktrace:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1242883152 (LWP 19246)] 0xb62b214b in svn_error_clear (err=0x6f) at subversion/libsvn_subr/error.c:273 273 apr_pool_destroy(err->pool); (gdb) bt #0 0xb62b214b in svn_error_clear (err=0x6f) at subversion/libsvn_subr/error.c:273 #1 0xb60ba9a8 in svn_fs_bdb__wrap_db (fs=0x8648d20, operation=0xb60d304f "opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93 #2 0xb60c3026 in open_databases (fs=0x8648d20, create=0, path=0x8648820 "/home/trac/svn/Twisted/db", pool=0x8648520) at subversion/libsvn_fs_base/fs.c:559 #3 0xb60c3488 in base_open (fs=0x8648d20, path=0x8927638 "", pool=0x8648520) at subversion/libsvn_fs_base/fs.c:685 #4 0xb752fa21 in svn_fs_open (fs_p=0x86487e0, path=0x8648820 "/home/trac/svn/Twisted/db", fs_config=0x0, pool=0x8648520) at subversion/libsvn_fs/fs-loader.c:367 #5 0xb601435d in get_repos (repos_p=0xb5eae57c, path=Variable "path" is not available. ) at subversion/libsvn_repos/repos.c:1803 #6 0xb5ebc394 in _wrap_svn_repos_open (self=0x0, args=0xb401886c) at ./subversion/bindings/swig/python/svn_repos.c:2047 #7 0x0805950c in PyObject_Call (func=0xb5ee0cec, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #8 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x6f, arg=0xb401886c, kw=0x0) at ../Python/ceval.c:3425 #9 0x080a87ed in builtin_apply (self=0x0, args=0x6f) at ../Python/bltinmodule.c:100 #10 0x080b6911 in PyEval_EvalFrame (f=0x88c70b4) at ../Python/ceval.c:3558 #11 0x080b716d in PyEval_EvalCodeEx (co=0xb5f7bd60, globals=0xb5f93824, locals=0x0, args=0x951d4dc, argcount=2, kws=0x951d4e4, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #12 0x080b5619 in PyEval_EvalFrame (f=0x951d374) at ../Python/ceval.c:3651 #13 0x080b716d in PyEval_EvalCodeEx (co=0xb6371c20, globals=0xb635fcec, locals=0x0, args=0x87abdd0, argcount=4, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #14 0x080fb5fd in function_call (func=0xb5eed8ec, arg=0x87abdc4, kw=0x0) at ../Objects/funcobject.c:548 #15 0x0805950c in PyObject_Call (func=0xb5eed8ec, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #16 0x0805eac5 in instancemethod_call (func=0xb5eed8ec, arg=0x87abdc4, kw=0x6f) at ../Objects/classobject.c:2447 #17 0x0805950c in PyObject_Call (func=0xb4e6ff54, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #18 0x0808a965 in slot_tp_init (self=0x6f, args=0x6f, kwds=0x6f) at ../Objects/typeobject.c:4762 #19 0x0808ca88 in type_call (type=0x84ecbbc, args=0xb42a9374, kwds=0x0) at ../Objects/typeobject.c:435 #20 0x0805950c in PyObject_Call (func=0x84ecbbc, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #21 0x080b4af7 in PyEval_EvalFrame (f=0x8ffdc64) at ../Python/ceval.c:3766 #22 0x080b570c in PyEval_EvalFrame (f=0x8cd8124) at ../Python/ceval.c:3640 #23 0x080b570c in PyEval_EvalFrame (f=0x85b9464) at ../Python/ceval.c:3640 #24 0x080b716d in PyEval_EvalCodeEx (co=0xb77bece0, globals=0xb77ce824, locals=0x0, args=0xb35dd640, argcount=2, kws=0xb35dd648, kwcount=0, defs=0xb77e3238, defcount=1, closure=0x0) at ../Python/ceval.c:2736 #25 0x080b5619 in PyEval_EvalFrame (f=0xb35dd4bc) at ../Python/ceval.c:3651 #26 0x080b570c in PyEval_EvalFrame (f=0x9633244) at ../Python/ceval.c:3640 #27 0x080b570c in PyEval_EvalFrame (f=0x8bee4d4) at ../Python/ceval.c:3640 #28 0x080b570c in PyEval_EvalFrame (f=0x8bc16e4) at ../Python/ceval.c:3640 #29 0x080b570c in PyEval_EvalFrame (f=0x88b01b4) at ../Python/ceval.c:3640 #30 0x080b716d in PyEval_EvalCodeEx (co=0xb7984860, globals=0xb78e302c, locals=0x0, args=0xaac9ae48, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #31 0x080fb5fd in function_call (func=0xb762b5dc, arg=0xaac9ae3c, kw=0x0) at ../Objects/funcobject.c:548 #32 0x0805950c in PyObject_Call (func=0xb762b5dc, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #33 0x0805eac5 in instancemethod_call (func=0xb762b5dc, arg=0xaac9ae3c, kw=0x6f) at ../Objects/classobject.c:2447 #34 0x0805950c in PyObject_Call (func=0xb486cdc4, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #35 0x0808ac77 in slot_tp_call (self=0x6f, args=0x6f, kwds=0x6f) at ../Objects/typeobject.c:4536 #36 0x0805950c in PyObject_Call (func=0xb766446c, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #37 0x080b4af7 in PyEval_EvalFrame (f=0x89340c4) at ../Python/ceval.c:3766 #38 0x080b716d in PyEval_EvalCodeEx (co=0xb772c6a0, globals=0xb776846c, locals=0x0, args=0xacde8518, argcount=1, kws=0x8a1eab0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #39 0x080fb5fd in function_call (func=0xb762b2cc, arg=0xacde850c, kw=0xb070e8ac) at ../Objects/funcobject.c:548 #40 0x0805950c in PyObject_Call (func=0xb762b2cc, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #41 0x080b4c37 in PyEval_EvalFrame (f=0x933c534) at ../Python/ceval.c:3835 #42 0x080b716d in PyEval_EvalCodeEx (co=0xb7a546a0, globals=0xb7a52b54, locals=0x0, args=0x87a15d8, argcount=3, kws=0x8924788, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #43 0x080fb5fd in function_call (func=0xb7a6ab8c, arg=0x87a15cc, kw=0xb070e9bc) at ../Objects/funcobject.c:548 #44 0x0805950c in PyObject_Call (func=0xb7a6ab8c, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #45 0x080b4c37 in PyEval_EvalFrame (f=0xb368c6a4) at ../Python/ceval.c:3835 #46 0x080b716d in PyEval_EvalCodeEx (co=0xb7a54960, globals=0xb7a52b54, locals=0x0, args=0xaf4df9c0, argcount=3, kws=0x8557f30, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #47 0x080fb5fd in function_call (func=0xb7a6ac6c, arg=0xaf4df9b4, kw=0xb127d57c) at ../Objects/funcobject.c:548 #48 0x0805950c in PyObject_Call (func=0xb7a6ac6c, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #49 0x080b4c37 in PyEval_EvalFrame (f=0x84f224c) at ../Python/ceval.c:3835 #50 0x080b716d in PyEval_EvalCodeEx (co=0xb75a0920, globals=0xb74f0a44, locals=0x0, args=0xb7520fb8, argcount=2, kws=0x85db330, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #51 0x080fb5fd in function_call (func=0xb74ed6f4, arg=0xb7520fac, kw=0xb7a6879c) at ../Objects/funcobject.c:548 #52 0x0805950c in PyObject_Call (func=0xb74ed6f4, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #53 0x080b4c37 in PyEval_EvalFrame (f=0x859cc2c) at ../Python/ceval.c:3835 ---Type <return> to continue, or q <return> to quit--- #54 0x080b570c in PyEval_EvalFrame (f=0x8450aec) at ../Python/ceval.c:3640 #55 0x080b716d in PyEval_EvalCodeEx (co=0xb7a60b20, globals=0xb7a52cec, locals=0x0, args=0xb4e167f8, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #56 0x080fb5fd in function_call (func=0xb7a64e2c, arg=0xb4e167ec, kw=0x0) at ../Objects/funcobject.c:548 #57 0x0805950c in PyObject_Call (func=0xb7a64e2c, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #58 0x0805eac5 in instancemethod_call (func=0xb7a64e2c, arg=0xb4e167ec, kw=0x6f) at ../Objects/classobject.c:2447 #59 0x0805950c in PyObject_Call (func=0xb4e7548c, arg=0x6f, kw=0x6f) at ../Objects/abstract.c:1756 #60 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x6f, arg=0xb7d6702c, kw=0x0) at ../Python/ceval.c:3425 #61 0x080e003d in t_bootstrap (boot_raw=0x852a480) at ../Modules/threadmodule.c:434 #62 0xb7f04361 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #63 0xb7e70bde in clone () from /lib/tls/i686/cmov/libc.so.6
Here's the Python stacktrace:
(gdb) pystack /home/trac/.local/lib/svn-python/libsvn/repos.py (47): svn_repos_open /home/trac/Projects/trac/trunk/trac/versioncontrol/svn_fs.py (295): __init__ /home/trac/Projects/trac/trunk/trac/versioncontrol/svn_fs.py (265): get_repository /home/trac/Projects/trac/trunk/trac/versioncontrol/api.py (265): get_repository /home/trac/Projects/trac/trunk/trac/env.py (87): get_repository /home/trac/Projects/trac/trunk/trac/versioncontrol/web_ui/browser.py (95): process_request /home/trac/Projects/trac/trunk/trac/web/main.py (95): dispatch /home/trac/Projects/trac/trunk/trac/web/main.py (238): dispatch_request /home/trac/Run/trac/external.py (378): tracApplication /home/trac/Run/trac/external.py (115): __call__ /home/trac/Projects/Twisted/trunk/twisted/web2/wsgi.py (199): run /home/trac/Projects/Twisted/trunk/twisted/python/context.py (38): callWithContext /home/trac/Projects/Twisted/trunk/twisted/python/context.py (59): callWithContext /home/trac/Projects/Twisted/trunk/twisted/python/threadpool.py (149): _worker /usr/lib/python2.4/threading.py (422): run /usr/lib/python2.4/threading.py (422): __bootstrap
Same versions of everything as I mentioned above.
comment:13 by , 18 years ago
Replying to exarkun@divmod.com:
Coincidentally, another segfault today. Here's the C stacktrace:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1242883152 (LWP 19246)] 0xb62b214b in svn_error_clear (err=0x6f) at subversion/libsvn_subr/error.c:273 273 apr_pool_destroy(err->pool); (gdb) bt #0 0xb62b214b in svn_error_clear (err=0x6f) at subversion/libsvn_subr/error.c:273 #1 0xb60ba9a8 in svn_fs_bdb__wrap_db (fs=0x8648d20, operation=0xb60d304f "opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93 ...
Sorry, but you should have followed the advice given in comment:7. You're still using the BDB backend, which has numerous known issues with Trac to the point we could pretty well say that it's not supported… it's not recommended for sure.
comment:14 by , 17 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Apparently the pysqlite related issues were gone after upgrading to a more recent pysqlite version (and possibly also because pysqlite connection pooling has been disabled in 0.10.4 - in case that was the version used).
The remaining backtrace are happening in the SVN python bindings in combination with BDB, which is a known problematic configuration when used with Trac.
comment:15 by , 17 years ago
Milestone: | 2.0 |
---|
Well, pysqlite2 segfaulted…
So the usual questions:
--enable-threadsafe
configuration switch set?