leveldown: Assertion `dummy_versions_.next_ == &dummy_versions_' failed.
I’ve been getting this quite a lot lately. It seems to come and go at random, although probably mostly when the DB is undergoing strain
nodejs: ../deps/leveldb/leveldb-1.18.0/db/version_set.cc:789: leveldb::VersionSet::~VersionSet(): Assertion `dummy_versions_.next_ == &dummy_versions_' failed.
Aborted (core dumped)
Any tips? Is this a known bug?
About this issue
- Original URL
- State: closed
- Created 9 years ago
- Comments: 22 (15 by maintainers)
In case it’s helpful, this is the PouchDB test that’s failing:
https://github.com/pouchdb/pouchdb/blob/master/tests/integration/test.changes.js#L2312
Still failing in 1.6.0: https://github.com/pouchdb/pouchdb/pull/6202 (see issue for Travis runs & logs).
Snippet:
Afaik it’s related to closing the database while there are still open iterators. So the close operation have to wait until all iterators have ended before finally closing.
@ralphtheninja Actually I’ve already stole it 🤣: test/iterator-test.js
Here’s a repro without pouchdb. Runs ok with leveldown 1.5.0, consistently crashes with 1.5.1.
@nolanlawson I made a quick diff check (
git diff v1.5.0 v1.5.1
) and there was some work done onsrc/iterator.{h,cc}
(I removed everything else from the diff that was not related to the c++ side). So there might be something in there that’s not 100% ok.cc @Level/owners