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

t/11_net_empty_port.t fails on Cygwin on pre-release 5.31 #92

Open
nponeccop opened this issue Oct 19, 2019 · 8 comments
Open

t/11_net_empty_port.t fails on Cygwin on pre-release 5.31 #92

nponeccop opened this issue Oct 19, 2019 · 8 comments
Labels

Comments

@nponeccop
Copy link
Collaborator

nponeccop commented Oct 19, 2019

CPAN Testers:

    # found an empty IPv6 port

    #   Failed test 'port is down'
    #   at t/11_net_empty_port.t line 88.
    # Looks like you failed 1 test of 2.

#   Failed test 'udp-wait-port'
#   at t/11_net_empty_port.t line 96.
# Looks like you failed 1 test of 16.
t/11_net_empty_port.t .......... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/16 subtests

Note that tests on Cygwin are rare, so we don't have any reports (neither successes nor failures) for many combinations of perl and module versions.

@whosgonna
Copy link

This looks to fail in Strawberry Perl as well, with the same message:

t/09_fork.t .................... ok
t/10_oo.t ...................... ok
    # found an empty IPv6 port

    #   Failed test 'port is down'
    #   at t/11_net_empty_port.t line 88.
    # Looks like you failed 1 test of 2.

#   Failed test 'udp-wait-port'
#   at t/11_net_empty_port.t line 96.
# Looks like you failed 1 test of 16.
t/11_net_empty_port.t ..........
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/16 subtests

This is perl 5, version 30, subversion 0 (v5.30.0) built for MSWin32-x64-multi-thread

I'm currently running it in docker on windowsservercore, so I'm not exactly sure how to pull the log file out of it (docker cp isn't supported with hyper-v...). If anyone really needs the log file, I'm sure i could reproduce and figure out a way to get it.

@nponeccop
Copy link
Collaborator Author

I will try to reproduce it in Appveyor CI. Currently we only test

   - STRAWBERRY_VERSION: 5.28.0.1
   - STRAWBERRY_VERSION: 5.24.0.1
   - STRAWBERRY_VERSION: 5.20.3.3

@nponeccop
Copy link
Collaborator Author

On AppVeyor CI the build passes:

https://ci.appveyor.com/project/nponeccop/test-tcp-5uuc3/build/job/q36j649n891qkyqf

However they don't have IPv6 enabled, and your bug seems IPv6-specific.

I suggest you at least to run yactool --test Test::TCP, so the log is sent to CPAN Testers and we see it. It would require some configuration though. It's from https://metacpan.org/pod/CPANPLUS::YACSmoke distribution

@whosgonna
Copy link

I'm not able to reproduce now. Same computer, same docker base image, same module version. I guess my report is closed.

@nponeccop
Copy link
Collaborator Author

Or it's some rare race condition bug. So yes it's not reproducible but it has happened at least 2 times.

@syohex
Copy link
Collaborator

syohex commented Mar 22, 2020

https://github.com/tokuhirom/Test-TCP/blob/2.22/lib/Net/EmptyPort.pm#L116

This recv for empty port sets WSAEWOULDBLOCK(10035) error code, neither WSAECONNREFUSED nor WSAECONNREFUSED

@tzccinct
Copy link

tzccinct commented Nov 24, 2020

On Cygwin, this recv also sets EWOULDBLOCK (EAGAIN) because Winsock RecvFrom() never sets WSAECONNREFUSED according to the Winsock docs, and seems to set WSAEWOULDBLOCK instead. In case of Cygwin and MSWin32, we might want to assume EWOULDBLOCK (WSAEWOULDBLOCK) instead of WSAECONNREFUSED set by recv.

@paalliso
Copy link

paalliso commented Nov 4, 2023

I get this same error today on a Windows system using Cygwin. Perhaps some configuration issue? Still looking into it...

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

No branches or pull requests

5 participants