Overview

Request 645670 accepted

- update to 1.18.1:
* Fix debian bug 910911: This restores backward compatibility with
databases created by version 1.8 (and some later versions, with
mmapped I/O disabled).

- update to 1.18:
* Fix directory entry validation
* Fix improper use of GDBM_DEBUG macro
* Fix spurious error from gdbm_dump and gdbm_export
* Make sure gdbm_sync always returns a meaningful value
- includes changes from 1.17:
* Fix bug in gdbm_dump function, it did not clear the
GDBM_ITEM_NOT_FOUND error marker, which is set upon its normal
termination
- changes upstreamed:
* gdbm_close() and gdbm_sync() now return 0 on success. On error,
they return -1 and set gdbm_errno and errno to the appropriate
error codes - drop gdbm-close-and-sync-return-value.patch

- update to 1.16:
* Fix typo
* New gdbmtool variables: coalesce and centfree
* src/falloc.c (avail_lookup): Remove the start parameter.
(_gdbm_put_av_elem): Rewrite the "can_merge" loop.
- added gdbm-close-and-sync-return-value.patch
see https://puszcza.gnu.org.ua/bugs/index.php?399

- update to 1.15:
* Extensive database consistency checking
* Improved error checking

Loading...


Dominique Leuenberger's avatar

Breaks perl:

[ 1161s] lib/warnings ................................................... ok
[ 1161s] Failed 1 test out of 2451, 99.96% okay.
[ 1161s]    ../ext/GDBM_File/t/fatal.t
[ 1161s] ### Since not all tests were successful, you may want to run some of
[ 1161s] ### them individually and examine any diagnostic messages they produce.
[ 1161s] ### See the INSTALL document's section on "make test".
[ 1161s] ### You have a good chance to get more information by running
[ 1161s] ###   ./perl harness
[ 1161s] ### in the 't' directory since most (>=80%) of the tests succeeded.
[ 1161s] ### You may have to set your dynamic library search path,
[ 1161s] ### LD_LIBRARY_PATH, to point to the build directory:
[ 1161s] ###   setenv LD_LIBRARY_PATH `pwd`; cd t; ./perl harness
[ 1161s] ###   LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH; cd t; ./perl harness
[ 1161s] ###   export LD_LIBRARY_PATH=`pwd`; cd t; ./perl harness
[ 1161s] ### for csh-style shells, like tcsh; or for traditional/modern
[ 1161s] ### Bourne-style shells, like bash, ksh, and zsh, respectively.
[ 1161s] Elapsed: 801 sec
[ 1161s] u=8.76  s=2.66  cu=473.67  cs=27.67  scripts=2451  tests=1242595
[ 1161s] make: *** [makefile:793: test] Error 1
[ 1161s] error: Bad exit status from /var/tmp/rpm-tmp.RLX7sN (%check)

CC @mlschroe


Petr Gajdos's avatar
author source maintainer

Indeed, for local build I get:

[  820s] #   at t/fatal.t line 37.
[  820s] #          got: '1'
[  820s] #     expected: undef
[  820s] #   Failed test 'expected error message from GDBM_File'
[  820s] #   at t/fatal.t line 46.
[  820s] #                   ''
[  820s] #     doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)'
[  820s] # Looks like you failed 2 tests of 8.
[  820s] FAILED at test 7

Petr Gajdos's avatar
author source maintainer

https://rt.perl.org/Public/Bug/Display.html?id=133295 https://puszcza.gnu.org.ua/bugs/index.php?399

Apologize I understand the issue only marginally.

If I understand correctly, the test closes descriptor underneath GDM_File and waiting gdbm to error out. For the reasons explained in both bugs, gdbm_STORE() (i. e. gdm_store(), $h{Perl} = 'Rules';), does not sync immediately anymore already for some time and thus the error does not pop up. It could be raised during gdbm_DESTROY (untie %h;), but gdm_close() is void and cannot report an error.

This is fixed by http://git.gnu.org.ua/cgit/gdbm.git/commit/?id=030e685eb9df82f63d73a1bf206da84b7aa52374, and this is already part of gdbm 1.18.

I think now it is perl side which has to be fixed, that means GDBM_File.xs' gdbm_DESTROY(db) has to check return value of gdbm_close(db); and propagate error.

I guess the result of the test could be ignored for now.


Petr Gajdos's avatar
author source maintainer

see rq#632290


Request History
Petr Gajdos's avatar

pgajdos created request

- update to 1.18.1:
* Fix debian bug 910911: This restores backward compatibility with
databases created by version 1.8 (and some later versions, with
mmapped I/O disabled).

- update to 1.18:
* Fix directory entry validation
* Fix improper use of GDBM_DEBUG macro
* Fix spurious error from gdbm_dump and gdbm_export
* Make sure gdbm_sync always returns a meaningful value
- includes changes from 1.17:
* Fix bug in gdbm_dump function, it did not clear the
GDBM_ITEM_NOT_FOUND error marker, which is set upon its normal
termination
- changes upstreamed:
* gdbm_close() and gdbm_sync() now return 0 on success. On error,
they return -1 and set gdbm_errno and errno to the appropriate
error codes - drop gdbm-close-and-sync-return-value.patch

- update to 1.16:
* Fix typo
* New gdbmtool variables: coalesce and centfree
* src/falloc.c (avail_lookup): Remove the start parameter.
(_gdbm_put_av_elem): Rewrite the "can_merge" loop.
- added gdbm-close-and-sync-return-value.patch
see https://puszcza.gnu.org.ua/bugs/index.php?399

- update to 1.15:
* Extensive database consistency checking
* Improved error checking


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto added repo-checker as a reviewer

Please review build success


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Saul Goodman's avatar

licensedigger accepted review

ok


Dominique Leuenberger's avatar

dimstar_suse set openSUSE:Factory:Staging:C as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:C"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Picked openSUSE:Factory:Staging:C


Dominique Leuenberger's avatar

dimstar accepted review


Repo Checker's avatar

repo-checker accepted review

broken cycle detection


Stephan Kulow's avatar

coolo accepted review

ready to accept


Stephan Kulow's avatar

coolo approved review

ready to accept


Stephan Kulow's avatar

coolo accepted request

Accept to openSUSE:Factory

openSUSE Build Service is sponsored by