IRC log of #schooltool for Wednesday, 2004-04-07

**** BEGIN LOGGING AT Wed Apr 7 17:08:25 2004
-->You are now talking on #schooltool17:08
mgedminaargh, libxml2 returns UTF-8 strings instead of Unicode strings17:08
SteveAugh17:38
mgedminI'm currently composing a long email to all@pov.lt17:40
SteveAabout?18:08
mgedmincharset troubles18:09
mgedminI've sent it already18:09
mgedminoh wow18:28
mgedminmake ftest just gave me18:28
mgedminexceptions.AttributeError: 'NoneType' object has no attribute 'invalidate'18:28
SteveAyug18:28
mgedminsomewhere in ZODB code18:28
mgedminthis does not seem to be reproducible :/18:28
SteveAoh18:29
SteveAhmm...18:29
SteveAwhat kind of thing is asked to invalidate?18:29
mgedminNone, apparently18:30
SteveAother than None18:31
mgedmintxn.commit() -> txn._cleanup() -> txn._finish_one() -> jar.tpc_finish() -> _storage.tpc_finish() -> f(self._tid) -> _db.invalidate(tid, d, self) -> exceptions.AttributeError18:31
mgedminapparently it happened when creating a relationship (the fourth one)18:31
mgedminI'll try running make ftest in a loop and see if it recurs18:32
SteveA_db...18:33
SteveAwhen is _db set to None?18:33
mgedminis that a rhetorical question?18:34
SteveAno, an exploratory one18:37
mgedminall I have in front of me is a rather terse traceback18:40
mgedminunless I manage to reproduce the bug, I cannot answer such questions :(18:40
SteveAConnection.close18:42
SteveAthat's it I think18:42
mgedminI'm not following18:42
SteveAso, the connection was closed, before tp_finish18:43
SteveAso, the connection was closed, before tpc_finish18:43
SteveAare these multiple threads in effect?18:43
SteveAcould be a race in the test18:43
mgedminhmm18:44
mgedminthe test runner is single-threaded18:44
mgedminand there shouldn't have been anything else accessing the server18:44
mgedminbesides it was a functional test18:46
mgedminit was talking to the server over HTTP18:46
mgedminthe server opens a db connection for each thread18:47
mgedminthe traceback begins in src/schooltool/main.py, line 355, in _process18:47
mgedminthe bug is reproducible18:50
mgedminon another machine18:50
mgedmin1 failure in 32 runs18:51
mgedmin2 failures in 34 runs18:52
mgedminslightly different error message18:52
mgedminthe realtime log of this is in muskatas:/home/mg/schooltool/make-ftest-in-a-loop in case you're interested18:53
mgedmin3 failures in 80 runs19:04
mgedmininstrumented test: 0 failures in 35 runs so far19:19
mgedmininstrumented test: 0 failures in 74 runs so far19:28
SteveAah, the log filename changed19:31
mgedminyes19:34
mgedmin0 failures in 100 runs, I'm trying a different approach19:35
SteveAum19:35
SteveAso, getting a trackback in conection.close fixed the bug?19:35
mgedminhid it at least19:35
SteveAoh19:35
SteveAthat sucks19:35
mgedminif it's a race condition, I expect that printing huge tracebacks changed the timings sufficiently19:35
mgedminnow I'm saving the stack trace in an attribute and only print it when self._db is None near the line where the original exception took place19:36
mgedminlet's see what happens19:36
mgedminthe log file is now make-ftest-in-a-loop-*-219:36
mgedmin(no stderr this time, oops)19:39
mgedmingrr19:52
mgedmineven the lightweight instrumentation version did not show any errors in 70 tries19:53
<--SteveA has quit ("Client exiting")20:23
**** ENDING LOGGING AT Wed Apr 7 21:17:50 2004

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!