Re: [Twisted-Python] trac's reliability
![](https://secure.gravatar.com/avatar/d6328babd9f9a98ecc905e1ccac2495e.jpg?s=120&d=mm&r=g)
On 27 Nov, 07:04 pm, foom@fuhm.net wrote:
It would be good to know, for the purposes of such discussions, who the official admin of these hosts is. If I knew, I'd ask that person to please upgrade everything to Dapper, thanks to its long updates support cycle and my relatively stable experience with it. Without knowing who it was and how long it's going to take though, it's hard to make suggestions.
![](https://secure.gravatar.com/avatar/15fa47f2847592672210af8a25cd1f34.jpg?s=120&d=mm&r=g)
Current trac status: more or less working. The immediate reason trac was hanging repeatedly *this time* is that trac's private mirror of the SVN repository was broken (svn info file:///$repo was also hanging, even though no other processes had the svn database open). svnadmin recover fixed it. So Trac seems to be working...for the moment. I've also disabled the daily synch from the real svn repo to see if that helps it keep running. I *think* the problem will reoccur anyhow, because I think trac/svn is somehow (recoverably) corrupting the bdb repo, but it's possible the copying process is what corrupting things but with a delayed effect. This also doesn't explain all the trac problems, only the one particular one that caused trac to be consistently unavailable for most of the morning. In addition, wolfwood is now running Debian Sarge. Seemingly with no casualties. Also: old unused services: freshcvs, tmcvs irc bot have been shut down. Local install of viewcvs replaced with packaged version (slightly newer, too, I guess). Probably sometime in the next few days I'll look into upgrading svn. James
![](https://secure.gravatar.com/avatar/1efc90ff6075b7654d8a8ce6e51a2cd3.jpg?s=120&d=mm&r=g)
James Y Knight <foom@fuhm.net> writes:
Current trac status: more or less working.
Hooray!
Certainly, the behaviour around this time yesterday was just crazy. Congrats on getting that much fixed :-) Cheers, mwh -- To summarise the summary of the summary:- people are a problem. -- The Hitch-Hikers Guide to the Galaxy, Episode 12
![](https://secure.gravatar.com/avatar/15fa47f2847592672210af8a25cd1f34.jpg?s=120&d=mm&r=g)
On Nov 29, 2006, at 12:53 AM, James Y Knight wrote:
Current trac status: more or less working.
So, two issues. Are there volunteers for following up on these with trac developers? I don't much feel like it, and JP says he's tired of doing it. 1) Trac just plain doesn't work with BDB. Pounding it with queries will reliably cause the process to segfault: /usr/sbin/ab2 -t 1000 -c10 -n100 http://host/trac/browser/ Segfaults every time. Here's two backtraces. This is fixed by using fsfs. Program terminated with signal 11, Segmentation fault. #0 0xb6a994d8 in apr_pool_destroy (pool=0x1c1) at apr_pools.c:727 727 while (pool->child) (gdb) bt #0 0xb6a994d8 in apr_pool_destroy (pool=0x1c1) at apr_pools.c:727 #1 0xb6a994e9 in apr_pool_destroy (pool=0x8fc1500) at apr_pools.c:728 #2 0xb6c09154 in svn_error_clear (err=0x8c908b0) at subversion/ libsvn_subr/error.c:273 #3 0xb6a1a9a8 in svn_fs_bdb__wrap_db (fs=0x85f8a70, operation=0xb6a3304f "opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93 #4 0xb6a23026 in open_databases (fs=0x85f8a70, create=0, path=0x85f8570 "/home/trac/svn/Twisted/db", pool=0x85f8270) at subversion/libsvn_fs_base/fs.c:559 #5 0xb6a23488 in base_open (fs=0x85f8a70, path=0x8fc1500 "\220\004", pool=0x85f8270) at subversion/libsvn_fs_base/fs.c:685 #6 0xb6d92a21 in svn_fs_open (fs_p=0x85f8530, path=0x85f8570 "/home/ trac/svn/Twisted/db", fs_config=0x0, pool=0x85f8270) at subversion/libsvn_fs/fs- loader.c:367 #7 0xb697435d in get_repos (repos_p=0xb763757c, path=Variable "path" is not available. ) at subversion/libsvn_repos/repos.c:1803 #8 0xb681c394 in _wrap_svn_repos_open (self=0x0, args=0x865a7ec) at ./subversion/bindings/swig/python/svn_repos.c:2047 #9 0x0805950c in PyObject_Call (func=0xb68f88ec, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #10 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x1c1, arg=0x865a7ec, kw=0x0) at ../Python/ceval.c:3425 #11 0x080a87ed in builtin_apply (self=0x0, args=0x1c1) at ../Python/ bltinmodule.c:100 #12 0x080b6911 in PyEval_EvalFrame (f=0x8aae9a4) at ../Python/ceval.c: 3558 #13 0x080b716d in PyEval_EvalCodeEx (co=0xb68e77a0, globals=0xb683e02c, locals=0x0, args=0x89a3fe4, argcount=2, kws=0x89a3fec, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #14 0x080b5619 in PyEval_EvalFrame (f=0x89a3e7c) at ../Python/ceval.c: 3651 #15 0x080b716d in PyEval_EvalCodeEx (co=0xb6cc6620, globals=0xb6cafe84, locals=0x0, args=0xb00d55d8, argcount=4, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Python/ceval.c:2736 #16 0x080fb5fd in function_call (func=0xb684487c, arg=0xb00d55cc, kw=0x0) at ../Objects/funcobject.c:548 #17 0x0805950c in PyObject_Call (func=0xb684487c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #18 0x0805eac5 in instancemethod_call (func=0xb684487c, arg=0xb00d55cc, kw=0x1c1) at ../Objects/classobject.c:2447 #19 0x0805950c in PyObject_Call (func=0xb4fd52fc, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #20 0x0808a965 in slot_tp_init (self=0x1c1, args=0x1c1, kwds=0x1c1) at ../Objects/typeobject.c:4762 #21 0x0808ca88 in type_call (type=0x84aa764, args=0xb4a654b4, kwds=0x0) at ../Objects/typeobject.c:435 #22 0x0805950c in PyObject_Call (func=0x84aa764, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #23 0x080b4af7 in PyEval_EvalFrame (f=0x8d293dc) at ../Python/ceval.c: 3766 #24 0x080b570c in PyEval_EvalFrame (f=0x8f1c974) at ../Python/ceval.c: 3640 #25 0x080b570c in PyEval_EvalFrame (f=0x84f9d4c) at ../Python/ceval.c: 3640 #26 0x080b716d in PyEval_EvalCodeEx (co=0xb7873c60, globals=0xb788279c, locals=0x0, args=0x9130b10, argcount=2, kws=0x9130b18, kwcount=0, defs=0xb78991d8, defcount=1, closure=0x0) at ../Python/ceval.c:2736 #27 0x080b5619 in PyEval_EvalFrame (f=0x913098c) at ../Python/ceval.c: 3651 #28 0x080b570c in PyEval_EvalFrame (f=0x936ac2c) at ../Python/ceval.c: 3640 #29 0x080b570c in PyEval_EvalFrame (f=0x89d8d44) at ../Python/ceval.c: 3640 #30 0x080b570c in PyEval_EvalFrame (f=0x9074f5c) at ../Python/ceval.c: 3640 #31 0x080b570c in PyEval_EvalFrame (f=0x936d434) at ../Python/ceval.c: 3640 #32 0x080b716d in PyEval_EvalCodeEx (co=0xb7a395e0, globals=0xb7991f0c, locals=0x0, args=0xb4a314c0, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 ---Type <return> to continue, or q <return> to quit--- #33 0x080fb5fd in function_call (func=0xb76e056c, arg=0xb4a314b4, kw=0x0) at ../Objects/funcobject.c:548 #34 0x0805950c in PyObject_Call (func=0xb76e056c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #35 0x0805eac5 in instancemethod_call (func=0xb76e056c, arg=0xb4a314b4, kw=0x1c1) at ../Objects/classobject.c:2447 #36 0x0805950c in PyObject_Call (func=0xb4fccb94, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #37 0x0808ac77 in slot_tp_call (self=0x1c1, args=0x1c1, kwds=0x1c1) at ../Objects/typeobject.c:4536 #38 0x0805950c in PyObject_Call (func=0xb765eb4c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #39 0x080b4af7 in PyEval_EvalFrame (f=0x8f7f46c) at ../Python/ceval.c: 3766 #40 0x080b716d in PyEval_EvalCodeEx (co=0xb77e1620, globals=0xb77a13e4, locals=0x0, args=0xb4f5f898, argcount=1, kws=0x9107388, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #41 0x080fb5fd in function_call (func=0xb76e025c, arg=0xb4f5f88c, kw=0xb4df3cec) at ../Objects/funcobject.c:548 #42 0x0805950c in PyObject_Call (func=0xb76e025c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #43 0x080b4c37 in PyEval_EvalFrame (f=0x916f734) at ../Python/ceval.c: 3835 #44 0x080b716d in PyEval_EvalCodeEx (co=0xb7b0b660, globals=0xb7b09b54, locals=0x0, args=0x89e41a0, argcount=3, kws=0x913b2d0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #45 0x080fb5fd in function_call (func=0xb7b21b54, arg=0x89e4194, kw=0x91ded74) at ../Objects/funcobject.c:548 #46 0x0805950c in PyObject_Call (func=0xb7b21b54, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #47 0x080b4c37 in PyEval_EvalFrame (f=0x9199a04) at ../Python/ceval.c: 3835 ---Type <return> to continue, or q <return> to quit--- #48 0x080b716d in PyEval_EvalCodeEx (co=0xb7b0b920, globals=0xb7b09b54, locals=0x0, args=0x89debc8, argcount=3, kws=0x907ad38, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #49 0x080fb5fd in function_call (func=0xb7b21c34, arg=0x89debbc, kw=0x91d1d74) at ../Objects/funcobject.c:548 #50 0x0805950c in PyObject_Call (func=0xb7b21c34, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #51 0x080b4c37 in PyEval_EvalFrame (f=0x81dbf84) at ../Python/ceval.c: 3835 #52 0x080b716d in PyEval_EvalCodeEx (co=0xb76fb560, globals=0xb76fd24c, locals=0x0, args=0xb7aaad78, argcount=2, kws=0x837dfe8, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #53 0x080fb5fd in function_call (func=0xb77001ec, arg=0xb7aaad6c, kw=0xb7b1f79c) at ../Objects/funcobject.c:548 #54 0x0805950c in PyObject_Call (func=0xb77001ec, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #55 0x080b4c37 in PyEval_EvalFrame (f=0x8188e74) at ../Python/ceval.c: 3835 #56 0x080b570c in PyEval_EvalFrame (f=0x81905fc) at ../Python/ceval.c: 3640 #57 0x080b716d in PyEval_EvalCodeEx (co=0xb7b17ae0, globals=0xb7b09cec, locals=0x0, args=0xb7662278, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #58 0x080fb5fd in function_call (func=0xb7b1bdf4, arg=0xb766226c, kw=0x0) at ../Objects/funcobject.c:548 #59 0x0805950c in PyObject_Call (func=0xb7b1bdf4, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #60 0x0805eac5 in instancemethod_call (func=0xb7b1bdf4, arg=0xb766226c, kw=0x1c1) at ../Objects/classobject.c:2447 #61 0x0805950c in PyObject_Call (func=0xb7847144, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #62 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x1c1, arg=0xb7e1c02c, kw=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Python/ceval.c:3425 #63 0x080e003d in t_bootstrap (boot_raw=0x83d9950) at ../Modules/ threadmodule.c:434 #64 0xb7fb9361 in start_thread () from /lib/tls/i686/cmov/ libpthread.so.0 #65 0xb7f25bde in clone () from /lib/tls/i686/cmov/libc.so.6 #0 0xb5b8114b in svn_error_clear (err=0x72) at subversion/ libsvn_subr/error.c:273 273 apr_pool_destroy(err->pool); (gdb) bt #0 0xb5b8114b in svn_error_clear (err=0x72) at subversion/ libsvn_subr/error.c:273 #1 0xb59929a8 in svn_fs_bdb__wrap_db (fs=0x878fb50, operation=0xb59ab04f "opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93 #2 0xb599b026 in open_databases (fs=0x878fb50, create=0, path=0x878f650 "/home/trac/svn/Twisted/db", pool=0x878f350) at subversion/libsvn_fs_base/fs.c:559 #3 0xb599b488 in base_open (fs=0x878fb50, path=0x8bccd00 "", pool=0x878f350) at subversion/libsvn_fs_base/fs.c:685 #4 0xb5d0ba21 in svn_fs_open (fs_p=0x878f610, path=0x878f650 "/home/ trac/svn/Twisted/db", fs_config=0x0, pool=0x878f350) at subversion/libsvn_fs/fs- loader.c:367 #5 0xb58ec35d in get_repos (repos_p=0xb00fa57c, path=Variable "path" is not available. ) at subversion/libsvn_repos/repos.c:1803 #6 0xb5794394 in _wrap_svn_repos_open (self=0x0, args=0x8b03d0c) at ./subversion/bindings/swig/python/svn_repos.c:2047 #7 0x0805950c in PyObject_Call (func=0xb57b558c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #8 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x72, arg=0x8b03d0c, kw=0x0) at ../Python/ceval.c:3425 #9 0x080a87ed in builtin_apply (self=0x0, args=0x72) at ../Python/ bltinmodule.c:100 #10 0x080b6911 in PyEval_EvalFrame (f=0x8755524) at ../Python/ceval.c: 3558 #11 0x080b716d in PyEval_EvalCodeEx (co=0xb5862820, globals=0xb57b913c, locals=0x0, args=0x8777e94, argcount=2, kws=0x8777e9c, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #12 0x080b5619 in PyEval_EvalFrame (f=0x8777d2c) at ../Python/ceval.c: 3651 #13 0x080b716d in PyEval_EvalCodeEx (co=0xb5c436e0, globals=0xb5c2e57c, locals=0x0, args=0x8649380, argcount=4, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #14 0x080fb5fd in function_call (func=0xb57c08ec, arg=0x8649374, kw=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Objects/funcobject.c:548 #15 0x0805950c in PyObject_Call (func=0xb57c08ec, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #16 0x0805eac5 in instancemethod_call (func=0xb57c08ec, arg=0x8649374, kw=0x72) at ../Objects/classobject.c:2447 #17 0x0805950c in PyObject_Call (func=0x863052c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #18 0x0808a965 in slot_tp_init (self=0x72, args=0x72, kwds=0x72) at ../Objects/typeobject.c:4762 #19 0x0808ca88 in type_call (type=0x84b4594, args=0x8ad9144, kwds=0x0) at ../Objects/typeobject.c:435 #20 0x0805950c in PyObject_Call (func=0x84b4594, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #21 0x080b4af7 in PyEval_EvalFrame (f=0x886c41c) at ../Python/ceval.c: 3766 #22 0x080b570c in PyEval_EvalFrame (f=0x88f695c) at ../Python/ceval.c: 3640 #23 0x080b570c in PyEval_EvalFrame (f=0x88f4a9c) at ../Python/ceval.c: 3640 #24 0x080b716d in PyEval_EvalCodeEx (co=0xb77edca0, globals=0xb77fc79c, locals=0x0, args=0x88f5548, argcount=2, kws=0x88f5550, kwcount=0, defs=0xb78121d8, defcount=1, closure=0x0) at ../Python/ceval.c:2736 #25 0x080b5619 in PyEval_EvalFrame (f=0x88f53c4) at ../Python/ceval.c: 3651 #26 0x080b570c in PyEval_EvalFrame (f=0x88f4e8c) at ../Python/ceval.c: 3640 #27 0x080b570c in PyEval_EvalFrame (f=0x85c49fc) at ../Python/ceval.c: 3640 #28 0x080b570c in PyEval_EvalFrame (f=0x88f345c) at ../Python/ceval.c: 3640 #29 0x080b570c in PyEval_EvalFrame (f=0x8bdf084) at ../Python/ceval.c: 3640 #30 0x080b716d in PyEval_EvalCodeEx (co=0xb79b3620, globals=0xb790bf0c, locals=0x0, args=0xb12db358, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #31 0x080fb5fd in function_call (func=0xb765a56c, arg=0xb12db34c, kw=0x0) at ../Objects/funcobject.c:548 ---Type <return> to continue, or q <return> to quit--- #32 0x0805950c in PyObject_Call (func=0xb765a56c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #33 0x0805eac5 in instancemethod_call (func=0xb765a56c, arg=0xb12db34c, kw=0x72) at ../Objects/classobject.c:2447 #34 0x0805950c in PyObject_Call (func=0x8650dec, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #35 0x0808ac77 in slot_tp_call (self=0x72, args=0x72, kwds=0x72) at ../Objects/typeobject.c:4536 #36 0x0805950c in PyObject_Call (func=0xb75d8b4c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #37 0x080b4af7 in PyEval_EvalFrame (f=0x88f475c) at ../Python/ceval.c: 3766 #38 0x080b716d in PyEval_EvalCodeEx (co=0xb775b660, globals=0xb771b3e4, locals=0x0, args=0xaa0b6b18, argcount=1, kws=0x85b0940, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #39 0x080fb5fd in function_call (func=0xb765a25c, arg=0xaa0b6b0c, kw=0x8c988ac) at ../Objects/funcobject.c:548 #40 0x0805950c in PyObject_Call (func=0xb765a25c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #41 0x080b4c37 in PyEval_EvalFrame (f=0x898a6b4) at ../Python/ceval.c: 3835 #42 0x080b716d in PyEval_EvalCodeEx (co=0xb7a856a0, globals=0xb7a83b54, locals=0x0, args=0x86d6588, argcount=3, kws=0x85896c8, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #43 0x080fb5fd in function_call (func=0xb7a9bb54, arg=0x86d657c, kw=0x8c9a35c) at ../Objects/funcobject.c:548 #44 0x0805950c in PyObject_Call (func=0xb7a9bb54, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #45 0x080b4c37 in PyEval_EvalFrame (f=0x85dbcfc) at ../Python/ceval.c: 3835 #46 0x080b716d in PyEval_EvalCodeEx (co=0xb7a85960, globals=0xb7a83b54, locals=0x0, args=0xaa0c1e20, argcount=3, kws=0x88efb88, kwcount=0, defs=0x0, defcount=0, closure=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Python/ceval.c:2736 #47 0x080fb5fd in function_call (func=0xb7a9bc34, arg=0xaa0c1e14, kw=0x8c9acec) at ../Objects/funcobject.c:548 #48 0x0805950c in PyObject_Call (func=0xb7a9bc34, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #49 0x080b4c37 in PyEval_EvalFrame (f=0x875ec14) at ../Python/ceval.c: 3835 #50 0x080b716d in PyEval_EvalCodeEx (co=0xb76755a0, globals=0xb767724c, locals=0x0, args=0x8a1e358, argcount=2, kws=0x86a9a00, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #51 0x080fb5fd in function_call (func=0xb767a1ec, arg=0x8a1e34c, kw=0xb7a9979c) at ../Objects/funcobject.c:548 #52 0x0805950c in PyObject_Call (func=0xb767a1ec, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #53 0x080b4c37 in PyEval_EvalFrame (f=0x876f884) at ../Python/ceval.c: 3835 #54 0x080b570c in PyEval_EvalFrame (f=0x829ee2c) at ../Python/ceval.c: 3640 #55 0x080b716d in PyEval_EvalCodeEx (co=0xb7a91b20, globals=0xb7a83cec, locals=0x0, args=0x8a48658, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #56 0x080fb5fd in function_call (func=0xb7a95df4, arg=0x8a4864c, kw=0x0) at ../Objects/funcobject.c:548 #57 0x0805950c in PyObject_Call (func=0xb7a95df4, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #58 0x0805eac5 in instancemethod_call (func=0xb7a95df4, arg=0x8a4864c, kw=0x72) at ../Objects/classobject.c:2447 #59 0x0805950c in PyObject_Call (func=0x8a386bc, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #60 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x72, arg=0xb7d9602c, kw=0x0) at ../Python/ceval.c:3425 #61 0x080e003d in t_bootstrap (boot_raw=0x875e6d8) at ../Modules/ threadmodule.c:434 ---Type <return> to continue, or q <return> to quit--- #62 0xb7f33361 in start_thread () from /lib/tls/i686/cmov/ libpthread.so.0 #63 0xb7e9fbde in clone () from /lib/tls/i686/cmov/libc.so.6 2) Horrible horrible locking (?) issues on the /trac/browser page. Hitting it with concurrency > 2 makes it handle about one request every 2 seconds, probably database lock contention or something. But also, it starts giving error pages like this. This is an traceback when trying to generate an error page. Yay. Traceback (most recent call last): File "/home/trac/Projects/trac/trunk/trac/web/api.py", line 382, in send_error 'text/html') File "/home/trac/Projects/trac/trunk/trac/web/chrome.py", line 475, in render_template return stream.render(method, doctype=doctype) File "/home/trac/Projects/genshi/trunk/genshi/core.py", line 146, in render output = u''.join(list(generator)) File "/home/trac/Projects/genshi/trunk/genshi/output.py", line 200, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/output.py", line 486, in __call__ for kind, data, pos in chain(stream, [(None, None, None)]): File "/home/trac/Projects/genshi/trunk/genshi/output.py", line 436, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/core.py", line 207, in _ensure for event in stream: File "/home/trac/Projects/genshi/trunk/genshi/core.py", line 207, in _ensure for event in stream: File "/home/trac/Projects/trac/trunk/trac/web/chrome.py", line 478, in _strip_accesskeys for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/filters.py", line 313, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 1145, in _match content = list(content) File "/home/trac/Projects/genshi/trunk/genshi/filters.py", line 313, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 1120, in _match for event in stream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 1109, in _strip event = stream.next() File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 941, in _eval for event in substream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 920, in _eval ctxt): File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 930, in _eval result = data.evaluate(ctxt) File "/home/trac/Projects/genshi/trunk/genshi/eval.py", line 101, in evaluate {'data': data}) File "/home/trac/Projects/trac/trunk/templates/error.html", line 36, in <Expression u"get_reporter_id(req)"> <input type="hidden" name="reporter" value="${get_reporter_id (req)}" /> File "/home/trac/Projects/trac/trunk/trac/util/__init__.py", line 50, in get_reporter_id name = req.session.get('name', None) AttributeError: 'NoneType' object has no attribute 'get' James
![](https://secure.gravatar.com/avatar/fb3faf87d0fc6286f13f89433946f4cb.jpg?s=120&d=mm&r=g)
James Y Knight wrote:
Is this due to sqlite? I haven't looked at the Trac code, and I couldn't see it explicitly in the traceback, but it certainly sounds a bit like an sqlite vs postgresql problem, and it fits the description of the Trac developers. The lock problems in sqlite are typcially related to writes though. Is something written to the database here? What sqlite version is this? Sqlite 3 has a better locking mechanism than sqlite 2. -- Magnus Lyckå, M.Sc. Team Leader Verification & Integration ______________________________________ Jeppesen Commercial & Military Aviation **Making Every Mission Possible** ph: +46 31 720 63 20 | fax: +46 31 720 81 20 | magnus.lycka@jeppesen.com Odinsgatan 9 | SE-411 03 Göteborg, SWEDEN | www.jeppesen.com/carmen
![](https://secure.gravatar.com/avatar/15fa47f2847592672210af8a25cd1f34.jpg?s=120&d=mm&r=g)
On Nov 29, 2006, at 6:56 PM, Magnus Lycka wrote:
The traceback looks like it's from a bug in the error page generator, so the real error is obscured. It's using sqlite3. I'm no trac expert, so I can't actually answer the rest of your questions. In other news: the master svn repository has been upgraded to 1.4.2 fsfs (from debian testing), and thus trac now gets an up-to-date view of the repository. (currently synched via rsync every 10 minutes because that was most expedient). So besides being horrendously slow, trac now seems to be in pretty good shape. I think next it'd be nice if someone would install/enable/whatever the anti-spam plugin and re-enable editing the wiki for all registered users. James
![](https://secure.gravatar.com/avatar/15fa47f2847592672210af8a25cd1f34.jpg?s=120&d=mm&r=g)
Current trac status: more or less working. The immediate reason trac was hanging repeatedly *this time* is that trac's private mirror of the SVN repository was broken (svn info file:///$repo was also hanging, even though no other processes had the svn database open). svnadmin recover fixed it. So Trac seems to be working...for the moment. I've also disabled the daily synch from the real svn repo to see if that helps it keep running. I *think* the problem will reoccur anyhow, because I think trac/svn is somehow (recoverably) corrupting the bdb repo, but it's possible the copying process is what corrupting things but with a delayed effect. This also doesn't explain all the trac problems, only the one particular one that caused trac to be consistently unavailable for most of the morning. In addition, wolfwood is now running Debian Sarge. Seemingly with no casualties. Also: old unused services: freshcvs, tmcvs irc bot have been shut down. Local install of viewcvs replaced with packaged version (slightly newer, too, I guess). Probably sometime in the next few days I'll look into upgrading svn. James
![](https://secure.gravatar.com/avatar/1efc90ff6075b7654d8a8ce6e51a2cd3.jpg?s=120&d=mm&r=g)
James Y Knight <foom@fuhm.net> writes:
Current trac status: more or less working.
Hooray!
Certainly, the behaviour around this time yesterday was just crazy. Congrats on getting that much fixed :-) Cheers, mwh -- To summarise the summary of the summary:- people are a problem. -- The Hitch-Hikers Guide to the Galaxy, Episode 12
![](https://secure.gravatar.com/avatar/15fa47f2847592672210af8a25cd1f34.jpg?s=120&d=mm&r=g)
On Nov 29, 2006, at 12:53 AM, James Y Knight wrote:
Current trac status: more or less working.
So, two issues. Are there volunteers for following up on these with trac developers? I don't much feel like it, and JP says he's tired of doing it. 1) Trac just plain doesn't work with BDB. Pounding it with queries will reliably cause the process to segfault: /usr/sbin/ab2 -t 1000 -c10 -n100 http://host/trac/browser/ Segfaults every time. Here's two backtraces. This is fixed by using fsfs. Program terminated with signal 11, Segmentation fault. #0 0xb6a994d8 in apr_pool_destroy (pool=0x1c1) at apr_pools.c:727 727 while (pool->child) (gdb) bt #0 0xb6a994d8 in apr_pool_destroy (pool=0x1c1) at apr_pools.c:727 #1 0xb6a994e9 in apr_pool_destroy (pool=0x8fc1500) at apr_pools.c:728 #2 0xb6c09154 in svn_error_clear (err=0x8c908b0) at subversion/ libsvn_subr/error.c:273 #3 0xb6a1a9a8 in svn_fs_bdb__wrap_db (fs=0x85f8a70, operation=0xb6a3304f "opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93 #4 0xb6a23026 in open_databases (fs=0x85f8a70, create=0, path=0x85f8570 "/home/trac/svn/Twisted/db", pool=0x85f8270) at subversion/libsvn_fs_base/fs.c:559 #5 0xb6a23488 in base_open (fs=0x85f8a70, path=0x8fc1500 "\220\004", pool=0x85f8270) at subversion/libsvn_fs_base/fs.c:685 #6 0xb6d92a21 in svn_fs_open (fs_p=0x85f8530, path=0x85f8570 "/home/ trac/svn/Twisted/db", fs_config=0x0, pool=0x85f8270) at subversion/libsvn_fs/fs- loader.c:367 #7 0xb697435d in get_repos (repos_p=0xb763757c, path=Variable "path" is not available. ) at subversion/libsvn_repos/repos.c:1803 #8 0xb681c394 in _wrap_svn_repos_open (self=0x0, args=0x865a7ec) at ./subversion/bindings/swig/python/svn_repos.c:2047 #9 0x0805950c in PyObject_Call (func=0xb68f88ec, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #10 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x1c1, arg=0x865a7ec, kw=0x0) at ../Python/ceval.c:3425 #11 0x080a87ed in builtin_apply (self=0x0, args=0x1c1) at ../Python/ bltinmodule.c:100 #12 0x080b6911 in PyEval_EvalFrame (f=0x8aae9a4) at ../Python/ceval.c: 3558 #13 0x080b716d in PyEval_EvalCodeEx (co=0xb68e77a0, globals=0xb683e02c, locals=0x0, args=0x89a3fe4, argcount=2, kws=0x89a3fec, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #14 0x080b5619 in PyEval_EvalFrame (f=0x89a3e7c) at ../Python/ceval.c: 3651 #15 0x080b716d in PyEval_EvalCodeEx (co=0xb6cc6620, globals=0xb6cafe84, locals=0x0, args=0xb00d55d8, argcount=4, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Python/ceval.c:2736 #16 0x080fb5fd in function_call (func=0xb684487c, arg=0xb00d55cc, kw=0x0) at ../Objects/funcobject.c:548 #17 0x0805950c in PyObject_Call (func=0xb684487c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #18 0x0805eac5 in instancemethod_call (func=0xb684487c, arg=0xb00d55cc, kw=0x1c1) at ../Objects/classobject.c:2447 #19 0x0805950c in PyObject_Call (func=0xb4fd52fc, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #20 0x0808a965 in slot_tp_init (self=0x1c1, args=0x1c1, kwds=0x1c1) at ../Objects/typeobject.c:4762 #21 0x0808ca88 in type_call (type=0x84aa764, args=0xb4a654b4, kwds=0x0) at ../Objects/typeobject.c:435 #22 0x0805950c in PyObject_Call (func=0x84aa764, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #23 0x080b4af7 in PyEval_EvalFrame (f=0x8d293dc) at ../Python/ceval.c: 3766 #24 0x080b570c in PyEval_EvalFrame (f=0x8f1c974) at ../Python/ceval.c: 3640 #25 0x080b570c in PyEval_EvalFrame (f=0x84f9d4c) at ../Python/ceval.c: 3640 #26 0x080b716d in PyEval_EvalCodeEx (co=0xb7873c60, globals=0xb788279c, locals=0x0, args=0x9130b10, argcount=2, kws=0x9130b18, kwcount=0, defs=0xb78991d8, defcount=1, closure=0x0) at ../Python/ceval.c:2736 #27 0x080b5619 in PyEval_EvalFrame (f=0x913098c) at ../Python/ceval.c: 3651 #28 0x080b570c in PyEval_EvalFrame (f=0x936ac2c) at ../Python/ceval.c: 3640 #29 0x080b570c in PyEval_EvalFrame (f=0x89d8d44) at ../Python/ceval.c: 3640 #30 0x080b570c in PyEval_EvalFrame (f=0x9074f5c) at ../Python/ceval.c: 3640 #31 0x080b570c in PyEval_EvalFrame (f=0x936d434) at ../Python/ceval.c: 3640 #32 0x080b716d in PyEval_EvalCodeEx (co=0xb7a395e0, globals=0xb7991f0c, locals=0x0, args=0xb4a314c0, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 ---Type <return> to continue, or q <return> to quit--- #33 0x080fb5fd in function_call (func=0xb76e056c, arg=0xb4a314b4, kw=0x0) at ../Objects/funcobject.c:548 #34 0x0805950c in PyObject_Call (func=0xb76e056c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #35 0x0805eac5 in instancemethod_call (func=0xb76e056c, arg=0xb4a314b4, kw=0x1c1) at ../Objects/classobject.c:2447 #36 0x0805950c in PyObject_Call (func=0xb4fccb94, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #37 0x0808ac77 in slot_tp_call (self=0x1c1, args=0x1c1, kwds=0x1c1) at ../Objects/typeobject.c:4536 #38 0x0805950c in PyObject_Call (func=0xb765eb4c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #39 0x080b4af7 in PyEval_EvalFrame (f=0x8f7f46c) at ../Python/ceval.c: 3766 #40 0x080b716d in PyEval_EvalCodeEx (co=0xb77e1620, globals=0xb77a13e4, locals=0x0, args=0xb4f5f898, argcount=1, kws=0x9107388, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #41 0x080fb5fd in function_call (func=0xb76e025c, arg=0xb4f5f88c, kw=0xb4df3cec) at ../Objects/funcobject.c:548 #42 0x0805950c in PyObject_Call (func=0xb76e025c, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #43 0x080b4c37 in PyEval_EvalFrame (f=0x916f734) at ../Python/ceval.c: 3835 #44 0x080b716d in PyEval_EvalCodeEx (co=0xb7b0b660, globals=0xb7b09b54, locals=0x0, args=0x89e41a0, argcount=3, kws=0x913b2d0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #45 0x080fb5fd in function_call (func=0xb7b21b54, arg=0x89e4194, kw=0x91ded74) at ../Objects/funcobject.c:548 #46 0x0805950c in PyObject_Call (func=0xb7b21b54, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #47 0x080b4c37 in PyEval_EvalFrame (f=0x9199a04) at ../Python/ceval.c: 3835 ---Type <return> to continue, or q <return> to quit--- #48 0x080b716d in PyEval_EvalCodeEx (co=0xb7b0b920, globals=0xb7b09b54, locals=0x0, args=0x89debc8, argcount=3, kws=0x907ad38, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #49 0x080fb5fd in function_call (func=0xb7b21c34, arg=0x89debbc, kw=0x91d1d74) at ../Objects/funcobject.c:548 #50 0x0805950c in PyObject_Call (func=0xb7b21c34, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #51 0x080b4c37 in PyEval_EvalFrame (f=0x81dbf84) at ../Python/ceval.c: 3835 #52 0x080b716d in PyEval_EvalCodeEx (co=0xb76fb560, globals=0xb76fd24c, locals=0x0, args=0xb7aaad78, argcount=2, kws=0x837dfe8, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #53 0x080fb5fd in function_call (func=0xb77001ec, arg=0xb7aaad6c, kw=0xb7b1f79c) at ../Objects/funcobject.c:548 #54 0x0805950c in PyObject_Call (func=0xb77001ec, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #55 0x080b4c37 in PyEval_EvalFrame (f=0x8188e74) at ../Python/ceval.c: 3835 #56 0x080b570c in PyEval_EvalFrame (f=0x81905fc) at ../Python/ceval.c: 3640 #57 0x080b716d in PyEval_EvalCodeEx (co=0xb7b17ae0, globals=0xb7b09cec, locals=0x0, args=0xb7662278, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #58 0x080fb5fd in function_call (func=0xb7b1bdf4, arg=0xb766226c, kw=0x0) at ../Objects/funcobject.c:548 #59 0x0805950c in PyObject_Call (func=0xb7b1bdf4, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #60 0x0805eac5 in instancemethod_call (func=0xb7b1bdf4, arg=0xb766226c, kw=0x1c1) at ../Objects/classobject.c:2447 #61 0x0805950c in PyObject_Call (func=0xb7847144, arg=0x1c1, kw=0x1c1) at ../Objects/abstract.c:1756 #62 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x1c1, arg=0xb7e1c02c, kw=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Python/ceval.c:3425 #63 0x080e003d in t_bootstrap (boot_raw=0x83d9950) at ../Modules/ threadmodule.c:434 #64 0xb7fb9361 in start_thread () from /lib/tls/i686/cmov/ libpthread.so.0 #65 0xb7f25bde in clone () from /lib/tls/i686/cmov/libc.so.6 #0 0xb5b8114b in svn_error_clear (err=0x72) at subversion/ libsvn_subr/error.c:273 273 apr_pool_destroy(err->pool); (gdb) bt #0 0xb5b8114b in svn_error_clear (err=0x72) at subversion/ libsvn_subr/error.c:273 #1 0xb59929a8 in svn_fs_bdb__wrap_db (fs=0x878fb50, operation=0xb59ab04f "opening 'nodes' table", db_err=0) at subversion/libsvn_fs_base/bdb/bdb-err.c:93 #2 0xb599b026 in open_databases (fs=0x878fb50, create=0, path=0x878f650 "/home/trac/svn/Twisted/db", pool=0x878f350) at subversion/libsvn_fs_base/fs.c:559 #3 0xb599b488 in base_open (fs=0x878fb50, path=0x8bccd00 "", pool=0x878f350) at subversion/libsvn_fs_base/fs.c:685 #4 0xb5d0ba21 in svn_fs_open (fs_p=0x878f610, path=0x878f650 "/home/ trac/svn/Twisted/db", fs_config=0x0, pool=0x878f350) at subversion/libsvn_fs/fs- loader.c:367 #5 0xb58ec35d in get_repos (repos_p=0xb00fa57c, path=Variable "path" is not available. ) at subversion/libsvn_repos/repos.c:1803 #6 0xb5794394 in _wrap_svn_repos_open (self=0x0, args=0x8b03d0c) at ./subversion/bindings/swig/python/svn_repos.c:2047 #7 0x0805950c in PyObject_Call (func=0xb57b558c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #8 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x72, arg=0x8b03d0c, kw=0x0) at ../Python/ceval.c:3425 #9 0x080a87ed in builtin_apply (self=0x0, args=0x72) at ../Python/ bltinmodule.c:100 #10 0x080b6911 in PyEval_EvalFrame (f=0x8755524) at ../Python/ceval.c: 3558 #11 0x080b716d in PyEval_EvalCodeEx (co=0xb5862820, globals=0xb57b913c, locals=0x0, args=0x8777e94, argcount=2, kws=0x8777e9c, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #12 0x080b5619 in PyEval_EvalFrame (f=0x8777d2c) at ../Python/ceval.c: 3651 #13 0x080b716d in PyEval_EvalCodeEx (co=0xb5c436e0, globals=0xb5c2e57c, locals=0x0, args=0x8649380, argcount=4, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #14 0x080fb5fd in function_call (func=0xb57c08ec, arg=0x8649374, kw=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Objects/funcobject.c:548 #15 0x0805950c in PyObject_Call (func=0xb57c08ec, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #16 0x0805eac5 in instancemethod_call (func=0xb57c08ec, arg=0x8649374, kw=0x72) at ../Objects/classobject.c:2447 #17 0x0805950c in PyObject_Call (func=0x863052c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #18 0x0808a965 in slot_tp_init (self=0x72, args=0x72, kwds=0x72) at ../Objects/typeobject.c:4762 #19 0x0808ca88 in type_call (type=0x84b4594, args=0x8ad9144, kwds=0x0) at ../Objects/typeobject.c:435 #20 0x0805950c in PyObject_Call (func=0x84b4594, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #21 0x080b4af7 in PyEval_EvalFrame (f=0x886c41c) at ../Python/ceval.c: 3766 #22 0x080b570c in PyEval_EvalFrame (f=0x88f695c) at ../Python/ceval.c: 3640 #23 0x080b570c in PyEval_EvalFrame (f=0x88f4a9c) at ../Python/ceval.c: 3640 #24 0x080b716d in PyEval_EvalCodeEx (co=0xb77edca0, globals=0xb77fc79c, locals=0x0, args=0x88f5548, argcount=2, kws=0x88f5550, kwcount=0, defs=0xb78121d8, defcount=1, closure=0x0) at ../Python/ceval.c:2736 #25 0x080b5619 in PyEval_EvalFrame (f=0x88f53c4) at ../Python/ceval.c: 3651 #26 0x080b570c in PyEval_EvalFrame (f=0x88f4e8c) at ../Python/ceval.c: 3640 #27 0x080b570c in PyEval_EvalFrame (f=0x85c49fc) at ../Python/ceval.c: 3640 #28 0x080b570c in PyEval_EvalFrame (f=0x88f345c) at ../Python/ceval.c: 3640 #29 0x080b570c in PyEval_EvalFrame (f=0x8bdf084) at ../Python/ceval.c: 3640 #30 0x080b716d in PyEval_EvalCodeEx (co=0xb79b3620, globals=0xb790bf0c, locals=0x0, args=0xb12db358, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #31 0x080fb5fd in function_call (func=0xb765a56c, arg=0xb12db34c, kw=0x0) at ../Objects/funcobject.c:548 ---Type <return> to continue, or q <return> to quit--- #32 0x0805950c in PyObject_Call (func=0xb765a56c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #33 0x0805eac5 in instancemethod_call (func=0xb765a56c, arg=0xb12db34c, kw=0x72) at ../Objects/classobject.c:2447 #34 0x0805950c in PyObject_Call (func=0x8650dec, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #35 0x0808ac77 in slot_tp_call (self=0x72, args=0x72, kwds=0x72) at ../Objects/typeobject.c:4536 #36 0x0805950c in PyObject_Call (func=0xb75d8b4c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #37 0x080b4af7 in PyEval_EvalFrame (f=0x88f475c) at ../Python/ceval.c: 3766 #38 0x080b716d in PyEval_EvalCodeEx (co=0xb775b660, globals=0xb771b3e4, locals=0x0, args=0xaa0b6b18, argcount=1, kws=0x85b0940, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #39 0x080fb5fd in function_call (func=0xb765a25c, arg=0xaa0b6b0c, kw=0x8c988ac) at ../Objects/funcobject.c:548 #40 0x0805950c in PyObject_Call (func=0xb765a25c, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #41 0x080b4c37 in PyEval_EvalFrame (f=0x898a6b4) at ../Python/ceval.c: 3835 #42 0x080b716d in PyEval_EvalCodeEx (co=0xb7a856a0, globals=0xb7a83b54, locals=0x0, args=0x86d6588, argcount=3, kws=0x85896c8, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #43 0x080fb5fd in function_call (func=0xb7a9bb54, arg=0x86d657c, kw=0x8c9a35c) at ../Objects/funcobject.c:548 #44 0x0805950c in PyObject_Call (func=0xb7a9bb54, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #45 0x080b4c37 in PyEval_EvalFrame (f=0x85dbcfc) at ../Python/ceval.c: 3835 #46 0x080b716d in PyEval_EvalCodeEx (co=0xb7a85960, globals=0xb7a83b54, locals=0x0, args=0xaa0c1e20, argcount=3, kws=0x88efb88, kwcount=0, defs=0x0, defcount=0, closure=0x0) ---Type <return> to continue, or q <return> to quit--- at ../Python/ceval.c:2736 #47 0x080fb5fd in function_call (func=0xb7a9bc34, arg=0xaa0c1e14, kw=0x8c9acec) at ../Objects/funcobject.c:548 #48 0x0805950c in PyObject_Call (func=0xb7a9bc34, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #49 0x080b4c37 in PyEval_EvalFrame (f=0x875ec14) at ../Python/ceval.c: 3835 #50 0x080b716d in PyEval_EvalCodeEx (co=0xb76755a0, globals=0xb767724c, locals=0x0, args=0x8a1e358, argcount=2, kws=0x86a9a00, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #51 0x080fb5fd in function_call (func=0xb767a1ec, arg=0x8a1e34c, kw=0xb7a9979c) at ../Objects/funcobject.c:548 #52 0x0805950c in PyObject_Call (func=0xb767a1ec, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #53 0x080b4c37 in PyEval_EvalFrame (f=0x876f884) at ../Python/ceval.c: 3835 #54 0x080b570c in PyEval_EvalFrame (f=0x829ee2c) at ../Python/ceval.c: 3640 #55 0x080b716d in PyEval_EvalCodeEx (co=0xb7a91b20, globals=0xb7a83cec, locals=0x0, args=0x8a48658, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2736 #56 0x080fb5fd in function_call (func=0xb7a95df4, arg=0x8a4864c, kw=0x0) at ../Objects/funcobject.c:548 #57 0x0805950c in PyObject_Call (func=0xb7a95df4, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #58 0x0805eac5 in instancemethod_call (func=0xb7a95df4, arg=0x8a4864c, kw=0x72) at ../Objects/classobject.c:2447 #59 0x0805950c in PyObject_Call (func=0x8a386bc, arg=0x72, kw=0x72) at ../Objects/abstract.c:1756 #60 0x080afdd7 in PyEval_CallObjectWithKeywords (func=0x72, arg=0xb7d9602c, kw=0x0) at ../Python/ceval.c:3425 #61 0x080e003d in t_bootstrap (boot_raw=0x875e6d8) at ../Modules/ threadmodule.c:434 ---Type <return> to continue, or q <return> to quit--- #62 0xb7f33361 in start_thread () from /lib/tls/i686/cmov/ libpthread.so.0 #63 0xb7e9fbde in clone () from /lib/tls/i686/cmov/libc.so.6 2) Horrible horrible locking (?) issues on the /trac/browser page. Hitting it with concurrency > 2 makes it handle about one request every 2 seconds, probably database lock contention or something. But also, it starts giving error pages like this. This is an traceback when trying to generate an error page. Yay. Traceback (most recent call last): File "/home/trac/Projects/trac/trunk/trac/web/api.py", line 382, in send_error 'text/html') File "/home/trac/Projects/trac/trunk/trac/web/chrome.py", line 475, in render_template return stream.render(method, doctype=doctype) File "/home/trac/Projects/genshi/trunk/genshi/core.py", line 146, in render output = u''.join(list(generator)) File "/home/trac/Projects/genshi/trunk/genshi/output.py", line 200, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/output.py", line 486, in __call__ for kind, data, pos in chain(stream, [(None, None, None)]): File "/home/trac/Projects/genshi/trunk/genshi/output.py", line 436, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/core.py", line 207, in _ensure for event in stream: File "/home/trac/Projects/genshi/trunk/genshi/core.py", line 207, in _ensure for event in stream: File "/home/trac/Projects/trac/trunk/trac/web/chrome.py", line 478, in _strip_accesskeys for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/filters.py", line 313, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 1145, in _match content = list(content) File "/home/trac/Projects/genshi/trunk/genshi/filters.py", line 313, in __call__ for kind, data, pos in stream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 1120, in _match for event in stream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 1109, in _strip event = stream.next() File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 941, in _eval for event in substream: File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 920, in _eval ctxt): File "/home/trac/Projects/genshi/trunk/genshi/template.py", line 930, in _eval result = data.evaluate(ctxt) File "/home/trac/Projects/genshi/trunk/genshi/eval.py", line 101, in evaluate {'data': data}) File "/home/trac/Projects/trac/trunk/templates/error.html", line 36, in <Expression u"get_reporter_id(req)"> <input type="hidden" name="reporter" value="${get_reporter_id (req)}" /> File "/home/trac/Projects/trac/trunk/trac/util/__init__.py", line 50, in get_reporter_id name = req.session.get('name', None) AttributeError: 'NoneType' object has no attribute 'get' James
![](https://secure.gravatar.com/avatar/fb3faf87d0fc6286f13f89433946f4cb.jpg?s=120&d=mm&r=g)
James Y Knight wrote:
Is this due to sqlite? I haven't looked at the Trac code, and I couldn't see it explicitly in the traceback, but it certainly sounds a bit like an sqlite vs postgresql problem, and it fits the description of the Trac developers. The lock problems in sqlite are typcially related to writes though. Is something written to the database here? What sqlite version is this? Sqlite 3 has a better locking mechanism than sqlite 2. -- Magnus Lyckå, M.Sc. Team Leader Verification & Integration ______________________________________ Jeppesen Commercial & Military Aviation **Making Every Mission Possible** ph: +46 31 720 63 20 | fax: +46 31 720 81 20 | magnus.lycka@jeppesen.com Odinsgatan 9 | SE-411 03 Göteborg, SWEDEN | www.jeppesen.com/carmen
![](https://secure.gravatar.com/avatar/15fa47f2847592672210af8a25cd1f34.jpg?s=120&d=mm&r=g)
On Nov 29, 2006, at 6:56 PM, Magnus Lycka wrote:
The traceback looks like it's from a bug in the error page generator, so the real error is obscured. It's using sqlite3. I'm no trac expert, so I can't actually answer the rest of your questions. In other news: the master svn repository has been upgraded to 1.4.2 fsfs (from debian testing), and thus trac now gets an up-to-date view of the repository. (currently synched via rsync every 10 minutes because that was most expedient). So besides being horrendously slow, trac now seems to be in pretty good shape. I think next it'd be nice if someone would install/enable/whatever the anti-spam plugin and re-enable editing the wiki for all registered users. James
participants (5)
-
Cory Dodt
-
glyph@divmod.com
-
James Y Knight
-
Magnus Lycka
-
Michael Hudson