[Jeremy Hylton] > test_bsddb hangs for me everytime. This is a current CVS python with > BerkeleyDB 4.1.25. I've tried commenting out test_pop and > test_mapping_iteration_methods, but it still hangs somewhere. On Win98SE, it hangs every time in test_popitem, which I changed like so: def test_popitem(self): print [1] # ADDED THIS k, v = self.f.popitem() print [2] # AND THIS self.assert_(k in self.d) self.assert_(v in self.d.values()) self.assert_(k not in self.f) self.assertEqual(len(self.d)-1, len(self.f)) It prints [1], but not [2]: C:\Code\python\PCbuild>python_d ../lib/test/test_bsddb.py -v test_change (__main__.TestBTree) ... ok test_clear (__main__.TestBTree) ... ok test_close_and_reopen (__main__.TestBTree) ... ok test_contains (__main__.TestBTree) ... ok test_first_next_looping (__main__.TestBTree) ... ok test_get (__main__.TestBTree) ... ok test_getitem (__main__.TestBTree) ... ok test_has_key (__main__.TestBTree) ... ok test_keyordering (__main__.TestBTree) ... ok test_len (__main__.TestBTree) ... ok test_mapping_iteration_methods (__main__.TestBTree) ... ok test_pop (__main__.TestBTree) ... ok test_popitem (__main__.TestBTree) ... [1] A stacktrace at the point it's hung; looks like deadlock: _BSDDB_D! __db_win32_mutex_lock + 134 bytes _BSDDB_D! __lock_get + 2264 bytes _BSDDB_D! __lock_get + 197 bytes _BSDDB_D! __db_lget + 365 bytes _BSDDB_D! __bam_search + 322 bytes _BSDDB_D! __bam_c_rget + 3535 bytes _BSDDB_D! __bam_c_dup + 1251 bytes _BSDDB_D! __db_c_get + 875 bytes _BSDDB_D! __db_delete + 378 bytes _DB_delete(DBObject * 0x00ba1ee8, __db_txn * 0x00000000, __db_dbt * 0x0062d9b0, int 0) line 545 + 29 bytes DB_ass_sub(DBObject * 0x00ba1ee8, _object * 0x00881d10, _object * 0x00000000) line 2343 + 17 bytes PyObject_DelItem(_object * 0x00ba1ee8, _object * 0x00881d10) line 155 + 16 bytes eval_frame(_frame * 0x0098a368) line 1460 + 13 bytes PyEval_EvalCodeEx(PyCodeObject * 0x00bb6550, _object * 0x008782d8, _object * 0x00000000, _object * * 0x008f034c, int 2, _object * * 0x00000000, int 0, _object * * 0x00000000, int 0, _object * 0x00000000) line 2663 + 9 bytes ... eval_frame() is executing DELETE_SUBSCR. Good(?) news: test_popitem continues to hang even if all other tests are commented out: C:\Code\python\PCbuild>python_d ../lib/test/test_bsddb.py -v test_popitem (__main__.TestBTree) ... [1] Same stacktrace at that point. I was using a debug-build CVS Python above. It also hangs the same place using a release-build Python.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4