Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Lots of tests failing after recent locale changes

4 views
Skip to first unread message

Dave Mitchell

unread,
Mar 19, 2018, 8:30:02 PM3/19/18
to Karl Williamson, perl5-...@perl.org
Hi Karl,
I just ran the test suite on a threaded blead build, and lots of tests are
failing. The first one, in run/switches.t, can be reduced to:

use threads;
use strict;
@ARGV = ("/tmp/x");
$^I = "";
while (<>) {
threads->create(sub { })->join;
print "yy\n";
}
print "ok\n";

$ (echo bar; echo bar) > /tmp/x
$ ./perl -Ilib ~/tmp/p
perl: locale.c:964: S_emulate_setlocale: Assertion `PL_C_locale_obj' failed.
Aborted (core dumped)

I haven't looked at the other failing tests, but my stderr log file
does contain lots of those assertions, so I think it likely that they're
all related to recent locale work.

Note that 5.27.10 is due for release tomorrow.

My env:

$ env | egrep 'LANG|LC'
LANG=en_GB.UTF-8
GDM_LANG=en_GB.UTF-8
$

Here's the full list of failures:

run/switches.t (Wstat: 0 Tests: 137 Failed: 3)
Failed tests: 121, 123, 129
re/regexp_qr_embed_thr.t (Wstat: 134 Tests: 9 Failed: 0)
Non-zero wait status: 134
Parse errors: No plan found in TAP output
op/threads-dirh.t (Wstat: 134 Tests: 3 Failed: 1)
Failed test: 1
Non-zero wait status: 134
Parse errors: Bad plan. You planned 6 tests but ran 3.
op/threads.t (Wstat: 134 Tests: 9 Failed: 1)
Failed test: 1
Non-zero wait status: 134
Parse errors: Bad plan. You planned 30 tests but ran 9.
../cpan/Test-Simple/t/Test2/modules/API/Instance.t (Wstat: 134 Tests: 40 Failed: 0)
Non-zero wait status: 134
Parse errors: No plan found in TAP output
../cpan/Test-Simple/t/Legacy/threads.t (Wstat: 134 Tests: 0 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 6 tests but ran 0.
../cpan/Encode/t/truncated_utf8.t (Wstat: 0 Tests: 9 Failed: 0)
TODO passed: 9
../dist/threads/t/basic.t (Wstat: 134 Tests: 3 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 34 tests but ran 3.
../dist/threads-shared/t/av_refs.t (Wstat: 134 Tests: 5 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 14 tests but ran 5.
../dist/threads/t/blocks.t (Wstat: 134 Tests: 0 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 5 tests but ran 0.
../dist/threads/t/context.t (Wstat: 134 Tests: 3 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 31 tests but ran 3.
../dist/threads-shared/t/av_simple.t (Wstat: 134 Tests: 14 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 47 tests but ran 14.
../dist/threads/t/end.t (Wstat: 134 Tests: 2 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 6 tests but ran 2.
../dist/threads-shared/t/blessed.t (Wstat: 134 Tests: 25 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 37 tests but ran 25.
../dist/threads-shared/t/clone.t (Wstat: 134 Tests: 6 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 40 tests but ran 6.
../dist/threads-shared/t/cond.t (Wstat: 134 Tests: 6 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 32 tests but ran 6.
../dist/threads/t/exit.t (Wstat: 134 Tests: 5 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 18 tests but ran 5.
../dist/threads-shared/t/hv_refs.t (Wstat: 134 Tests: 5 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 20 tests but ran 5.
../dist/threads-shared/t/hv_simple.t (Wstat: 134 Tests: 2 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 16 tests but ran 2.
../dist/threads-shared/t/object.t (Wstat: 134 Tests: 16 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 28 tests but ran 16.
../dist/threads-shared/t/object2.t (Wstat: 134 Tests: 131 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 133 tests but ran 131.
../dist/threads-shared/t/shared_attr.t (Wstat: 134 Tests: 4 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 101 tests but ran 4.
../dist/threads/t/free.t (Wstat: 134 Tests: 1 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 29 tests but ran 1.
../dist/threads-shared/t/sv_refs.t (Wstat: 134 Tests: 7 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 21 tests but ran 7.
../dist/threads-shared/t/sv_simple.t (Wstat: 134 Tests: 8 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 11 tests but ran 8.
../dist/threads-shared/t/wait.t (Wstat: 134 Tests: 11 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 91 tests but ran 11.
../dist/threads-shared/t/waithires.t (Wstat: 134 Tests: 8 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 63 tests but ran 8.
../dist/threads/t/join.t (Wstat: 134 Tests: 2 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 20 tests but ran 2.
../dist/threads/t/kill.t (Wstat: 134 Tests: 2 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 18 tests but ran 2.
../dist/Thread-Queue/t/01_basic.t (Wstat: 134 Tests: 35 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 81 tests but ran 35.
../ext/Hash-Util-FieldHash/t/03_class.t (Wstat: 134 Tests: 3 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 7 tests but ran 3.
../ext/Hash-Util-FieldHash/t/04_thread.t (Wstat: 134 Tests: 18 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 30 tests but ran 18.
../ext/File-Glob/t/threads.t (Wstat: 134 Tests: 1 Failed: 0)
Non-zero wait status: 134
Parse errors: No plan found in TAP output
../dist/threads/t/list.t (Wstat: 134 Tests: 5 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 15 tests but ran 5.
../dist/Thread-Queue/t/05_extract.t (Wstat: 134 Tests: 8 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 20 tests but ran 8.
../dist/threads/t/problems.t (Wstat: 134 Tests: 5 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 10 tests but ran 5.
../dist/threads/t/stack.t (Wstat: 134 Tests: 10 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 18 tests but ran 10.
../dist/Thread-Queue/t/06_insert.t (Wstat: 134 Tests: 3 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 16 tests but ran 3.
../ext/PerlIO-scalar/t/scalar.t (Wstat: 134 Tests: 83 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 123 tests but ran 83.
../dist/threads/t/state.t (Wstat: 134 Tests: 25 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 59 tests but ran 25.
../dist/threads/t/stress_cv.t (Wstat: 134 Tests: 31 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 61 tests but ran 31.
../dist/threads/t/stress_re.t (Wstat: 134 Tests: 31 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 61 tests but ran 31.
../dist/threads/t/stress_string.t (Wstat: 134 Tests: 33 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 61 tests but ran 33.
../dist/threads/t/thread.t (Wstat: 134 Tests: 4 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 35 tests but ran 4.
../dist/Thread-Queue/t/09_ended.t (Wstat: 134 Tests: 20 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 60 tests but ran 20.
../dist/Thread-Queue/t/10_timed.t (Wstat: 134 Tests: 13 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 19 tests but ran 13.
../dist/Thread-Queue/t/11_limit.t (Wstat: 134 Tests: 11 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 13 tests but ran 11.
../ext/XS-APItest/t/keyword_plugin_threads.t (Wstat: 0 Tests: 1 Failed: 1)
Failed test: 1
../lib/locale_threads.t (Wstat: 0 Tests: 1 Failed: 1)
Failed test: 2
Parse errors: Tests out of sequence. Found (2) but expected (1)
Bad plan. You planned 2 tests but ran 1.
../lib/Thread.t (Wstat: 134 Tests: 6 Failed: 0)
Non-zero wait status: 134
Parse errors: Bad plan. You planned 13 tests but ran 6.





--
In my day, we used to edit the inodes by hand. With magnets.

Karl Williamson

unread,
Mar 19, 2018, 11:45:03 PM3/19/18
to Dave Mitchell, perl5-...@perl.org
On 03/19/2018 06:21 PM, Dave Mitchell wrote:
> Hi Karl,
> I just ran the test suite on a threaded blead build, and lots of tests are
> failing. The first one, in run/switches.t, can be reduced to:
>
> use threads;
> use strict;
> @ARGV = ("/tmp/x");
> $^I = "";
> while (<>) {
> threads->create(sub { })->join;
> print "yy\n";
> }
> print "ok\n";
>
> $ (echo bar; echo bar) > /tmp/x
> $ ./perl -Ilib ~/tmp/p
> perl: locale.c:964: S_emulate_setlocale: Assertion `PL_C_locale_obj' failed.
> Aborted (core dumped)
>
> I haven't looked at the other failing tests, but my stderr log file
> does contain lots of those assertions, so I think it likely that they're
> all related to recent locale work.
>
> Note that 5.27.10 is due for release tomorrow.

Thanks, someone on #irc told me about this email, so I worked on it, and
it should be fixed by
commit 8d8484540d380c09fb40616135be00825189f578
Author: Karl Williamson <k...@cpan.org>
Date: Mon Mar 19 20:52:25 2018 -0600

Fix locale failures introduced 5 hours ago

Commit 9fe4122e6defd7e9204ed6f2370d926d4c3b261b broke threaded builds
because it changed to free a global variable upon thread exit (I had
forgotten that it wasn't an interpreter variable).

I do not know why this passed before pushing; others have had trouble
reproducing it. But the same tests were failing for me now. The one
difference is that I had been using clang with address sanitizer
compiled in but turned off when I made that commit. Now I'm using g++

Spotted by Dave Mitchell

Dave Mitchell

unread,
Mar 20, 2018, 4:00:03 AM3/20/18
to Karl Williamson, perl5-...@perl.org
On Mon, Mar 19, 2018 at 09:36:20PM -0600, Karl Williamson wrote:
> Thanks, someone on #irc told me about this email, so I worked on it, and it
> should be fixed by
> commit 8d8484540d380c09fb40616135be00825189f578

Passes for me, thanks.

--
Fire extinguisher (n) a device for holding open fire doors.
0 new messages