Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5.29.4 - io/socket.t reports as failing on Windows #16730

Closed
p5pRT opened this issue Oct 21, 2018 · 9 comments
Closed

5.29.4 - io/socket.t reports as failing on Windows #16730

p5pRT opened this issue Oct 21, 2018 · 9 comments

Comments

@p5pRT
Copy link

p5pRT commented Oct 21, 2018

Migrated from rt.perl.org#133604 (status was 'resolved')

Searchable as RT133604$

@p5pRT
Copy link
Author

p5pRT commented Oct 21, 2018

From @sisyphus

Hi,

Here's what I see wrt to socket.t when running the test suite​:

io/socket.t ........................................................ 1/?
recv() isn't allowed on :utf8 handles at io/socket.t line 209.
send() isn't allowed on :utf8 handles at io/socket.t line 177.
io/socket.t ........................................................
Dubious, test returned 255 (wstat 65280, 0xff00)
All 21 subtests passed
  (less 1 skipped subtest​: 20 okay)

However, the test summary regards that as a FAIL​:

io/socket.t (Wstat​:
65280 Tests​: 21 Failed​: 0)
  Non-zero exit status​: 255
  Parse errors​: No plan found in TAP output

Running that test script outside of Test​::Harness appears to be ok​:

C​:\_32\comp\perl-5.29.4>perl t/io/socket.t
ok 1 - close the socket
ok 2 - make a tcp socket
ok 3 - bind works
ok 4 - getsockname() on bound socket
# port 52996
ok 5 - listen() works
ok 6 - make accept tcp socket
ok 7 - accept() works
ok 8 # skip no fcntl
ok 9 - close server socket in child
ok 10 - make child tcp socket
ok 11 - connect() works
ok 12 - peer from recv() should be empty or the remote name
ok 13 - check we received the data
ok 14 - shutdown() works
# recv/send :utf8 tests
ok 15 - make a tcp socket (recv/send :utf8 handling)
ok 16 - bind works
ok 17 - getsockname() on bound socket
# port 52998
ok 18 - listen() works
ok 19 - make accept tcp socket
recv() isn't allowed on :utf8 handles at t/io/socket.t line 209.
ok 20 - accept() works
ok 21 - should die on send to :utf8 socket
send() isn't allowed on :utf8 handles at t/io/socket.t line 177.

This is the same on both 32-bit and 64-bit builds.

Cheers,
Rob

@p5pRT
Copy link
Author

p5pRT commented Oct 21, 2018

From @tonycoz

On Sun, Oct 21, 2018 at 02​:17​:28AM -0700, sisyphus (via RT) wrote​:

Running that test script outside of Test​::Harness appears to be ok​:

C​:\_32\comp\perl-5.29.4>perl t/io/socket.t
ok 1 - close the socket
ok 2 - make a tcp socket
ok 3 - bind works
ok 4 - getsockname() on bound socket
# port 52996
ok 5 - listen() works
ok 6 - make accept tcp socket
ok 7 - accept() works
ok 8 # skip no fcntl
ok 9 - close server socket in child
ok 10 - make child tcp socket
ok 11 - connect() works
ok 12 - peer from recv() should be empty or the remote name
ok 13 - check we received the data
ok 14 - shutdown() works
# recv/send :utf8 tests
ok 15 - make a tcp socket (recv/send :utf8 handling)
ok 16 - bind works
ok 17 - getsockname() on bound socket
# port 52998
ok 18 - listen() works
ok 19 - make accept tcp socket
recv() isn't allowed on :utf8 handles at t/io/socket.t line 209.
ok 20 - accept() works
ok 21 - should die on send to :utf8 socket
send() isn't allowed on :utf8 handles at t/io/socket.t line 177.

No, that's a fail, there's no plan (1..21) because both threads die
before it's produced.

This is the same on both 32-bit and 64-bit builds.

Yeah, I'm not sure what the underlying problem is.

The binmode() before the die in each "process" isn't removing the
:utf8 flag (not the :crlf) from the PerlIO layers.

Tomorrow I'll add a skip for that block (it's 10pm) and go back to
trying to track down the cause.

Tony

@p5pRT
Copy link
Author

p5pRT commented Oct 21, 2018

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Oct 21, 2018

From @wchristian

On Sun, 21 Oct 2018 13​:16​:56 +0200, Tony Cook <tony@​develop-help.com> wrote​:

On Sun, Oct 21, 2018 at 02​:17​:28AM -0700, sisyphus (via RT) wrote​:

Running that test script outside of Test​::Harness appears to be ok​:

C​:\_32\comp\perl-5.29.4>perl t/io/socket.t
ok 1 - close the socket
ok 2 - make a tcp socket
ok 3 - bind works
ok 4 - getsockname() on bound socket
# port 52996
ok 5 - listen() works
ok 6 - make accept tcp socket
ok 7 - accept() works
ok 8 # skip no fcntl
ok 9 - close server socket in child
ok 10 - make child tcp socket
ok 11 - connect() works
ok 12 - peer from recv() should be empty or the remote name
ok 13 - check we received the data
ok 14 - shutdown() works
# recv/send :utf8 tests
ok 15 - make a tcp socket (recv/send :utf8 handling)
ok 16 - bind works
ok 17 - getsockname() on bound socket
# port 52998
ok 18 - listen() works
ok 19 - make accept tcp socket
recv() isn't allowed on :utf8 handles at t/io/socket.t line 209.
ok 20 - accept() works
ok 21 - should die on send to :utf8 socket
send() isn't allowed on :utf8 handles at t/io/socket.t line 177.

No, that's a fail, there's no plan (1..21) because both threads die
before it's produced.

This is the same on both 32-bit and 64-bit builds.

Yeah, I'm not sure what the underlying problem is.

The binmode() before the die in each "process" isn't removing the
:utf8 flag (not the :crlf) from the PerlIO layers.

Tomorrow I'll add a skip for that block (it's 10pm) and go back to
trying to track down the cause.

Tony

Note for context​: This was caused specifically by 9704d77 immediately upon introduction and was caught by my Win32 smoker on test-smoke.org

--
With regards,
Christian Walde

@p5pRT
Copy link
Author

p5pRT commented Oct 22, 2018

From @tonycoz

On Sun, Oct 21, 2018 at 08​:40​:11PM +0200, Christian Walde wrote​:

On Sun, 21 Oct 2018 13​:16​:56 +0200, Tony Cook <tony@​develop-help.com> wrote​:

On Sun, Oct 21, 2018 at 02​:17​:28AM -0700, sisyphus (via RT) wrote​:

Running that test script outside of Test​::Harness appears to be ok​:

C​:\_32\comp\perl-5.29.4>perl t/io/socket.t
ok 1 - close the socket
ok 2 - make a tcp socket
ok 3 - bind works
ok 4 - getsockname() on bound socket
# port 52996
ok 5 - listen() works
ok 6 - make accept tcp socket
ok 7 - accept() works
ok 8 # skip no fcntl
ok 9 - close server socket in child
ok 10 - make child tcp socket
ok 11 - connect() works
ok 12 - peer from recv() should be empty or the remote name
ok 13 - check we received the data
ok 14 - shutdown() works
# recv/send :utf8 tests
ok 15 - make a tcp socket (recv/send :utf8 handling)
ok 16 - bind works
ok 17 - getsockname() on bound socket
# port 52998
ok 18 - listen() works
ok 19 - make accept tcp socket
recv() isn't allowed on :utf8 handles at t/io/socket.t line 209.
ok 20 - accept() works
ok 21 - should die on send to :utf8 socket
send() isn't allowed on :utf8 handles at t/io/socket.t line 177.

No, that's a fail, there's no plan (1..21) because both threads die
before it's produced.

This is the same on both 32-bit and 64-bit builds.

Yeah, I'm not sure what the underlying problem is.

The binmode() before the die in each "process" isn't removing the
:utf8 flag (not the :crlf) from the PerlIO layers.

Tomorrow I'll add a skip for that block (it's 10pm) and go back to
trying to track down the cause.

Tony

Note for context​: This was caused specifically by 9704d77 immediately upon introduction and was caught by my Win32 smoker on test-smoke.org

The cause of that test failing is fixed by dda4a47.

Tony

@p5pRT
Copy link
Author

p5pRT commented Oct 30, 2018

From @tonycoz

On Sun, 21 Oct 2018 21​:41​:32 -0700, tonyc wrote​:

The cause of that test failing is fixed by
dda4a47.

Closing.

Tony

@p5pRT
Copy link
Author

p5pRT commented Oct 30, 2018

@tonycoz - Status changed from 'open' to 'pending release'

@p5pRT
Copy link
Author

p5pRT commented May 22, 2019

From @khwilliamson

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.

@p5pRT
Copy link
Author

p5pRT commented May 22, 2019

@khwilliamson - Status changed from 'pending release' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant