Edgewall Software
Modify

Ticket #3790 (closed defect: wontfix)

Opened 5 years ago

Last modified 4 years ago

trac segfault

Reported by: exarkun@… Owned by:
Priority: normal Milestone:
Component: general Version: 0.10rc1
Severity: major Keywords: pysqlite svn crash
Cc: exarkun@…
Release Notes:
API 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

Change History

comment:1 follow-up: Changed 5 years ago by cboos

  • Keywords pysqlite added
  • Owner changed from jonas to cboos
  • Priority changed from normal to high
  • Severity changed from normal to major

Well, pysqlite2 segfaulted...

So the usual questions:

  • what version of PySqlite?
  • what version of SQLite?
  • was PySqlite built with the --enable-threadsafe configuration switch set?

comment:2 in reply to: ↑ 1 Changed 5 years ago by cboos

Replying to cboos: > - was PySqlite built with the --enable-threadsafe configuration switch set? Sorry I meant SQLite in the above. Also, were other configuration options used?

comment:3 Changed 5 years ago by exarkun@…

  • Cc exarkun@… 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 Changed 5 years ago by cboos

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.

comment:5 Changed 5 years ago by anonymous

I've upgraded. I'll comment again if I see the problem again.

comment:6 follow-up: Changed 5 years ago by exarkun@…

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 in reply to: ↑ 6 Changed 5 years ago by cboos

  • 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 Changed 5 years ago by anonymous

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 Changed 5 years ago by exarkun@…

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 Changed 5 years ago by cboos

  • Milestone set to 0.10.1

I'm very interested to know if disabling r3830 was enough to avoid the crashes, as #3446 is really depending on that.

comment:11 Changed 5 years ago by cboos

  • Milestone changed from 0.10.3 to 2.0
  • Owner cboos deleted
  • Priority changed from high to 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

comment:12 follow-up: Changed 5 years ago by exarkun@…

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 in reply to: ↑ 12 Changed 5 years ago by cboos

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 Changed 4 years ago by cboos

  • Resolution set to wontfix
  • Status changed from new to 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 Changed 4 years ago by cboos

  • Milestone 2.0 deleted
View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
to The owner will be changed from (none). Next status will be 'closed'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.