Jan Engelhardt wrote:
Your system is known to be broken in various strange ways every now and then.
Any who's system runs without any bugs, might I ask? ;-) In this case the gdbm package is bugged in a few places. 1) the gdbm_open, which allows specifying a block-size that is used to perform subsequent I/O's take '0' as meaning "use the file system's optimal I/O size as returned by the "stat" call. The current gdbm code requires that the record size be a power of 2. This is required of parameters passed in, but also of the default 'ideal I/O' size as returned by stat. Unfortunately, there is no way to guarantee this (other than to build & test in a "clean" build environment -- unfortunately, there is no way to guarantee this -- since stat can return different values for each filesystem it gets io/size from.
I suggest you gdb your gdbm library (by way of single stepping through the test program) and see where it goes to set GDBM_BLOCK_SIZE_ERROR.
Looking at the source worked better as gdb stepped over the gdbmopen call rather than into it (maybe I didn't have the right debug packages loaded, so gdb ignored my request to "step- into?" the affected routine. Using source inspection as well as strace/ltrace, I found problems in gdbm/odbm/ndbm. While the gdbm tests in perl can be fixed to not use a '0' record size, the same isn't true for ndbm/odbm which burry the record size in the lib's source -- (and they use '0' to tell the lib to stat the device for the ideal I/O size)...
Because perl in factory is built using a clean well-known state. Every time.
Yeah... that's a problem. Not that it is **BUILT** that way, but that it is tested that way. AFAIK, openSuSE is building a *distribution* where the pieces are expected to work together -- not just in isolation in clean-room environments. While building that way, can be a positive step, testing that way is like testing a car's gas mileage by running the car at 'idle'. Real world numbers tend to vary a bit. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org