Bug #12388

Iterating second dbm enum causes first dbm enum to stop

Added by wayne.conrad (Wayne Conrad) over 4 years ago. Updated about 1 year ago.

Third Party's Issue
Target version:
ruby -v:
ruby 2.3.2p119 (2016-05-15 revision 55001) [x86_64-linux]


When iterating over a dbm file, accessing the enumerator of a second dbm file causes iteration of the first dbm file to stop prematurely. This happens in ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux] and also in ruby 2.3.2p119 (2016-05-15 revision 55001) [x86_64-linux].

My Ruby's dbm is using gdbm. This anomaly does not happen if I use gdbm directly instead of using it indirectly through dbm. There is no maintainer listed for dbm. Does that mean that dbm should not be used?


dbm_concurrent_iteration_anomaly (1.26 KB) dbm_concurrent_iteration_anomaly wayne.conrad (Wayne Conrad), 05/16/2016 02:40 PM

Updated by mame (Yusuke Endoh) about 1 year ago

  • Status changed from Open to Third Party's Issue

I can reproduce the issue with "GDBM version 1.8.3. 10/15/2002", but not with "GDBM version 1.18.1. 27/10/2018" nor "Berkeley DB 5.3.28: (September 9, 2013)". It might be fixed on the side of GDBM. Please try a newer version.

Also available in: Atom PDF