Subject: | t/ithreadm.t hang/fail on darwin |
The t/ithreadm.t test hangs or fails on darwin (Mac OS X). I tried
running tests several times and got different results each time:
=== Run 1 ===
(via CPANPLUS v0.061)
t/ithreadm......Child 0: Error while reading: 0 () at t/ithreadm.t line
47, <GEN1> line 7.
Child 1: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 96.
Child 2: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 2.
Child 3: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 34.
Child 5: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 126.
Child 6: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 12.
Child 8: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 415.
=== Run 2 ===
(via CPANPLUS v0.061)
t/ithreadm......Child 2: Error while reading: 0 (Connection reset by
peer) at t/ithreadm.t line 47, <GEN1> line 1.
Child 3: Error while reading: 0 (Connection reset by peer) at
t/ithreadm.t line 47, <GEN1> line 22.
Child 4: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 1.
Child 5: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 16.
Child 6: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 23.
Child 9: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 47.
=== Run 3 ===
(by hand, "perl -Ilib t/ithreadm.t"
Starting server: perl -Iblib/lib -Iblib/arch t/server --mode=ithreads
logfile=stderr debug
1..10
Child 1: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 8.
Child 3: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 2.
Child 4: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 22.
Child 6: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 11.
ok 1
not ok 2
ok 3
not ok 4
not ok 5
ok 6
not ok 7
Child 7: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 1.
not ok 8
ok 9
ok 10
Terminating server.
=== Run 3 ===
(by hand, "perl -Ilib t/ithreadm.t"
Starting server: perl -Iblib/lib -Iblib/arch t/server --mode=ithreads
logfile=stderr debug
1..10
Child 1: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 3.
Child 2: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 15.
Child 3: Error while reading: 0 (Connection reset by peer) at
t/ithreadm.t line 47, <GEN1> line 51.
Child 4: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 56.
Child 5: Error while reading: 0 (Connection reset by peer) at
t/ithreadm.t line 47, <GEN1> line 34.
Child 6: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 21.
ok 1
not ok 2
not ok 3
not ok 4
not ok 5
not ok 6
not ok 7
Child 8: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 10.
Child 9: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 7.
ok 8
not ok 9
not ok 10
Terminating server.
=== Run 5 ===
(by hand, "perl -Ilib t/ithreadm.t"
Starting server: perl -Iblib/lib -Iblib/arch t/server --mode=ithreads
logfile=stderr debug
1..10
Child 3: Error while reading: 0 (Connection reset by peer) at
t/ithreadm.t line 47, <GEN1> line 1.
Child 4: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 1.
Child 6: Error while reading: 0 (Connection reset by peer) at
t/ithreadm.t line 47, <GEN1> line 1.
ok 1
ok 2
ok 3
not ok 4
not ok 5
Alarm clock
My Perl is Apple's build of 5.8.6 ("darwin-thread-multi-2level") on OS X
10.4.5.
Note, but perhaps not relevant: this platform has odd timeout behavior
on abruptly closed ports -- servers sometimes can't re-bind to ports for
25-40 seconds after an unexpected close.
--Chris