Project

General

Profile

Bug #12388

Iterating second dbm enum causes first dbm enum to stop

Added by wayne.conrad (Wayne Conrad) over 3 years ago. Updated about 1 month ago.

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

Description

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?


Files

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

History

Updated by mame (Yusuke Endoh) about 1 month 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