Re: Smoke [blead] v5.25.7-50-g4f738c7 FAIL(X) os/390 25.00 (2964/)

[email protected] (Karl Williamson) Tue, 6 Dec 2016 23:09:14 -0700
Newsgroups perl.mvs,perl.perl5.porters,perl.daily-build.reports
Message-ID <[email protected]>
On 12/06/2016 04:26 AM, Yaroslav Kuzmin wrote:
>
> Smoke log at available  https://drive.google.com/file/d/0B5PTttxwo7qAdG1UbDdncHNOdG8
>
> Automated smoke report for branch blead 5.25.8 patch 4f738c750ddb40ef82b46158f89572739a8b186a v5.25.7-50-g4f738c7
>  RS12: 2964 (2964/)
>      on        os/390 - 25.00
>      using     c99 version
>      smoketime 5 hours 17 minutes (average 2 hours 38 minutes)
>
>  Summary: FAIL(X)
>
>  O = OK  F = Failure(s), extended report at the bottom
>  X = Failure(s) under TEST but not under harness
>  ? = still running or test results not (yet) available
>  Build failures during:       - = unknown or N/A
>  c = Configure, m = make, M = make (after miniperl), t = make test-prep
>
>  v5.25.7-50-g4f738c7  Configuration (common) none
>  ----------- ---------------------------------------------------------
>  X X X X     -Dusedl
>  | | | +----- PERLIO = perlio -DDEBUGGING
>  | | +------- PERLIO = stdio  -DDEBUGGING
>  | +--------- PERLIO = perlio
>  +----------- PERLIO = stdio
>
>
>  Locally applied patches:
>      SMOKE4f738c750ddb40ef82b46158f89572739a8b186a
>
>  Tests skipped on user request:
>      # One test name on a line
>  Failures: (common-args) none
>  [stdio] -Dusedl
>  Inconsistent test results (between TEST and harness):
>      ../ext/XS-APItest/t/utf8.t.............. ......................................... FAILED at test 157018
>      ../t/dist/Net-Ping/t/010_pingecho.t..... .................................. FAILED at test 2
>      ../lib/warnings.t....................... .................................................. FAILED at test 519
>      ../lib/locale.t......................... .................................................... FAILED at test 408

Thanks.  The APItest failures are down from a couple hundred to just 7, 
and those 7 are due to an oversight on my part, and there is a fix now 
in blead.  Blead also contains a fix for the locale.t failure.

I cant figure out why the warnings.t failure is happening.  To that end, 
attached is a patch to apply to blead to add debugging info to help me. 
Compile with -DDEBUGGING, then manually

cd t
./perl -I../lib ../lib/warnings.t

and capture the output and send to me.

I do not know enough to know why the pingecho.t test is failed.  This is 
a recent addition.  It is trying to do a loopback test to 127.0.0.1.  Do 
you know of any reason this would fail on your system?  Maybe it isn't 
configured right?  If there is such a reason, how could we tell so as to 
skip the test?
>
>  [perlio] -Dusedl
>  Inconsistent test results (between TEST and harness):
>      ../ext/XS-APItest/t/utf8.t.............. ......................................... FAILED at test 157018
>      ../lib/locale.t......................... .................................................... FAILED at test 408
>      ../t/dist/Net-Ping/t/010_pingecho.t..... .................................. FAILED at test 2
>      ../lib/warnings.t....................... .................................................. FAILED at test 519
>
>  [stdio/perlio] -DDEBUGGING -Dusedl
>  Inconsistent test results (between TEST and harness):
>      ../lib/locale.t......................... .................................................... FAILED at test 408
>      ../lib/warnings.t....................... .................................................. FAILED at test 519
>      ../t/dist/Net-Ping/t/010_pingecho.t..... .................................. FAILED at test 2
>      ../ext/XS-APItest/t/utf8.t.............. ......................................... FAILED at test 157018
>
>  Compiler messages(os390):
>
>
>
>  --
>  Report by Test::Smoke v1.6 running on perl 5.22.0
>  (Reporter v0.052 / Smoker v0.045)
>
>
> --
>
> Regards,
>
> Yaroslav Kuzmin
> Developer C/C++ ,z/OS , Linux
> 3 Zhukovskiy Street · Miass, Chelyabinsk region 456318 · Russia
> Tel:  +7.922.2.38.33.38
> Email: [email protected]
> Web: www.rocketsoftware.com
>
> ================================
> Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ +1 877.328.2932 ■ +1 781.577.4321
> Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - http://www.rocketsoftware.com/manage-your-email-preferences
> Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy
> ================================
>
> This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you.
>
0027-utf8.c-Debugging-code-for-Yaroslav.patch (text/x-diff, 3.4 KB)
From d3a4e627d6327c84769be0fac32d2c8b43cfe135 Mon Sep 17 00:00:00 2001
From: Karl Williamson <[email protected]>
Date: Tue, 6 Dec 2016 12:22:24 -0700
Subject: [PATCH 27/27] utf8.c: Debugging code for Yaroslav

---
 t/lib/warnings/utf8 |  2 ++
 utf8.c              | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/t/lib/warnings/utf8 b/t/lib/warnings/utf8
index dded118..197e65c 100644
--- a/t/lib/warnings/utf8
+++ b/t/lib/warnings/utf8
@@ -348,6 +348,7 @@ print "\x{1100000}" =~ /^[\p{Is_Super}\x{100}]$/, "\n";
 EXPECT
 1
 ########
+-DU
 require "../test.pl";
 use warnings 'utf8';
 my $file = tempfile();
@@ -584,6 +585,7 @@ require "../test.pl";
 no warnings 'utf8';
 my $file = tempfile();
 open(my $fh, "+>:utf8", $file);
+$|=1;
 print $fh "\x{D7FF}", "\n";
 print $fh "\x{D800}", "\n";
 print $fh "\x{DFFF}", "\n";
diff --git a/utf8.c b/utf8.c
index 9f959f9..fbfb657 100644
--- a/utf8.c
+++ b/utf8.c
@@ -4793,8 +4793,11 @@ Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len)
 			   "%s in %s", unees, PL_op ? OP_DESC(PL_op) : "print");
 	    return FALSE;
 	}
+        DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: check_utf8_print(%s, len=%d) called\n", __FILE__, __LINE__, _byte_dump_string(s, len), (int) len));
 	if (UNLIKELY(isUTF8_POSSIBLY_PROBLEMATIC(*s))) {
+            DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: is possibly problematic\n", __FILE__, __LINE__));
 	    if (UNLIKELY(UTF8_IS_SUPER(s, e))) {
+                DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: is super\n", __FILE__, __LINE__));
                 if (   ckWARN_d(WARN_NON_UNICODE)
                     || (   ckWARN_d(WARN_DEPRECATED)
 #ifndef UV_IS_QUAD
@@ -4818,6 +4821,7 @@ Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len)
                 }
 	    }
 	    else if (UNLIKELY(UTF8_IS_SURROGATE(s, e))) {
+                DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: is surrogate\n", __FILE__, __LINE__));
 		if (ckWARN_d(WARN_SURROGATE)) {
                     /* This has a different warning than the one the called
                      * function would output, so can't just call it, unlike we
@@ -4830,9 +4834,25 @@ Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len)
 	    }
 	    else if (UNLIKELY(UTF8_IS_NONCHAR(s, e)) && (ckWARN_d(WARN_NONCHAR))) {
                 /* A side effect of this function will be to warn */
+                DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: is non-char; should warn\n", __FILE__, __LINE__));
                 (void) utf8n_to_uvchr(s, e - s, NULL, UTF8_WARN_NONCHAR);
 		ok = FALSE;
 	    }
+            else {
+                DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: not a nonchar, or not warning\n", __FILE__, __LINE__));
+                if (UTF8_IS_NONCHAR(s, e)) {
+                    DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: a nonchar\n", __FILE__, __LINE__));
+                }
+                else {
+                    DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: not a nonchar\n", __FILE__, __LINE__));
+                }
+                if (ckWARN_d(WARN_NONCHAR)) {
+                    DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: nonchar warnings on\n", __FILE__, __LINE__));
+                }
+                else {
+                    DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: nonchar warnings off\n", __FILE__, __LINE__));
+                }
+            }
 	}
 	s += UTF8SKIP(s);
     }
-- 
2.7.4