From: Eric Sven Ristad Date: 2001-03-01T10:41:09+09:00 Subject: [ruby-talk:11815] problems with DBM module 1. DBM module is inconsistent with Ruby design The DBM.open(dbname[, mode]) method requires its optional mode argument to be an octal integer; it will not accept the mode strings like "r" or "w" that are required for the built-in Ruby function open() or the related methods in Ruby's IO and File classes. 2. When I try to store a large value (eg., 6kb) in a DBM object, I get the following error: RuntimeError: dbm_store failed Smaller values (eg., 256b) don't seem to cause any problems. The ext/dbm.c source code for fdbm_store has if (dbm_store(dbm, key, val, DBM_REPLACE)) { #ifdef HAVE_DBM_CLEARERR dbm_clearerr(dbm); #endif if (errno == EPERM) rb_sys_fail(0); rb_raise(rb_eRuntimeError, "dbm_store failed"); } which suggests to me that this may be a known problem with DBM. Another possible cause is that this error is occurring on a 64 bit machine (Alpha/OSF4.0D) with a deprecated libdbm.a library. Any suggestions would be appreciated. Thank you, Eric