Closed p5pRT closed 5 years ago
This is a bug report for perl from bluewind@xinu.at\, generated with the help of perlbug 1.40 running under perl 5.26.2.
----------------------------------------------------------------- When trying to build perl with gdbm 1.15 I get the following output during make test_harness:
# Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t ......................................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests
The test passed just fine with gdbm 1.14.1. It appears that 1.15 now properly handles incorrect/corrupted files and no longer crashes according to the release mail. For details see here: https://lists.gnu.org/archive/html/info-gnu/2018-06/msg00008.html
If you need more information\, feel free to contact me.
Florian
Hi all!
The gdbm tests fail in both perl-5.26.2 and 5.28.0-RC4 on Mageia 7 x86-64 with gdbm 1.15. Here is an excerpt from the log:
# Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t ......................................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests ../ext/GDBM_File/t/gdbm.t .......................................... ok . . . ../ext/XS-APItest/t/whichsig.t ..................................... ok ../ext/XS-APItest/t/win32.t ........................................ skipped: Tests only apply on MSWin32 ../ext/XS-APItest/t/xs_special_subs.t .............................. ok ../ext/XS-APItest/t/xs_special_subs_require.t ...................... ok ../ext/XS-APItest/t/xsub_h.t ....................................... ok
Test Summary Report
../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=2564\, Tests=1231720\, 264 wallclock secs (109.77 usr 10.22 sys + 547.16 cusr 41.82 csys = 708.97 CPU) Result: FAIL make: *** [makefile:832: test_harness] Error 2 ##### Brew Failed #####
I am building perl using perlbrew. All other tests succeed.
Thanks to Jim Keenan. --
Shlomi Fish http://www.shlomifish.org/ http://www.shlomifish.org/open-source/resources/tech-tips/
There are at least 137 Larry Walls in the U.S.\, but only one that matters. — http://www.shlomifish.org/humour/bits/facts/Larry-Wall/
On Sat\, 23 Jun 2018 08:05:44 GMT\, shlomif@shlomifish.org wrote:
Hi all!
The gdbm tests fail in both perl-5.26.2 and 5.28.0-RC4 on Mageia 7 x86-64 with gdbm 1.15. Here is an excerpt from the log:
# Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t ......................................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests ../ext/GDBM_File/t/gdbm.t .......................................... ok . . . ../ext/XS-APItest/t/whichsig.t ..................................... ok ../ext/XS-APItest/t/win32.t ........................................ skipped: Tests only apply on MSWin32 ../ext/XS-APItest/t/xs_special_subs.t .............................. ok ../ext/XS-APItest/t/xs_special_subs_require.t ...................... ok ../ext/XS-APItest/t/xsub_h.t ....................................... ok
Test Summary Report ------------------- ../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=2564\, Tests=1231720\, 264 wallclock secs (109.77 usr 10.22 sys + 547.16 cusr 41.82 csys = 708.97 CPU) Result: FAIL make: *** [makefile:832: test_harness] Error 2 ##### Brew Failed #####
I am building perl using perlbrew. All other tests succeed.
Thanks to Jim Keenan.
See https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295. Are you able to identify the version of GDBM which you have installed?
-- James E Keenan (jkeenan@cpan.org)
The RT System itself - Status changed from 'new' to 'open'
On Sat\, 23 Jun 2018 10:24:15 -0700 "James E Keenan via RT" \perlbug\-followup@​perl\.org wrote:
On Sat\, 23 Jun 2018 08:05:44 GMT\, shlomif@shlomifish.org wrote:
Hi all!
The gdbm tests fail in both perl-5.26.2 and 5.28.0-RC4 on Mageia 7 x86-64 with gdbm 1.15. Here is an excerpt from the log:
# Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t ......................................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests ../ext/GDBM_File/t/gdbm.t .......................................... ok . . . ../ext/XS-APItest/t/whichsig.t ..................................... ok ../ext/XS-APItest/t/win32.t ........................................ skipped: Tests only apply on MSWin32 ../ext/XS-APItest/t/xs_special_subs.t .............................. ok ../ext/XS-APItest/t/xs_special_subs_require.t ...................... ok ../ext/XS-APItest/t/xsub_h.t ....................................... ok
Test Summary Report ------------------- ../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=2564\, Tests=1231720\, 264 wallclock secs (109.77 usr 10.22 sys + 547.16 cusr 41.82 csys = 708.97 CPU) Result: FAIL make: *** [makefile:832: test_harness] Error 2 ##### Brew Failed #####
I am building perl using perlbrew. All other tests succeed.
Thanks to Jim Keenan.
See https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295. Are you able to identify the version of GDBM which you have installed?
Yes\, version 1.15:
shlomif@telaviv1:\~$ rpm -qa | grep -i gdbm lib64gdbm6-1.15-1.mga7 lib64gdbm-devel-1.15-1.mga7 lib64gdbm4-1.14-1.mga7 shlomif@telaviv1:\~$
I mentioned that.
--
Shlomi Fish http://www.shlomifish.org/ http://www.shlomifish.org/humour/ways_to_do_it.html
But if you’re writing [open source software] for the world\, you have to listen to your customers — this doesn’t change just because they’re not paying you in money. — Eric S. Raymond in The Cathedral and the Bazaar
Please reply to list if it's a mailing list post - http://shlom.in/reply .
On Sat\, 23 Jun 2018 10:24:15 -0700 "James E Keenan via RT" \perlbug\-followup@​perl\.org wrote:
On Sat\, 23 Jun 2018 08:05:44 GMT\, shlomif@shlomifish.org wrote:
Hi all!
The gdbm tests fail in both perl-5.26.2 and 5.28.0-RC4 on Mageia 7 x86-64 with gdbm 1.15. Here is an excerpt from the log:
# Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t ......................................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests ../ext/GDBM_File/t/gdbm.t .......................................... ok . . . ../ext/XS-APItest/t/whichsig.t ..................................... ok ../ext/XS-APItest/t/win32.t ........................................ skipped: Tests only apply on MSWin32 ../ext/XS-APItest/t/xs_special_subs.t .............................. ok ../ext/XS-APItest/t/xs_special_subs_require.t ...................... ok ../ext/XS-APItest/t/xsub_h.t ....................................... ok
Test Summary Report ------------------- ../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=2564\, Tests=1231720\, 264 wallclock secs (109.77 usr 10.22 sys + 547.16 cusr 41.82 csys = 708.97 CPU) Result: FAIL make: *** [makefile:832: test_harness] Error 2 ##### Brew Failed #####
I am building perl using perlbrew. All other tests succeed.
Thanks to Jim Keenan.
See https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295. Are you able to identify the version of GDBM which you have installed?
Yes\, version 1.15:
shlomif@telaviv1:\~$ rpm -qa | grep -i gdbm lib64gdbm6-1.15-1.mga7 lib64gdbm-devel-1.15-1.mga7 lib64gdbm4-1.14-1.mga7 shlomif@telaviv1:\~$
I mentioned that.
--
Shlomi Fish http://www.shlomifish.org/ http://www.shlomifish.org/humour/ways_to_do_it.html
But if you’re writing [open source software] for the world\, you have to listen to your customers — this doesn’t change just because they’re not paying you in money. — Eric S. Raymond in The Cathedral and the Bazaar
Please reply to list if it's a mailing list post - http://shlom.in/reply .
I'm merging this ticket into https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295, as I have confirmed the error and 133295 was the first to be filed.
-- James E Keenan (jkeenan@cpan.org)
On Sat\, 23 Jun 2018 18:12:33 GMT\, jkeenan wrote:
I'm merging this ticket into https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295, as I have confirmed the error and 133295 was the first to be filed.
I was able to confirm this bug on a Linux machine where\, it appears\, I did not previously have GDBM installed.
I first installed libgdbm3 as follows:
##### $> sudo apt-get install libgdbm3 libgdbm-dev #####
That appears to have installed only a rather old version of the library:
##### $> man gdbm NAME GDBM - The GNU database manager. Includes dbm and ndbm compatability. (Version 1.8.3.) #####
I then downloaded version 1.15.0 of gdbm from https://ftpmirror.gnu.org/gdbm/gdbm-1.15.tar.gz. I configured it to install in a non-standard location and did so.
##### $> ./configure --prefix=/home/jkeenan/learn/perl/p5p/gdbm-1.15 && make && make install $> ack VERSION include/gdbm.h # define GDBM_VERSION_MAJOR 1 # define GDBM_VERSION_MINOR 15 # define GDBM_VERSION_PATCH 0 #####
I then configured and built blead (commit 1efe078f0a293b2ce3eb5c2758bb1c93240a0822) as follows:
##### $> sh ./Configure -des -Dusedevel \ -Dlocincpth='/home/jkeenan/learn/perl/p5p/gdbm-1.15/include /usr/local/include' \ -Dloclibpth='/home/jkeenan/learn/perl/p5p/gdbm-1.15/lib /usr/local/lib' $> make test_prep #####
I then ran the test file in question.
##### cd t;./perl harness -v ../ext/GDBM_File/t/fatal.t;cd -
ok 1 - use GDBM_File; ok 2 - Can find next available file descriptor ok 3 - Check that we cannot open fileno 3. $! is Bad file descriptor ok 4 - An object of class 'GDBM_File' isa 'GDBM_File' ok 5 - dup fileno 3 ok 6 - close fileno 3\, out from underneath the GDBM_File not ok 7 - Trapped error when attempting to write to knobbled GDBM_File # Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef not ok 8 - expected error message from GDBM_File # Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests
Test Summary Report
../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=1\, Tests=8\, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.04 cusr 0.00 csys = 0.06 CPU) Result: FAIL #####
-- James E Keenan (jkeenan@cpan.org)
The RT System itself - Status changed from 'new' to 'open'
On Sat\, 23 Jun 2018 18:24:13 GMT\, jkeenan wrote:
On Sat\, 23 Jun 2018 18:12:33 GMT\, jkeenan wrote:
I'm merging this ticket into https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295, as I have confirmed the error and 133295 was the first to be filed.
I was able to confirm this bug on a Linux machine where\, it appears\, I did not previously have GDBM installed.
I first installed libgdbm3 as follows:
##### $> sudo apt-get install libgdbm3 libgdbm-dev #####
That appears to have installed only a rather old version of the library:
##### $> man gdbm NAME GDBM - The GNU database manager. Includes dbm and ndbm compatability. (Version 1.8.3.) #####
I then downloaded version 1.15.0 of gdbm from https://ftpmirror.gnu.org/gdbm/gdbm-1.15.tar.gz. I configured it to install in a non-standard location and did so.
##### $> ./configure --prefix=/home/jkeenan/learn/perl/p5p/gdbm-1.15 && make && make install $> ack VERSION include/gdbm.h # define GDBM_VERSION_MAJOR 1 # define GDBM_VERSION_MINOR 15 # define GDBM_VERSION_PATCH 0 #####
I then configured and built blead (commit 1efe078f0a293b2ce3eb5c2758bb1c93240a0822) as follows:
##### $> sh ./Configure -des -Dusedevel \ -Dlocincpth='/home/jkeenan/learn/perl/p5p/gdbm-1.15/include /usr/local/include' \ -Dloclibpth='/home/jkeenan/learn/perl/p5p/gdbm-1.15/lib /usr/local/lib' $> make test_prep #####
I then ran the test file in question.
##### cd t;./perl harness -v ../ext/GDBM_File/t/fatal.t;cd -
ok 1 - use GDBM_File; ok 2 - Can find next available file descriptor ok 3 - Check that we cannot open fileno 3. $! is Bad file descriptor ok 4 - An object of class 'GDBM_File' isa 'GDBM_File' ok 5 - dup fileno 3 ok 6 - close fileno 3\, out from underneath the GDBM_File not ok 7 - Trapped error when attempting to write to knobbled GDBM_File # Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef not ok 8 - expected error message from GDBM_File # Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests
Test Summary Report ------------------- ../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=1\, Tests=8\, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.04 cusr 0.00 csys = 0.06 CPU) Result: FAIL #####
cc-ing the author of the failing tests. Nicholas\, can you have a look?
I suspect that going forward our GDBM module will have to expose the MAJOR/MINOR/PATCH version of the underlying gdbm library.
Thank you very much.
-- James E Keenan (jkeenan@cpan.org)
On 2018-06-22\, "bluewind@xinu.at (via RT)" \perlbug\-followup@​perl\.org wrote:
When trying to build perl with gdbm 1.15 I get the following output during make test_harness:
\# Failed test 'Trapped error when attempting to write to knobbled GDBM\_File' \# at t/fatal\.t line 37\. \# got​: '1' \# expected​: undef \# Failed test 'expected error message from GDBM\_File' \# at t/fatal\.t line 46\. \# '' \# doesn't match '\(?^​: at \.\*\\bfatal\\\.t line \\d\+\\\.\\n\\z\)' \# Looks like you failed 2 tests of 8\. \.\./ext/GDBM\_File/t/fatal\.t \.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. Dubious\, test returned 2 \(wstat 512\, 0x200\) Failed 2/8 subtests
The test passed just fine with gdbm 1.14.1. It appears that 1.15 now properly handles incorrect/corrupted files and no longer crashes according to the release mail. For details see here: https://lists.gnu.org/archive/html/info-gnu/2018-06/msg00008.html
1.15 no longer crashes but it also seems not reporting errors properly.
The Perl test lets gdbm library to open a database file\, then Perl closes a file descriptor gdbm uses for that database file and then Perl asks gdbm to store a key-value pair into the database.
Old gdbm crashes.
New gdbm returns success\, although strace reveals a write into the file fails with ABADF:
close(3) = 0 getpid() = 32311 write(6\, "ok 6 - close fileno 3\, out from "...\, 57ok 6 - close fileno 3\, out from underneath the GDBM_File ) = 57 brk(NULL) = 0x5647cb45a000 brk(0x5647cb47b000) = 0x5647cb47b000 brk(NULL) = 0x5647cb47b000 brk(0x5647cb49c000) = 0x5647cb49c000 brk(NULL) = 0x5647cb49c000 brk(0x5647cb4bd000) = 0x5647cb4bd000 msync(0x7f59bbf9e000\, 16384\, MS_SYNC|MS_INVALIDATE) = 0 munmap(0x7f59bbf9e000\, 16384) = 0 flock(3\, LOCK_UN) = -1 EBADF (Bad file descriptor) close(3) = -1 EBADF (Bad file descriptor) brk(NULL) = 0x5647cb4bd000 brk(NULL) = 0x5647cb4bd000 brk(0x5647cb45a000) = 0x5647cb45a000 brk(NULL) = 0x5647cb45a000 getpid() = 32311 write(6\, "not ok 7 - Trapped error when at"...\, 72not ok 7 - Trapped error when attempting to write to knobbled GDBM_File ) = 72
The Perl test does "$h{Perl} = 'Rules'" under eval\, the tied hash store translates it to Perl's gdbm_STORE() that directly calls gdbm's gdbm_store and then Perl croaks only on (RETVAL \< 0 && errno == EPERM) condition.
Debugger shows gdbm_store() returns success (0).
Thus I believe this is a bug in gdbm C library. Although I cannot find where Perl's GDBM_File handles non-zero return value from gdbm_STORE(). This is probably also a place for improvment on Perl side.
-- Petr
On 2018-06-26\, Petr Pisar \ppisar@​redhat\.com wrote:
On 2018-06-22\, "bluewind@xinu.at (via RT)" \perlbug\-followup@​perl\.org wrote:
When trying to build perl with gdbm 1.15 I get the following output during make test_harness:
\# Failed test 'Trapped error when attempting to write to knobbled GDBM\_File' \# at t/fatal\.t line 37\. \# got​: '1' \# expected​: undef \# Failed test 'expected error message from GDBM\_File' \# at t/fatal\.t line 46\. \# '' \# doesn't match '\(?^​: at \.\*\\bfatal\\\.t line \\d\+\\\.\\n\\z\)' \# Looks like you failed 2 tests of 8\. \.\./ext/GDBM\_File/t/fatal\.t \.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. Dubious\, test returned 2 \(wstat 512\, 0x200\) Failed 2/8 subtests
The test passed just fine with gdbm 1.14.1. It appears that 1.15 now properly handles incorrect/corrupted files and no longer crashes according to the release mail. For details see here: https://lists.gnu.org/archive/html/info-gnu/2018-06/msg00008.html
1.15 no longer crashes but it also seems not reporting errors properly.
The Perl test lets gdbm library to open a database file\, then Perl closes a file descriptor gdbm uses for that database file and then Perl asks gdbm to store a key-value pair into the database.
Old gdbm crashes.
New gdbm returns success\, although strace reveals a write into the file fails with ABADF:
close(3) = 0 getpid() = 32311 write(6\, "ok 6 - close fileno 3\, out from "...\, 57ok 6 - close fileno 3\, out from underneath the GDBM_File ) = 57 brk(NULL) = 0x5647cb45a000 brk(0x5647cb47b000) = 0x5647cb47b000 brk(NULL) = 0x5647cb47b000 brk(0x5647cb49c000) = 0x5647cb49c000 brk(NULL) = 0x5647cb49c000 brk(0x5647cb4bd000) = 0x5647cb4bd000 msync(0x7f59bbf9e000\, 16384\, MS_SYNC|MS_INVALIDATE) = 0 munmap(0x7f59bbf9e000\, 16384) = 0 flock(3\, LOCK_UN) = -1 EBADF (Bad file descriptor) close(3) = -1 EBADF (Bad file descriptor) brk(NULL) = 0x5647cb4bd000 brk(NULL) = 0x5647cb4bd000 brk(0x5647cb45a000) = 0x5647cb45a000 brk(NULL) = 0x5647cb45a000 getpid() = 32311 write(6\, "not ok 7 - Trapped error when at"...\, 72not ok 7 - Trapped error when attempting to write to knobbled GDBM_File ) = 72
The Perl test does "$h{Perl} = 'Rules'" under eval\, the tied hash store translates it to Perl's gdbm_STORE() that directly calls gdbm's gdbm_store and then Perl croaks only on (RETVAL \< 0 && errno == EPERM) condition.
Debugger shows gdbm_store() returns success (0).
Thus I believe this is a bug in gdbm C library.
My 1.15 uses memory mapped I/O. gdbm_store() succeeds because the mapping still exists even after closing the underlying file. So not bug from gdbm C library.
The whole eval-ed code is:
$h{Perl} = 'Rules'; untie %h; 1;
Store succeeds. The untie calls gdbm_DESTROY() that calls gdbm_close() gdbm_close() has void return type. This is a deficiency in C gdbm library because gdbm_close() does does the unlock and close() and both fails with EBADF and gdbm does does not check for their failure and does not raise the error because of gdbm_close() prototype.
So at the end it looks like a bug in gdbm interface that it cannot report an error on database close. And then of course Perl cannot report any error.
I'm not sure why msync() did not fail or while the process did not segfaulted. Maybe it worked as designed.
-- Petr
On 2018-06-26\, Petr Pisar \ppisar@​redhat\.com wrote:
So at the end it looks like a bug in gdbm interface that it cannot report an error on database close. And then of course Perl cannot report any error.
I searched why the Perl test exist at all. It was added with this commit:
commit ceab7011c2af9d86bd7743d6c1b7c37540fe14f1 Author: Nicholas Clark \nick@​ccl4\.org Date: Thu Dec 13 16:38:17 2012 +0100
GDBM_File is meant to croak() if the gdbm library has a fatal error.
gdbm_open() takes a fifth argument\, for an optional callback function used
to report a fatal error. Since it was added in 5.000\, the tied hash wrapper
implemented in GDBM_File.xs has (intended) to default this to croak().
However\, the callback expects a function taking a single const char *
argument\, whereas croak(const char *pat\, ...) has variable arguments.
The code as-was had two bugs
1) The calling ABI on some platforms differs between a (known) variable-
argument function\, and one which takes (known) fixed arguments. As the
call site knows the pointer is to a function with fixed arguments\, the
calling convention it uses doesn't match what Perl_croak_nocontext()
expects\, which can lead to crashes.
2) A message containing % characters will be interpreted as a printf format.
Both these are fixed by using a small station function as a wrapper\, which
takes a single string argument\, and passes to croak() a "%s" format string\,
followed by the string for the error message.
Add a test for this functionality.
So the reason for the test is to check gdbm fatal errors are properly passed to Perl code.
Provided the only place gdbm uses these fatal errors is when storing data and these are hidden by the mmaped I/O since gdbm-1.15\, I would vote for removing the test as we don't have any reliable way to provoke the fatal error.
-- Petr
On 2018-06-26\, Petr Pisar \ppisar@​redhat\.com wrote:
Thus I believe this is a bug in gdbm C library.
GNU dbm bug report \https://puszcza.gnu.org.ua/bugs/index.php?399.
-- Petr
On Fri\, 29 Jun 2018 03:16:27 -0700\, ppisar wrote:
On 2018-06-26\, Petr Pisar \ppisar@​redhat\.com wrote:
Thus I believe this is a bug in gdbm C library.
GNU dbm bug report \https://puszcza.gnu.org.ua/bugs/index.php?399.
-- Petr
Fixed by http://git.gnu.org.ua/cgit/gdbm.git/commit/?id=030e685eb9df82f63d73a1bf206da84b7aa52374. The change will appear in next release of GDBM.
On Fri\, 29 Jun 2018 03:16:27 -0700\, ppisar wrote:
On 2018-06-26\, Petr Pisar \ppisar@​redhat\.com wrote:
Thus I believe this is a bug in gdbm C library.
GNU dbm bug report \https://puszcza.gnu.org.ua/bugs/index.php?399.
-- Petr
Fixed by http://git.gnu.org.ua/cgit/gdbm.git/commit/?id=030e685eb9df82f63d73a1bf206da84b7aa52374. The change will appear in next release of GDBM.
Here's the proposed change to the module: http://git.gnu.org.ua/cgit/gdbm/GDBM_File.git
It improves error handling and adds interfaces to the new functions that appeared in the recent releases of GDBM. It has been tested with GDBM 1.16.90 (current git HEAD) and 1.8.3 (the oldest one that could be in use\, as far as I can tell).
Here's the proposed change to the module: http://git.gnu.org.ua/cgit/gdbm/GDBM_File.git
It improves error handling and adds interfaces to the new functions that appeared in the recent releases of GDBM. It has been tested with GDBM 1.16.90 (current git HEAD) and 1.8.3 (the oldest one that could be in use\, as far as I can tell).
Fixed in GDBM version 1.17
Am Mon\, 30 Jul 2018 14:48:02 -0700\, gray@gnu.org schrieb:
Fixed in GDBM version 1.17
I still seem to get the same test failures even with gdbm 1.17. Do the tests (perl 5.28.0 release tarball here) pass for you with gdbm 1.17?
On Wed\, 08 Aug 2018 04:54:36 -0700\, bluewind@xinu.at wrote:
Am Mon\, 30 Jul 2018 14:48:02 -0700\, gray@gnu.org schrieb:
Fixed in GDBM version 1.17
I still seem to get the same test failures even with gdbm 1.17. Do the tests (perl 5.28.0 release tarball here) pass for you with gdbm 1.17?
I am just reporting that from 5.24\, 5.26 and 5.28 I can reproduce the same error even with gdbm 1.7.1
Hi\,
On Wed\, 08 Aug 2018 07:03:03 -0700 "Frederico Recsky via RT" \perlbug\-followup@​perl\.org wrote:
On Wed\, 08 Aug 2018 04:54:36 -0700\, bluewind@xinu.at wrote:
Am Mon\, 30 Jul 2018 14:48:02 -0700\, gray@gnu.org schrieb:
Fixed in GDBM version 1.17
I still seem to get the same test failures even with gdbm 1.17. Do the tests (perl 5.28.0 release tarball here) pass for you with gdbm 1.17?
I am just reporting that from 5.24\, 5.26 and 5.28 I can reproduce the same error even with gdbm 1.7.1
I am getting the test failure here as well with perlbrew and lib64gdbm-devel-1.17-1.mga7 on Mageia 7 x86-64.
--
Shlomi Fish http://www.shlomifish.org/ http://www.shlomifish.org/humour/bits/New-versions-of-the-GPL/
For every A\, Chuck Norris is both A and not-A. Chuck Norris is freaking everything. — http://www.shlomifish.org/humour/bits/facts/Chuck-Norris/
Please reply to list if it's a mailing list post - http://shlom.in/reply .
On Fri\, 10 Aug 2018 10:46:13 GMT\, shlomif@shlomifish.org wrote:
Hi\,
On Wed\, 08 Aug 2018 07:03:03 -0700 "Frederico Recsky via RT" \perlbug\-followup@​perl\.org wrote:
On Wed\, 08 Aug 2018 04:54:36 -0700\, bluewind@xinu.at wrote:
Am Mon\, 30 Jul 2018 14:48:02 -0700\, gray@gnu.org schrieb:
Fixed in GDBM version 1.17
I still seem to get the same test failures even with gdbm 1.17. Do the tests (perl 5.28.0 release tarball here) pass for you with gdbm 1.17?
I am just reporting that from 5.24\, 5.26 and 5.28 I can reproduce the same error even with gdbm 1.7.1
I am getting the test failure here as well with perlbrew and lib64gdbm-devel-1.17-1.mga7 on Mageia 7 x86-64.
I get the same failures in ext/GDBM_File/t/fatal.t on FreeBSD-13 with gdbm 1.18.1 on perl 5 blead.
##### $ uname -mrs FreeBSD 13.0-CURRENT amd64
$ pkg info | grep -i gdbm gdbm-1.18.1 GNU database manager
$ ./perl -Ilib -v | head -2 | tail -1 This is perl 5\, version 29\, subversion 5 (v5.29.5 (v5.29.4-101-gdf1e20e63c)) built for amd64-freebsd-thread-multi
$ ./perl -Ilib -V:libs -V:config_args libs='-lpthread -lgdbm -ldl -lm -lcrypt -lutil'; config_args='-des -Dusedevel -Duseithreads -Doptimize=-O2 -pipe -fstack-protector -fno-strict-aliasing';
$ cd t;./perl harness ../ext/GDBM_File/t/*.t; cd - ===( 2;0 1/8 1/? )============================================== # Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t .. Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests ../ext/GDBM_File/t/gdbm.t ... ok
Test Summary Report
../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=2\, Tests=142\, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.24 cusr 0.08 csys = 0.36 CPU) Result: FAIL #####
I notice also that these failures are endemic in certain of our smoke-testing reports. See http://perl5.test-smoke.org/submatrix?test=../ext/GDBM_File/t/fatal.t.
The reports at that URL from FreeBSD-13 are\, I believe\, from a VM very similar to my own. The other reports are from Arch Linux smoke testing rigs.
-- James E Keenan (jkeenan@cpan.org)
On Tue\, 20 Nov 2018 12:10:58 -0800\, jkeenan wrote:
On Fri\, 10 Aug 2018 10:46:13 GMT\, shlomif@shlomifish.org wrote:
Hi\,
On Wed\, 08 Aug 2018 07:03:03 -0700 "Frederico Recsky via RT" \perlbug\-followup@​perl\.org wrote:
On Wed\, 08 Aug 2018 04:54:36 -0700\, bluewind@xinu.at wrote:
Am Mon\, 30 Jul 2018 14:48:02 -0700\, gray@gnu.org schrieb:
Fixed in GDBM version 1.17
I still seem to get the same test failures even with gdbm 1.17. Do the tests (perl 5.28.0 release tarball here) pass for you with gdbm 1.17?
I am just reporting that from 5.24\, 5.26 and 5.28 I can reproduce the same error even with gdbm 1.7.1
I am getting the test failure here as well with perlbrew and lib64gdbm-devel-1.17-1.mga7 on Mageia 7 x86-64.
I get the same failures in ext/GDBM_File/t/fatal.t on FreeBSD-13 with gdbm 1.18.1 on perl 5 blead.
##### $ uname -mrs FreeBSD 13.0-CURRENT amd64
$ pkg info | grep -i gdbm gdbm-1.18.1 GNU database manager
$ ./perl -Ilib -v | head -2 | tail -1 This is perl 5\, version 29\, subversion 5 (v5.29.5 (v5.29.4-101- gdf1e20e63c)) built for amd64-freebsd-thread-multi
$ ./perl -Ilib -V:libs -V:config_args libs='-lpthread -lgdbm -ldl -lm -lcrypt -lutil'; config_args='-des -Dusedevel -Duseithreads -Doptimize=-O2 -pipe -fstack-protector -fno-strict-aliasing';
$ cd t;./perl harness ../ext/GDBM_File/t/*.t; cd - ===( 2;0 1/8 1/? )============================================== # Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t .. Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests ../ext/GDBM_File/t/gdbm.t ... ok
Test Summary Report ------------------- ../ext/GDBM_File/t/fatal.t (Wstat: 512 Tests: 8 Failed: 2) Failed tests: 7-8 Non-zero exit status: 2 Files=2\, Tests=142\, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.24 cusr 0.08 csys = 0.36 CPU) Result: FAIL #####
I notice also that these failures are endemic in certain of our smoke- testing reports. See http://perl5.test- smoke.org/submatrix?test=../ext/GDBM_File/t/fatal.t.
The reports at that URL from FreeBSD-13 are\, I believe\, from a VM very similar to my own. The other reports are from Arch Linux smoke testing rigs.
"perlbrew install perl-5.29.5" fails on mageia v7 x64 with lib64gdbm6-1.18.1-1.mga7 lib64gdbm_compat4-1.18.1-1.mga7 lib64gdbm-devel-1.18.1-1.mga7 with these errors. Dear GDBM devs\, can you please fix that?
This is a bug report for perl from slaven@rezic.de\, generated with the help of perlbug 1.40 running under perl 5.26.3.
The test suite of perl 5.26.3 fails on a freebsd 12 system with gdbm-1.18.1 installed:
../ext/GDBM_File/t/fatal.t ......................................... 1/8 # Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t ......................................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests
The same problem happens also with perl 5.28.1 on a freebsd 13 system\, same gdbm package installed.
Flags: category=library severity=low module=GDBM_File
Site configuration information for perl 5.26.3:
Configured by eserte at Thu Nov 29 20:10:39 UTC 2018.
Summary of my perl5 (revision 5 version 26 subversion 3) configuration:
Platform:
osname=freebsd
osvers=12.0-prerelease
archname=amd64-freebsd
uname='freebsd cloud1.bbbike.org 12.0-prerelease freebsd 12.0-prerelease ad6e056e343(stable12) generic amd64 '
config_args='-ds -e -Dprefix=/usr/perl5.26.3p -Dcf_email=srezic@cpan.org -Doptimize=-O2 -pipe'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='cc'
ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2'
optimize='-O2 -pipe'
cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion=''
gccversion='4.2.1 Compatible FreeBSD Clang 6.0.1 (tags/RELEASE_601/final 335540)'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags ='-pthread -Wl\,-E -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib /usr/lib/clang/6.0.1/lib /usr/lib
libs=-lpthread -lgdbm -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc
libc=
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags=' '
cccdlflags='-DPIC -fPIC'
lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'
@INC for perl 5.26.3: lib /usr/perl5.26.3p/lib/site_perl/5.26.3/amd64-freebsd /usr/perl5.26.3p/lib/site_perl/5.26.3 /usr/perl5.26.3p/lib/5.26.3/amd64-freebsd /usr/perl5.26.3p/lib/5.26.3
Environment for perl 5.26.3: HOME=/home/eserte LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/eserte/bin/freebsd12.0:/home/eserte/bin/sh:/home/eserte/bin:/home/eserte/bin/pistachio-perl/bin:/usr/games:/home/eserte/devel PERLDOC=-MPod::Perldoc::ToTextOverstrike PERL_BADLANG (unset) SHELL=/usr/local/bin/zsh
Dana Thu\, 29 Nov 2018 12:57:43 -0800\, slaven@rezic.de reče:
This is a bug report for perl from slaven@rezic.de\, generated with the help of perlbug 1.40 running under perl 5.26.3.
----------------------------------------------------------------- The test suite of perl 5.26.3 fails on a freebsd 12 system with gdbm- 1.18.1 installed:
../ext/GDBM_File/t/fatal.t ......................................... 1/8 # Failed test 'Trapped error when attempting to write to knobbled GDBM_File' # at t/fatal.t line 37. # got: '1' # expected: undef
# Failed test 'expected error message from GDBM_File' # at t/fatal.t line 46. # '' # doesn't match '(?^: at .*\bfatal\.t line \d+\.\n\z)' # Looks like you failed 2 tests of 8. ../ext/GDBM_File/t/fatal.t ......................................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/8 subtests
The same problem happens also with perl 5.28.1 on a freebsd 13 system\, same gdbm package installed.
----------------------------------------------------------------- --- Flags: category=library severity=low module=GDBM_File --- Site configuration information for perl 5.26.3:
Configured by eserte at Thu Nov 29 20:10:39 UTC 2018.
Summary of my perl5 (revision 5 version 26 subversion 3) configuration:
Platform: osname=freebsd osvers=12.0-prerelease archname=amd64-freebsd uname='freebsd cloud1.bbbike.org 12.0-prerelease freebsd 12.0- prerelease ad6e056e343(stable12) generic amd64 ' config_args='-ds -e -Dprefix=/usr/perl5.26.3p -Dcf_email=srezic@cpan.org -Doptimize=-O2 -pipe' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2' optimize='-O2 -pipe' cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='4.2.1 Compatible FreeBSD Clang 6.0.1 (tags/RELEASE_601/final 335540)' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='cc' ldflags ='-pthread -Wl\,-E -fstack-protector-strong -L/usr/local/lib' libpth=/usr/lib /usr/local/lib /usr/lib/clang/6.0.1/lib /usr/lib libs=-lpthread -lgdbm -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc libc= so=so useshrplib=false libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags=' ' cccdlflags='-DPIC -fPIC' lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'
--- @INC for perl 5.26.3: lib /usr/perl5.26.3p/lib/site_perl/5.26.3/amd64-freebsd /usr/perl5.26.3p/lib/site_perl/5.26.3 /usr/perl5.26.3p/lib/5.26.3/amd64-freebsd /usr/perl5.26.3p/lib/5.26.3
--- Environment for perl 5.26.3: HOME=/home/eserte LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/eserte/bin/freebsd12.0:/home/eserte/bin/sh:/home/eserte/bin:/home/eserte/bin/pistachio- perl/bin:/usr/games:/home/eserte/devel PERLDOC=-MPod::Perldoc::ToTextOverstrike PERL_BADLANG (unset) SHELL=/usr/local/bin/zsh
Same failure on a debian/buster system with perl 5.28.1. Here libgdbm6-1.18.1-1 is installed.
3rd time this has been reported; merging into first ticket.
Any GDBM experts out there?
-- James E Keenan (jkeenan@cpan.org)
On Fri\, 30 Nov 2018 02:46:45 GMT\, jkeenan wrote:
3rd time this has been reported; merging into first ticket.
Any GDBM experts out there?
Let's watch smoke-test reports to see if this commit from Dave Mitchell today addresses the problem:
https://perl5.git.perl.org/perl.git/commitdiff/0d9e812d
-- James E Keenan (jkeenan@cpan.org)
On Fri\, Dec 14\, 2018 at 03:58:07PM -0800\, James E Keenan via RT wrote:
On Fri\, 30 Nov 2018 02:46:45 GMT\, jkeenan wrote:
3rd time this has been reported; merging into first ticket.
Any GDBM experts out there?
Let's watch smoke-test reports to see if this commit from Dave Mitchell today addresses the problem:
https://perl5.git.perl.org/perl.git/commitdiff/0d9e812d
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295
I have just tested blead on the FreeBSD machine I got errors for that test on the 20th November.
FreeBSD ********* 11.2-RELEASE-p2 FreeBSD 11.2-RELEASE-p2 #0: Tue Aug 14 21:45:40 UTC 2018 amd64 FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) $ pkg info | grep gdbm gdbm-1.18.1 GNU database manager
All tests successful. Files=2630\, Tests=1169659\, 214 wallclock secs (131.48 usr 20.82 sys + 708.98 cusr 91.52 csys = 952.80 CPU) Result: PASS
$ ./perl -v
This is perl 5\, version 29\, subversion 6 (v5.29.6 (v5.29.5-110-g0d9e812de5)) built for amd64-freebsd
Thumbs up.
On Sat\, 15 Dec 2018 03:16:07 -0800 "Kidney Bingos via RT" \perlbug\-followup@​perl\.org wrote:
On Fri\, Dec 14\, 2018 at 03:58:07PM -0800\, James E Keenan via RT wrote:
On Fri\, 30 Nov 2018 02:46:45 GMT\, jkeenan wrote:
3rd time this has been reported; merging into first ticket.
Any GDBM experts out there?
Let's watch smoke-test reports to see if this commit from Dave Mitchell today addresses the problem:
https://perl5.git.perl.org/perl.git/commitdiff/0d9e812d
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295
I have just tested blead on the FreeBSD machine I got errors for that test on the 20th November.
FreeBSD ********* 11.2-RELEASE-p2 FreeBSD 11.2-RELEASE-p2 #0: Tue Aug 14 21:45:40 UTC 2018 amd64 FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) $ pkg info | grep gdbm gdbm-1.18.1 GNU database manager
All tests successful. Files=2630\, Tests=1169659\, 214 wallclock secs (131.48 usr 20.82 sys + 708.98 cusr 91.52 csys = 952.80 CPU) Result: PASS
$ ./perl -v
This is perl 5\, version 29\, subversion 6 (v5.29.6 (v5.29.5-110-g0d9e812de5)) built for amd64-freebsd
Latest blead passes the tests on mageia linux v7 x86-64 too.
Thumbs up.
--
Shlomi Fish http://www.shlomifish.org/ Humanity - Parody of Modern Life - http://shlom.in/humanity
Major Kira: Well\, duh! The prophets spoke of several of The Invisible’s children and their whereabouts. Jadzia: Major\, you and I will need to talk someday about that “duh”. — http://www.shlomifish.org/humour/Star-Trek/We-the-Living-Dead/
Please reply to list if it's a mailing list post - http://shlom.in/reply .
On Sat\, 15 Dec 2018 14:51:10 GMT\, shlomif@shlomifish.org wrote:
On Sat\, 15 Dec 2018 03:16:07 -0800 "Kidney Bingos via RT" \perlbug\-followup@​perl\.org wrote:
On Fri\, Dec 14\, 2018 at 03:58:07PM -0800\, James E Keenan via RT wrote:
On Fri\, 30 Nov 2018 02:46:45 GMT\, jkeenan wrote:
3rd time this has been reported; merging into first ticket.
Any GDBM experts out there?
Let's watch smoke-test reports to see if this commit from Dave Mitchell today addresses the problem:
https://perl5.git.perl.org/perl.git/commitdiff/0d9e812d
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295
I have just tested blead on the FreeBSD machine I got errors for that test on the 20th November.
FreeBSD ********* 11.2-RELEASE-p2 FreeBSD 11.2-RELEASE-p2 #0: Tue Aug 14 21:45:40 UTC 2018 amd64 FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) $ pkg info | grep gdbm gdbm-1.18.1 GNU database manager
All tests successful. Files=2630\, Tests=1169659\, 214 wallclock secs (131.48 usr 20.82 sys + 708.98 cusr 91.52 csys = 952.80 CPU) Result: PASS
$ ./perl -v
This is perl 5\, version 29\, subversion 6 (v5.29.6 (v5.29.5-110- g0d9e812de5)) built for amd64-freebsd
Latest blead passes the tests on mageia linux v7 x86-64 too.
Thumbs up.
I was able to get a PASS on Linux with the more recent version of gdbm and on FreeBSD-13. Smoke-testing on FreeBSD-13 is also showing PASS\, e.g.\, http://perl5.test-smoke.org/report/76136.
Resolving ticket.
-- James E Keenan (jkeenan@cpan.org)
@jkeenan - Status changed from 'open' to 'pending release'
Dana Sun\, 16 Dec 2018 06:15:23 -0800\, jkeenan reče:
On Sat\, 15 Dec 2018 14:51:10 GMT\, shlomif@shlomifish.org wrote:
On Sat\, 15 Dec 2018 03:16:07 -0800 "Kidney Bingos via RT" \perlbug\-followup@​perl\.org wrote:
On Fri\, Dec 14\, 2018 at 03:58:07PM -0800\, James E Keenan via RT wrote:
On Fri\, 30 Nov 2018 02:46:45 GMT\, jkeenan wrote:
3rd time this has been reported; merging into first ticket.
Any GDBM experts out there?
Let's watch smoke-test reports to see if this commit from Dave Mitchell today addresses the problem:
https://perl5.git.perl.org/perl.git/commitdiff/0d9e812d
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295
I have just tested blead on the FreeBSD machine I got errors for that test on the 20th November.
FreeBSD ********* 11.2-RELEASE-p2 FreeBSD 11.2-RELEASE-p2 #0: Tue Aug 14 21:45:40 UTC 2018 amd64 FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) $ pkg info | grep gdbm gdbm-1.18.1 GNU database manager
All tests successful. Files=2630\, Tests=1169659\, 214 wallclock secs (131.48 usr 20.82 sys + 708.98 cusr 91.52 csys = 952.80 CPU) Result: PASS
$ ./perl -v
This is perl 5\, version 29\, subversion 6 (v5.29.6 (v5.29.5-110- g0d9e812de5)) built for amd64-freebsd
Latest blead passes the tests on mageia linux v7 x86-64 too.
Thumbs up.
I was able to get a PASS on Linux with the more recent version of gdbm and on FreeBSD-13. Smoke-testing on FreeBSD-13 is also showing PASS\, e.g.\, http://perl5.test-smoke.org/report/76136.
Resolving ticket.
However\, ext/GDBM_File/t/fatal.t in perl 5.28.2-RC1 still fails on my FreeBSD 12 and 13 systems.
Regards\, Slaven
On Fri\, 05 Apr 2019 23:40:31 -0700 "slaven@rezic.de via RT" \perlbug\-followup@​perl\.org wrote:
Dana Sun\, 16 Dec 2018 06:15:23 -0800\, jkeenan reče:
On Sat\, 15 Dec 2018 14:51:10 GMT\, shlomif@shlomifish.org wrote:
On Sat\, 15 Dec 2018 03:16:07 -0800 "Kidney Bingos via RT" \perlbug\-followup@​perl\.org wrote:
On Fri\, Dec 14\, 2018 at 03:58:07PM -0800\, James E Keenan via RT wrote:
On Fri\, 30 Nov 2018 02:46:45 GMT\, jkeenan wrote:
3rd time this has been reported; merging into first ticket.
Any GDBM experts out there?
Let's watch smoke-test reports to see if this commit from Dave Mitchell today addresses the problem:
https://perl5.git.perl.org/perl.git/commitdiff/0d9e812d
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295
I have just tested blead on the FreeBSD machine I got errors for that test on the 20th November.
FreeBSD ********* 11.2-RELEASE-p2 FreeBSD 11.2-RELEASE-p2 #0: Tue Aug 14 21:45:40 UTC 2018 amd64 FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) $ pkg info | grep gdbm gdbm-1.18.1 GNU database manager
All tests successful. Files=2630\, Tests=1169659\, 214 wallclock secs (131.48 usr 20.82 sys + 708.98 cusr 91.52 csys = 952.80 CPU) Result: PASS
$ ./perl -v
This is perl 5\, version 29\, subversion 6 (v5.29.6 (v5.29.5-110- g0d9e812de5)) built for amd64-freebsd
Latest blead passes the tests on mageia linux v7 x86-64 too.
Thumbs up.
I was able to get a PASS on Linux with the more recent version of gdbm and on FreeBSD-13. Smoke-testing on FreeBSD-13 is also showing PASS\, e.g.\, http://perl5.test-smoke.org/report/76136.
Resolving ticket.
However\, ext/GDBM_File/t/fatal.t in perl 5.28.2-RC1 still fails on my FreeBSD 12 and 13 systems.
I am getting failure on -RC1 on mageia linux v7 too.
Regards\, Slaven
--- via perlbug: queue: perl5 status: pending release https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295
--
Shlomi Fish http://www.shlomifish.org/ Best Introductory Programming Language - http://shlom.in/intro-lang
“The best time to plant a tree was 20 years ago. The second best time is now.” – A Reported Proverb
Please reply to list if it's a mailing list post - http://shlom.in/reply .
On Fri\, Apr 05\, 2019 at 11:40:31PM -0700\, slaven@rezic.de via RT wrote:
Dana Sun\, 16 Dec 2018 06:15:23 -0800\, jkeenan reče:
I was able to get a PASS on Linux with the more recent version of gdbm and on FreeBSD-13. Smoke-testing on FreeBSD-13 is also showing PASS\, e.g.\, http://perl5.test-smoke.org/report/76136.
Resolving ticket.
However\, ext/GDBM_File/t/fatal.t in perl 5.28.2-RC1 still fails on my FreeBSD 12 and 13 systems.
Cherry-picking this commit fixes it:
commit 0d9e812de5885109532ec8bf484f165213ab97cb Author: David Mitchell \davem@​iabyn\.com AuthorDate: Fri Dec 14 16:54:42 2018 +0000 Commit: David Mitchell \davem@​iabyn\.com CommitDate: Fri Dec 14 16:54:42 2018 +0000
ext/GDBM_File/t/fatal.t: handle non-fatality
This script is supposed to exercise the error handling callback
mechanism in gdbm\, by triggering an error by surreptitiously closing
the file handle which gdbm has opened.
However\, this doesn't trigger an error in newer releases of the gdbm
library\, which uses mmap() rather than write() etc. In fact I can't see
any way of triggering an error: so just skip the relevant tests if we
can't trigger a failure.
-- "You may not work around any technical limitations in the software" -- Windows Vista license
Thank you for filing this report. You have helped make Perl better.
With the release today of Perl 5.30.0\, this and 160 other issues have been resolved.
Perl 5.30.0 may be downloaded via: https://metacpan.org/release/XSAWYERX/perl-5.30.0
If you find that the problem persists\, feel free to reopen this ticket.
@khwilliamson - Status changed from 'pending release' to 'resolved'
Migrated from rt.perl.org#133295 (status was 'resolved')
Searchable as RT133295$