Skip Menu |
 

This queue is for tickets about the Net-Daemon CPAN distribution.

Report information
The Basics
Id: 18256
Status: open
Worked: 10 min
Priority: 0/
Queue: Net-Daemon

People
Owner: MNOONING [...] cpan.org
Requestors: cpan [...] clotho.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.38
Fixed in: (no value)



Subject: t/ithreadm.t hang/fail on darwin
MIME-Version: 1.0
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Type: text/plain; charset="utf8"
Content-Disposition: inline
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 3547
Download (untitled) / with headers
text/plain 3.4k
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
MIME-Version: 1.0
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
Message-Id: <rt-3.6.HEAD-16457-1179924741-1022.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: m.nooning [...] comcast.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 63
Fixed in Net-Daemon/Net-Daemon-0.40.tar.gz which is now on CPAN
MIME-Version: 1.0
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
Message-Id: <rt-3.6.HEAD-16449-1179942952-31.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 134
Download (untitled) / with headers
text/plain 134b
I do not have a Darwin machine to test this on, but it should work (famous last words). Fixed in Net-Daemon-0.40 and Net-Daemon-0.41
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-16449-1179942952-31.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
Message-Id: <rt-3.6.HEAD-16500-1179972646-548.18256-0-0 [...] rt.cpan.org>
References: <rt-3.6.HEAD-16449-1179942952-31.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 6440
Download (untitled) / with headers
text/plain 6.2k
On Wed May 23 13:55:52 2007, MNOONING wrote: Show quoted text
> I do not have a Darwin machine to test this on, but it should work > (famous last words). > > Fixed in Net-Daemon-0.40 and Net-Daemon-0.41
I'm sorry to be the bearer of bad news, but it still fails on OSX 10.4.9, perl 5.8.6. Are there any additional diagnostics I can provide, or tests I can run for you? Below is the output of two runs. The first is unmodified code. The second is with some additional diagnostics enabled by hacking t/ithreadm.t and t/server. However, I can't make any sense of the errors after reading code for 20 minutes... Chris % perl -Mblib t/ithreadm.t Starting server: perl -Iblib/lib -Iblib/arch t/server --mode=ithreads logfile=stderr debug 1..10 Child 0: Error while reading: 0 (Connection reset by peer) at t/ithreadm.t line 47, <GEN1> line 1. Child 1: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 1. Child 3: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 835. Child 4: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 796. not ok 1 not ok 2 ok 3 not ok 4 not ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 Terminating server. % perl -Mblib t/ithreadm.t Starting server: perl -w -Mblib t/server --mode=ithreads --logfile=stderr --debug 1..10 Wed May 23 20:57:38 2007 debug, 0, Server starting in operation mode ithreads Wed May 23 20:57:38 2007 debug, 0, Created ndtest.prt with port 56914 Wed May 23 20:57:38 2007 notice, 0, Server starting server on port 56914 Spawning child 0. Wed May 23 20:57:39 2007 debug, 0, Connection from 127.0.0.1, port 56915 Wed May 23 20:57:39 2007 debug, 0, Child clone: Multiplier=HASH(0x1828c9c) Wed May 23 20:57:40 2007 debug, 1, New child starting (Multiplier=HASH(0x18a6c70)). Wed May 23 20:57:40 2007 debug, 1, Accepting client from 127.0.0.1, port 56915 Wed May 23 20:57:40 2007 debug, 1, Accepting client Spawning child 1. Wed May 23 20:57:40 2007 debug, 1, Child terminating. Wed May 23 20:57:40 2007 debug, 0, Connection from 127.0.0.1, port 56916 Wed May 23 20:57:40 2007 debug, 0, Child clone: Multiplier=HASH(0x1828ca8) Spawning child 2. Wed May 23 20:57:40 2007 debug, 2, New child starting (Multiplier=HASH(0x194098c)). Wed May 23 20:57:40 2007 debug, 2, Accepting client from 127.0.0.1, port 56916 Wed May 23 20:57:40 2007 debug, 2, Accepting client Wed May 23 20:57:40 2007 debug, 2, Child terminating. Child 1: Error while reading: 0 (Connection reset by peer), iter 532 at t/ithreadm.t line 48, <GEN1> line 532. Wed May 23 20:57:40 2007 debug, 0, Connection from 127.0.0.1, port 56917 Wed May 23 20:57:40 2007 debug, 0, Child clone: Multiplier=HASH(0x1828c30) Spawning child 3. Wed May 23 20:57:40 2007 debug, 3, New child starting (Multiplier=HASH(0x19dab8c)). Wed May 23 20:57:40 2007 debug, 3, Accepting client from 127.0.0.1, port 56917 Wed May 23 20:57:40 2007 debug, 3, Accepting client Wed May 23 20:57:40 2007 debug, 3, Child terminating. Wed May 23 20:57:41 2007 debug, 0, Connection from 127.0.0.1, port 56918 Wed May 23 20:57:41 2007 debug, 0, Child clone: Multiplier=HASH(0x189d9cc) Spawning child 4. Wed May 23 20:57:41 2007 debug, 4, New child starting (Multiplier=HASH(0x1a7418c)). Wed May 23 20:57:41 2007 debug, 4, Accepting client from 127.0.0.1, port 56918 Wed May 23 20:57:41 2007 debug, 4, Accepting client Wed May 23 20:57:41 2007 debug, 4, Child terminating. Child 3: Error while reading: 0 (Connection reset by peer), iter 1 at t/ithreadm.t line 48, <GEN1> line 1. Wed May 23 20:57:41 2007 debug, 0, Connection from 127.0.0.1, port 56919 Wed May 23 20:57:41 2007 debug, 0, Child clone: Multiplier=HASH(0x1828c9c) Spawning child 5. Wed May 23 20:57:41 2007 debug, 5, New child starting (Multiplier=HASH(0x1b0e78c)). Wed May 23 20:57:41 2007 debug, 5, Accepting client from 127.0.0.1, port 56919 Wed May 23 20:57:41 2007 debug, 5, Accepting client Wed May 23 20:57:41 2007 debug, 5, Child terminating. Wed May 23 20:57:41 2007 debug, 0, Connection from 127.0.0.1, port 56920 Wed May 23 20:57:41 2007 debug, 0, Child clone: Multiplier=HASH(0x1828ca8) Spawning child 6. Wed May 23 20:57:41 2007 debug, 6, New child starting (Multiplier=HASH(0x1ba818c)). Wed May 23 20:57:41 2007 debug, 6, Accepting client from 127.0.0.1, port 56920 Wed May 23 20:57:41 2007 debug, 6, Accepting client Wed May 23 20:57:42 2007 debug, 6, Child terminating. Spawning child 7. Wed May 23 20:57:42 2007 debug, 0, Connection from 127.0.0.1, port 56921 Wed May 23 20:57:42 2007 debug, 0, Child clone: Multiplier=HASH(0x1828c30) Wed May 23 20:57:42 2007 debug, 7, New child starting (Multiplier=HASH(0x1c4298c)). Wed May 23 20:57:42 2007 debug, 7, Accepting client from 127.0.0.1, port 56921 Wed May 23 20:57:42 2007 debug, 7, Accepting client Wed May 23 20:57:42 2007 debug, 7, Child terminating. Child 6: Error while reading: 0 (Connection reset by peer), iter 1 at t/ithreadm.t line 48, <GEN1> line 1. Spawning child 8. Wed May 23 20:57:42 2007 debug, 0, Connection from 127.0.0.1, port 56922 Wed May 23 20:57:42 2007 debug, 0, Child clone: Multiplier=HASH(0x189d9cc) Wed May 23 20:57:42 2007 debug, 8, New child starting (Multiplier=HASH(0x1cdc58c)). Wed May 23 20:57:42 2007 debug, 8, Accepting client from 127.0.0.1, port 56922 Wed May 23 20:57:42 2007 debug, 8, Accepting client Wed May 23 20:57:42 2007 debug, 8, Child terminating. Wed May 23 20:57:42 2007 debug, 0, Connection from 127.0.0.1, port 56923 Wed May 23 20:57:42 2007 debug, 0, Child clone: Multiplier=HASH(0x1828c9c) Spawning child 9. Child 7: Error while reading: 0 (), iter 874 at t/ithreadm.t line 48, <GEN1> line 874. Wed May 23 20:57:42 2007 debug, 9, New child starting (Multiplier=HASH(0x1d76d8c)). Wed May 23 20:57:42 2007 debug, 9, Accepting client from 127.0.0.1, port 56923 Wed May 23 20:57:42 2007 debug, 9, Accepting client Wed May 23 20:57:43 2007 debug, 0, Connection from 127.0.0.1, port 56924 Wed May 23 20:57:43 2007 debug, 0, Child clone: Multiplier=HASH(0x1828ca8) ok 1 Wed May 23 20:57:43 2007 debug, 9, Child terminating. not ok 2 ok 3 Wed May 23 20:57:43 2007 debug, 10, New child starting (Multiplier=HASH(0x1e1198c)). Wed May 23 20:57:43 2007 debug, 10, Accepting client from 127.0.0.1, port 56924 Wed May 23 20:57:43 2007 debug, 10, Accepting client Wed May 23 20:57:43 2007 debug, 10, Child terminating. Child 9: Error while reading: 0 (), iter 590 at t/ithreadm.t line 48, <GEN1> line 590. not ok 4 ok 5 ok 6 not ok 7 not ok 8 ok 9 not ok 10 Terminating server.
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-16500-1179972646-548.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
References: <rt-3.6.HEAD-16449-1179942952-31.18256-0-0 [...] rt.cpan.org> <rt-3.6.HEAD-16500-1179972646-548.18256-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-14773-1180012355-1445.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: m.nooning [...] comcast.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 193
Download (untitled) / with headers
text/plain 193b
Thanks for the work. ithreadm.t is only a little over 100 lines. Please add ":pid is $$:" to your print statements, run it again, and post the results and attach ithreadm.t. Thanks M. Nooning
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-14773-1180012355-1445.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
References: <rt-3.6.HEAD-16449-1179942952-31.18256-0-0 [...] rt.cpan.org> <rt-3.6.HEAD-16500-1179972646-548.18256-0-0 [...] rt.cpan.org> <rt-3.6.HEAD-14773-1180012355-1445.18256-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-14701-1180014877-1336.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: m.nooning [...] comcast.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 1463
Download (untitled) / with headers
text/plain 1.4k
On second thought, ... Obviously line 47 is within sub ReadWrite. ReadWrite is being called from sub MyChild where $fh got its value from these lines: my $fh = IO::Socket::INET->new('PeerAddr' => '127.0.0.1', 'PeerPort' => $port); I can see from other documentation that the invocation for $fh, as well as $fh->getline(), are being called correctly. The error seems to be in the Socket module, which is where I think getline() is defined. Please make sure you have the latest IO::Socket. INET inherits the getline() from Socket. Or is it from IO? In any case, please make sure you have the latest of those modules since getline() seems to be coming back undefined to Net::Daemon. Here is my reasoning. If the parameter $fh as received by ReadWrite was not valid it would be dieing at line 44. Then the line my $line = $fh->getline(); is the culprit. The question is, what is happening in getline? I would like to see what the successful lines look like, so please change the code around the said line to this: print STDERR ("# PID $$ ref fh is ", ref($fh), "\n"); my $line = $fh->getline(); if ( $defined($line) ) { print STDERR ("# line is defined :$line:\n"); } else { print STDERR ("# line is NOT defined :$line:\n"); } Um, one more thing. Right after the MyChild line my $fh = IO::Socket::INET->new .... please add print STDERR ("PID $$ port is $port\n"); Thanks M. Nooning
MIME-Version: 1.0 (Apple Message framework v752.2)
X-Spam-Status: No, hits=-0.6 required=8.0 tests=BAYES_00,DKIM_POLICY_SIGNSOME,DK_POLICY_SIGNSOME,KARMA_CONNECT_NEGATIVE,SPF_PASS
In-Reply-To: <rt-3.6.HEAD-14701-1180014877-1336.18256-6-0 [...] rt.cpan.org>
X-Mailer: Apple Mail (2.752.2)
Received-SPF: pass (x1.develooper.com: local policy)
References: <RT-Ticket-18256 [...] rt.cpan.org> <rt-3.6.HEAD-16449-1179942952-31.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-16500-1179972646-548.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14773-1180012355-1445.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14701-1180014877-1336.18256-6-0 [...] rt.cpan.org>
X-Virus-Checked: Checked
Content-Type: multipart/mixed; boundary=Apple-Mail-11--112285106
Received: from la.mx.develooper.com (x1.develooper.com [63.251.223.170]) by diesel.bestpractical.com (Postfix) with SMTP id 3BDEC4D8208 for <bug-Net-Daemon [...] rt.cpan.org>; Thu, 24 May 2007 22:00:20 -0400 (EDT)
Received: (qmail 848 invoked by alias); 25 May 2007 02:00:14 -0000
Received: from sd-green-bigip-145.dreamhost.com (HELO spaceymail-a1.g.dreamhost.com) (208.97.132.145) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Thu, 24 May 2007 18:59:53 -0700
Received: from [192.168.0.4] (mdsnwikwbas08-pool24-a248.mdsnwikw.tds.net [216.170.235.248]) by spaceymail-a1.g.dreamhost.com (Postfix) with ESMTP id 602B98078A for <bug-Net-Daemon [...] rt.cpan.org>; Thu, 24 May 2007 18:59:41 -0700 (PDT)
Delivered-To: cpan-bug+net-daemon [...] diesel.bestpractical.com
Subject: Re: [rt.cpan.org #18256] t/ithreadm.t hang/fail on darwin
Return-Path: <chris [...] chrisdolan.net>
X-Spam-Check-BY: la.mx.develooper.com
X-Original-To: bug-Net-Daemon [...] rt.cpan.org
Date: Thu, 24 May 2007 20:59:37 -0500
Message-Id: <541015C8-D45A-481D-9C21-6AC646EFB8A6 [...] chrisdolan.net>
To: bug-Net-Daemon [...] rt.cpan.org
From: Chris Dolan <chris [...] chrisdolan.net>
RT-Message-ID: <rt-3.6.HEAD-14701-1180058435-971.18256-0-0 [...] rt.cpan.org>
Content-Length: 0
Content-Type: text/plain; charset="utf-8"; delsp="yes"; format="flowed"
Content-Transfer-Encoding: 7bit
X-RT-Original-Encoding: US-ASCII
X-RT-Original-Encoding: utf-8
Content-Length: 1038
Malcolm, I confirmed that I already have the latest IO::Socket (v1.30) and IO::Socket::INET (v1.31). As for Socket, I get this message: [ERROR] The core Perl 5.008006 module 'Socket' can only be upgraded from 1.77 to 1.78 by Perl itself (perl-5.8.8.tar.gz). Aborting install. It's worth pointing out that sometimes the failures I witnessed happened on the first iteration, but sometimes later (e.g. in my report yesterday, one thread failed on iteration 532 of 1000; Today's report shows similar unpredictability). Failures on iteration 1 are the most common, but other numbers appear sporadically. Attached are two files: a diff showing my hacked t/ server and t/ithreadm.t, and a log of one output run. Thanks for continuing the investigation. At some point, though, we should consider just saying that threading on Mac perl5.8.6 may be unreliable. Chris -- Chris Dolan, Equilibrious LLC, http://equilibrious.net/ Public key: http://chrisdolan.net/public.key vCard: http://chrisdolan.net/ChrisDolan.vcf
content-type: application/octet-stream; name="Net-Daemon-hacking.diff"; x-unix-mode="0644"
content-disposition: attachment; filename="Net-Daemon-hacking.diff"
Content-Transfer-Encoding: quoted-printable
Content-Length: 2649

Message body is not shown because sender requested not to inline it.

content-type: application/octet-stream; name="Net-Daemon-hacking.log"; x-unix-mode="0644"
content-disposition: attachment; filename="Net-Daemon-hacking.log"
Content-Transfer-Encoding: 7bit
Content-Length: 211045
Download Net-Daemon-hacking.log
application/octet-stream 206k

Message body not shown because it is not plain text.

Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-RT-Original-Encoding: US-ASCII
X-RT-Original-Encoding: utf-8
Content-Length: 1
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-14701-1180058435-971.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
References: <RT-Ticket-18256 [...] rt.cpan.org> <rt-3.6.HEAD-16449-1179942952-31.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-16500-1179972646-548.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14773-1180012355-1445.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14701-1180014877-1336.18256-6-0 [...] rt.cpan.org> <541015C8-D45A-481D-9C21-6AC646EFB8A6 [...] chrisdolan.net> <rt-3.6.HEAD-14701-1180058435-971.18256-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-14749-1180061505-883.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: m.nooning [...] comcast.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 1122
At http://testers.cpan.org/show/Net-Daemon.html I see the pass/fail Darwin items below. 0.37 110801 PASS 5.8.1 on Darwin 6.8 (darwin) 0.38 252567 PASS 5.8.7 on Darwin 8.2.0 (darwin-multi-2level-64int) 0.38 251792 FAIL 5.8.7 on Darwin 8.2.0 (darwin-thread-multi-2level) 0.38 243259 FAIL 5.8.6 on Darwin 8.0 (darwin-thread-multi-2level) 0.38 168215 PASS 5.6.0 on Darwin 6.0 (darwin) 0.38 110892 PASS 5.8.1 on Darwin 6.8 (darwin) 0.38 110801 PASS 5.8.1 on Darwin 6.8 (darwin) 0.39 481598 PASS 5.8.8 on Darwin 8.9.1 (darwin-2level) As you can see, the only two failures were with a machine like yours, "darwin-thread-multi-2level". I don't know what to make of this since I don't know Darwin, and I certainly do not know one Darwin version from another. Ouch! Right now you are the only one to test on a Darwin machine with Net::Daemon 0.41. I am hoping there will soon be more CPAN testers with Darwin, specifically machines like yours, testing the 0.41 module. If they consistently pass, or consistently fail, that will tell us something. Until then I will have to hope to get help from elsewhere. Thanks
MIME-Version: 1.0 (Apple Message framework v752.2)
X-Spam-Status: No, hits=0.9 required=8.0 tests=BAYES_05,DKIM_POLICY_SIGNSOME,DK_POLICY_SIGNSOME,KARMA_CONNECT_NEGATIVE,SPF_PASS
In-Reply-To: <rt-3.6.HEAD-14749-1180061505-883.18256-6-0 [...] rt.cpan.org>
X-Mailer: Apple Mail (2.752.2)
Received-SPF: pass (x1.develooper.com: local policy)
References: <RT-Ticket-18256 [...] rt.cpan.org> <rt-3.6.HEAD-16449-1179942952-31.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-16500-1179972646-548.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14773-1180012355-1445.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14701-1180014877-1336.18256-6-0 [...] rt.cpan.org> <541015C8-D45A-481D-9C21-6AC646EFB8A6 [...] chrisdolan.net> <rt-3.6.HEAD-14701-1180058435-971.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14749-1180061505-883.18256-6-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"; delsp="yes"; format="flowed"
X-RT-Original-Encoding: US-ASCII
Received: from la.mx.develooper.com (x1.develooper.com [63.251.223.170]) by diesel.bestpractical.com (Postfix) with SMTP id 341684D80B3 for <bug-Net-Daemon [...] rt.cpan.org>; Thu, 24 May 2007 23:53:50 -0400 (EDT)
Received: (qmail 12982 invoked by alias); 25 May 2007 03:53:49 -0000
Received: from sd-green-bigip-66.dreamhost.com (HELO spaceymail-a4.g.dreamhost.com) (208.97.132.66) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Thu, 24 May 2007 20:52:03 -0700
Received: from [192.168.0.4] (mdsnwikwbas08-pool24-a248.mdsnwikw.tds.net [216.170.235.248]) by spaceymail-a4.g.dreamhost.com (Postfix) with ESMTP id A2134161524 for <bug-Net-Daemon [...] rt.cpan.org>; Thu, 24 May 2007 20:51:56 -0700 (PDT)
Delivered-To: cpan-bug+net-daemon [...] diesel.bestpractical.com
Subject: Re: [rt.cpan.org #18256] t/ithreadm.t hang/fail on darwin
Return-Path: <chris [...] chrisdolan.net>
X-Spam-Check-BY: la.mx.develooper.com
X-Original-To: bug-Net-Daemon [...] rt.cpan.org
Date: Thu, 24 May 2007 22:51:54 -0500
Message-Id: <CA103081-0F06-4E97-9C90-B38CC55C1263 [...] chrisdolan.net>
To: bug-Net-Daemon [...] rt.cpan.org
Content-Transfer-Encoding: 7bit
From: Chris Dolan <chris [...] chrisdolan.net>
X-RT-Original-Encoding: utf-8
RT-Message-ID: <rt-3.6.HEAD-14701-1180065233-643.18256-0-0 [...] rt.cpan.org>
Content-Length: 2306
Download (untitled) / with headers
text/plain 2.2k
On May 24, 2007, at 9:51 PM, Malcolm Nooning via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=18256 > > > At http://testers.cpan.org/show/Net-Daemon.html I see the pass/fail > Darwin items below. > > 0.37 110801 PASS 5.8.1 on Darwin 6.8 (darwin) > > 0.38 252567 PASS 5.8.7 on Darwin 8.2.0 (darwin-multi-2level-64int) > 0.38 251792 FAIL 5.8.7 on Darwin 8.2.0 (darwin-thread-multi-2level) > 0.38 243259 FAIL 5.8.6 on Darwin 8.0 (darwin-thread-multi-2level) > 0.38 168215 PASS 5.6.0 on Darwin 6.0 (darwin) > 0.38 110892 PASS 5.8.1 on Darwin 6.8 (darwin) > 0.38 110801 PASS 5.8.1 on Darwin 6.8 (darwin) > > 0.39 481598 PASS 5.8.8 on Darwin 8.9.1 (darwin-2level) > > As you can see, the only two failures were with a machine like yours, > "darwin-thread-multi-2level". I don't know what to make of this > since I > don't know Darwin, and I certainly do not know one Darwin version from > another. Ouch! > > Right now you are the only one to test on a Darwin machine with > Net::Daemon 0.41. I am hoping there will soon be more CPAN testers > with > Darwin, specifically machines like yours, testing the 0.41 module. If > they consistently pass, or consistently fail, that will tell us > something. Until then I will have to hope to get help from elsewhere.
Interesting. Darwin is the open-source kernel of Mac OS X, and its version number closely parallels the OS X version number. To give a little context: Mac OS X 10.0.x "Cheetah" ( == darwin 1.3.x) shipped with perl 5.6.0 in 2001 Mac OS X 10.1.x "Puma" ( == darwin 5.x) shipped with perl 5.6.0 in 2001 Mac OS X 10.2.x "Jaguar" ( == darwin 6.x) shipped with perl 5.6.0 in 2002 Mac OS X 10.3.x "Panther" ( == darwin 7.x) shipped with perl 5.8.1-RC3 in 2003 Mac OS X 10.4.x "Tiger" ( == darwin 8.x) shipped with perl 5.8.6 in 2005 Mac OS X 10.5.x "Leopard" ( == darwin 9.x?) will ship with perl 5.8.8 in 2007 "2level" refers to a C-compiler namespace setting used to build perl. I don't recall what the "multi" means. If you see any versions other than those, it's a non-Apple build. Chris -- Chris Dolan, Equilibrious LLC, http://equilibrious.net/ Public key: http://chrisdolan.net/public.key vCard: http://chrisdolan.net/ChrisDolan.vcf
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-14701-1180065233-643.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
References: <RT-Ticket-18256 [...] rt.cpan.org> <rt-3.6.HEAD-16449-1179942952-31.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-16500-1179972646-548.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14773-1180012355-1445.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14701-1180014877-1336.18256-6-0 [...] rt.cpan.org> <541015C8-D45A-481D-9C21-6AC646EFB8A6 [...] chrisdolan.net> <rt-3.6.HEAD-14701-1180058435-971.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14749-1180061505-883.18256-6-0 [...] rt.cpan.org> <CA103081-0F06-4E97-9C90-B38CC55C1263 [...] chrisdolan.net> <rt-3.6.HEAD-14701-1180065233-643.18256-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-14749-1180102082-1399.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: m.nooning [...] comcast.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 783
Download (untitled) / with headers
text/plain 783b
I have a feeling it is not Darwin related. A search for "cpan testers net::daemon" shows seven PASS four FAIL test runs. There is something wrong with Net::Daemon. I am a co-maintainer because I put together a some patches to fix things I could find by putting in a lot of print statements and tracing through the code. That, and the fact that it had not worked on Windows for three years and I am on a Windows machine. The print statement and backtracing approach only gets one but so far. In reality I have never seen any of this code before. In addition, I've never read up on threads programming. I would like to be more helpful but there is too much I do not know in this subject area. I wrote to the original author and asked him to look at the last few bugs. Thanks
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-14749-1180102082-1399.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
References: <RT-Ticket-18256 [...] rt.cpan.org> <rt-3.6.HEAD-16449-1179942952-31.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-16500-1179972646-548.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14773-1180012355-1445.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14701-1180014877-1336.18256-6-0 [...] rt.cpan.org> <541015C8-D45A-481D-9C21-6AC646EFB8A6 [...] chrisdolan.net> <rt-3.6.HEAD-14701-1180058435-971.18256-6-0 [...] rt.cpan.org> <rt-3.6.HEAD-14749-1180061505-883.18256-6-0 [...] rt.cpan.org> <CA103081-0F06-4E97-9C90-B38CC55C1263 [...] chrisdolan.net> <rt-3.6.HEAD-14701-1180065233-643.18256-0-0 [...] rt.cpan.org> <rt-3.6.HEAD-14749-1180102082-1399.18256-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-14796-1180204236-744.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: m.nooning [...] comcast.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 2346
Download (untitled) / with headers
text/plain 2.2k
Again, I am hoping the original author, or someone with a threads programming background, will add some information here. In the meanwhile someone else wrote me that they are getting similar symptoms on a Darwin machine, which I will paste bits and pieces of below. ------------------ paste bits and pieces Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=darwin, osvers=8.8.0, archname=darwin-thread-multi-2level uname='darwin snowcrash 8.8.0 darwin kernel version 8.8.0: fri sep 8 17:18:57 pdt 2006; root:xnu-792.12.6.obj~1release_ppc power macintosh powerpc ... ... t/ithreadm......Child 1: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 575. Child 2: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 428. Child 3: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 616. ... ... etcetera, etcetera, etcetera ------------------ end paste bits and pieces BTW: I posted "Where does <GEN1> come from?" on perlmonks.org and got an interesting answer. I paste their answers below for lack of anything better to say about the GEN messages. From perlfunc for die: If the last element of LIST does not end in a newline, the current script line number and input line number (if any) are also printed, and a newline is supplied. Note that the ``input line number'' (also known as ``chunk'') is subject to whatever notion of ``line'' happens to be currently in effect, and is also available as the special variable $.. ... It is a test file from Net::Daemon which uses IO::Socket so I'd bet it's just read from the second anonymous glob generated for a socket (the first would have been named GEN0). You can get the same handle names yourself with gensym from the core Symbol module. --- It is the line number of the most recently opened filehandle. Here's a (slightly contrived) example: #!/usr/bin/perl use strict; use warnings; use FileHandle; my $iam = $0; my $fh = new FileHandle; open($fh, "<", $iam) or die "Can't open myself: '$iam' ($!)\n"; my $cnt = 15; while (my $line = <$fh>) { chomp $line; printf "%2d: %s\n", (10 / $cnt--), $line; } When saved as the file "mytest", and run, it errors out on the 15th line, where a division by zero error occurs: Illegal division by zero at mytest line 15, <GEN0> line 16.
MIME-Version: 1.0
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
Message-Id: <rt-3.6.HEAD-28236-1185413447-1214.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 247
Download (untitled) / with headers
text/plain 247b
Please try the latest version, 0.43. Per the CPAN testers at http://testers.cpan.org/show/Net-Daemon.html the Net::Daemon package passes on all of the machines tested, but Darwin is not one of them that was tried. Does it still fail? Thanks
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-28236-1185413447-1214.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
References: <rt-3.6.HEAD-28236-1185413447-1214.18256-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-28263-1185418427-1425.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: cpan [...] chrisdolan.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 1241
Download (untitled) / with headers
text/plain 1.2k
On Wed Jul 25 21:30:47 2007, MNOONING wrote: Show quoted text
> Please try the latest version, 0.43. > ... > Does it still fail?
Yes, it still fails. t/base..........ok t/config........ok t/fork..........ok t/forkm.........ok t/ithread.......Perl exited with active threads: 0 running and unjoined 1 finished and unjoined 0 running and detached ok t/ithreadm......Child 1: Error while reading: 0 (Connection reset by peer) at t/ithreadm.t line 47, <GEN1> line 1. Child 3: Error while reading: 0 () at t/ithreadm.t line 47, <GEN1> line 818. Child 5: Error while reading: 0 (Connection reset by peer) 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. Child 7: Error while reading: 0 (Connection reset by peer) at t/ithreadm.t line 47, <GEN1> line 1. FAILED tests 2, 4, 6-8 Failed 5/10 tests, 50.00% okay t/loop-child....ok t/loop..........ok t/single........ok t/thread........skipped all skipped: no reason given t/threadm.......ok t/unix..........ok Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/ithreadm.t 10 5 2 4 6-8
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-28263-1185418427-1425.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
Message-Id: <rt-3.6.HEAD-32133-1185842285-659.18256-0-0 [...] rt.cpan.org>
References: <rt-3.6.HEAD-28236-1185413447-1214.18256-0-0 [...] rt.cpan.org> <rt-3.6.HEAD-28263-1185418427-1425.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 580
Download (untitled) / with headers
text/plain 580b
Arrrrrrgh! To tell you the truth, I am kind of at a loss as to avenues of approach to fix this for Darwin. Looking up "cpan testers net::daemon" reveals 0.43 (32 PASSes, 2 UNKNOWNs) which means it works for all of the other platforms tried. What is it about Darwin that is different?. If it failed on more platforms it would probably be easier to track down. Unless someone else comes up with some ideas, this will probably not see much progress. That is a killer as far as platform independence is concerned. I will just have to give this more thought. Thanks
MIME-Version: 1.0
In-Reply-To: <rt-3.6.HEAD-32133-1185842285-659.18256-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.418 (Entity 5.418)
Content-Disposition: inline
References: <rt-3.6.HEAD-28236-1185413447-1214.18256-0-0 [...] rt.cpan.org> <rt-3.6.HEAD-28263-1185418427-1425.18256-0-0 [...] rt.cpan.org> <rt-3.6.HEAD-32133-1185842285-659.18256-0-0 [...] rt.cpan.org>
Message-Id: <rt-3.6.HEAD-32144-1185856918-826.18256-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf8"
Content-Transfer-Encoding: binary
From: cpan [...] chrisdolan.net
X-RT-Original-Encoding: utf-8
X-RT-Original-Encoding: utf-8
Content-Length: 900
Download (untitled) / with headers
text/plain 900b
I agree, it's confusing and frustrating and I too am stumped. I just tried it with a third-party build of Perl 5.8.8 (intead of Apple's build of 5.8.6) and get similar errors. I recommend that you just mark this bug as "stalled". :-( Chris On Mon Jul 30 20:38:11 2007, MNOONING wrote: Show quoted text
> Arrrrrrgh! > To tell you the truth, I am kind of at a loss as to avenues of approach > to fix this for Darwin. > > Looking up "cpan testers net::daemon" reveals > 0.43 (32 PASSes, 2 UNKNOWNs) > > which means it works for all of the other platforms tried. What is it > about Darwin that is different?. If it failed on more platforms it > would probably be easier to track down. > > Unless someone else comes up with some ideas, this will probably not see > much progress. That is a killer as far as platform independence is > concerned. I will just have to give this more thought. > > Thanks


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.