Skip to content

Instantly share code, notes, and snippets.

@kiwiroy
Last active September 16, 2020 10:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kiwiroy/f7068976cd050db06b6758af9d7335e5 to your computer and use it in GitHub Desktop.
Save kiwiroy/f7068976cd050db06b6758af9d7335e5 to your computer and use it in GitHub Desktop.
mojo 1472

I/O watcher failed

mojolicious/mojo#1472

Mojo::Reactor::Poll: I/O watcher failed: Can't call method "write" on an undefined value

This gist reproduces this using docker and the steps from the linux action.

Output from run-in-docker.sh

Cloning into 'mojo'...
App::cpanminus is up to date. (1.7044)
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.46.tar.gz ... OK
Configuring ExtUtils-MakeMaker-7.46 ... OK
Building ExtUtils-MakeMaker-7.46 ... OK
Successfully installed ExtUtils-MakeMaker-7.46 (upgraded from 7.34)
1 distribution installed
--> Working on .
Configuring /mojo ... OK
<== Installed dependencies for .. Finishing.
--> Working on Cpanel::JSON::XS
Fetching http://www.cpan.org/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.23.tar.gz ... OK
Configuring Cpanel-JSON-XS-4.23 ... OK
Building Cpanel-JSON-XS-4.23 ... OK
Successfully installed Cpanel-JSON-XS-4.23
--> Working on EV
Fetching http://www.cpan.org/authors/id/M/ML/MLEHMANN/EV-4.33.tar.gz ... OK
==> Found dependencies: Canary::Stability
--> Working on Canary::Stability
Fetching http://www.cpan.org/authors/id/M/ML/MLEHMANN/Canary-Stability-2013.tar.gz ... OK
Configuring Canary-Stability-2013 ... OK
Building Canary-Stability-2013 ... OK
Successfully installed Canary-Stability-2013
Configuring EV-4.33 ... OK
==> Found dependencies: common::sense
--> Working on common::sense
Fetching http://www.cpan.org/authors/id/M/ML/MLEHMANN/common-sense-3.75.tar.gz ... OK
Configuring common-sense-3.75 ... OK
Building common-sense-3.75 ... OK
Successfully installed common-sense-3.75
Building EV-4.33 ... OK
Successfully installed EV-4.33
--> Working on Role::Tiny
Fetching http://www.cpan.org/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz ... OK
Configuring Role-Tiny-2.001004 ... OK
Building Role-Tiny-2.001004 ... OK
Successfully installed Role-Tiny-2.001004
--> Working on IO::Socket::SSL
Fetching http://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.068.tar.gz ... OK
==> Found dependencies: Net::SSLeay
--> Working on Net::SSLeay
Fetching http://www.cpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz ... OK
Configuring Net-SSLeay-1.88 ... OK
Building Net-SSLeay-1.88 ... OK
Successfully installed Net-SSLeay-1.88
Configuring IO-Socket-SSL-2.068 ... OK
==> Found dependencies: Mozilla::CA
--> Working on Mozilla::CA
Fetching http://www.cpan.org/authors/id/A/AB/ABH/Mozilla-CA-20200520.tar.gz ... OK
Configuring Mozilla-CA-20200520 ... OK
Building Mozilla-CA-20200520 ... OK
Successfully installed Mozilla-CA-20200520
Building IO-Socket-SSL-2.068 ... OK
Successfully installed IO-Socket-SSL-2.068
--> Working on IO::Socket::Socks
Fetching http://www.cpan.org/authors/id/O/OL/OLEG/IO-Socket-Socks-0.74.tar.gz ... OK
Configuring IO-Socket-Socks-0.74 ... OK
Building IO-Socket-Socks-0.74 ... OK
Successfully installed IO-Socket-Socks-0.74
--> Working on Future::AsyncAwait
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/Future-AsyncAwait-0.43.tar.gz ... OK
==> Found dependencies: XS::Parse::Sublike::Builder, Module::Build
--> Working on XS::Parse::Sublike::Builder
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.10.tar.gz ... OK
==> Found dependencies: Module::Build
--> Working on Module::Build
Fetching http://www.cpan.org/authors/id/L/LE/LEONT/Module-Build-0.4231.tar.gz ... OK
Configuring Module-Build-0.4231 ... OK
Building Module-Build-0.4231 ... OK
Successfully installed Module-Build-0.4231
Configuring XS-Parse-Sublike-0.10 ... OK
Building XS-Parse-Sublike-0.10 ... OK
Successfully installed XS-Parse-Sublike-0.10
Configuring Future-AsyncAwait-0.43 ... OK
==> Found dependencies: Future
--> Working on Future
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/Future-0.45.tar.gz ... OK
Configuring Future-0.45 ... OK
Building Future-0.45 ... OK
Successfully installed Future-0.45
Building Future-AsyncAwait-0.43 ... OK
Successfully installed Future-AsyncAwait-0.43
13 distributions installed
--> Working on Test::Pod
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz ... OK
Configuring Test-Pod-1.52 ... OK
Building Test-Pod-1.52 ... OK
Successfully installed Test-Pod-1.52
--> Working on Test::Pod::Coverage
Fetching http://www.cpan.org/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz ... OK
Configuring Test-Pod-Coverage-1.10 ... OK
==> Found dependencies: Pod::Coverage
--> Working on Pod::Coverage
Fetching http://www.cpan.org/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz ... OK
Configuring Pod-Coverage-0.23 ... OK
==> Found dependencies: Devel::Symdump
--> Working on Devel::Symdump
Fetching http://www.cpan.org/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz ... OK
Configuring Devel-Symdump-2.18 ... OK
Building Devel-Symdump-2.18 ... OK
Successfully installed Devel-Symdump-2.18
Building Pod-Coverage-0.23 ... OK
Successfully installed Pod-Coverage-0.23
Building Test-Pod-Coverage-1.10 ... OK
Successfully installed Test-Pod-Coverage-1.10
4 distributions installed
t/pod.t .................................... ok
t/pod_coverage.t ........................... ok
t/mojo/asset.t ............................. ok
t/mojo/base.t .............................. ok
t/mojo/bytestream.t ........................ ok
t/mojo/cache.t ............................. ok
t/mojo/cgi.t ............................... ok
t/mojo/collection.t ........................ ok
t/mojo/content.t ........................... ok
t/mojo/cookie.t ............................ ok
t/mojo/cookiejar.t ......................... ok
t/mojo/daemon.t ............................ ok
t/mojo/daemon_ipv6_tls.t ................... skipped: set TEST_IPV6 to enable this test (developer only!)
t/mojo/date.t .............................. ok
t/mojo/delay.t ............................. ok
t/mojo/dom.t ............................... ok
t/mojo/dynamic_methods.t ................... ok
t/mojo/eventemitter.t ...................... ok
t/mojo/exception.t ......................... ok
t/mojo/file.t .............................. ok
t/mojo/headers.t ........................... ok
t/mojo/home.t .............................. ok
t/mojo/hypnotoad.t ......................... skipped: set TEST_HYPNOTOAD to enable this test (developer only!)
t/mojo/ioloop.t ............................ ok
t/mojo/ioloop_ipv6.t ....................... skipped: set TEST_IPV6 to enable this test (developer only!)
Mojo::Reactor::Poll: I/O watcher failed: Can't call method "write" on an undefined value at t/mojo/ioloop_tls.t line 99.
#!/bin/bash
git clone https://github.com/mojolicious/mojo.git mojo && cd mojo
cpanm -n App::cpanminus ExtUtils::MakeMaker
cpanm -n --installdeps .
cpanm -n Cpanel::JSON::XS EV Role::Tiny IO::Socket::SSL IO::Socket::Socks Future::AsyncAwait
cpanm -n Test::Pod Test::Pod::Coverage
TEST_ASYNC_AWAIT=1 TEST_EV=1 TEST_TLS=1 TEST_POD=1 TEST_SOCKS=1 TEST_SUBPROCESS=1 prove -l t t/mojo t/mojolicious
#!/bin/bash
docker run -v $(pwd):/tmp/mojo perl:5.30 /bin/bash /tmp/mojo/gh-action.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment