Christoph Biedl cbiedl at
Tue Jun 6 23:02:49 UTC 2006

Christoph Biedl wrote...

> Looking at perl-nocem

Now I'm stuck. perl-nocem dies every now and then but not always when it
tries to cancel an article. I admit I'm not very experienced with unix
domain sockets.

In short
|        print NNTP "$_\r\n";
NNTP is connected to the nntpin socket, $_ the Message-ID
|        if (($r = <NNTP>) !~ /^289/) {
|            $r =~ s/\r\n$//;
|            logmsg("cannot cancel $_: $r", 'error');
|        }

logs the error message with an empy reason
"nocem: cannot cancel <message at id>: "

Next thing to try was strace
| write(6, "<message at id>\r\n", 14) = -1
| EPIPE (Broken pipe)
| --- SIGPIPE (Broken pipe) @ 0 (0) ---
soon followed by
| write(4, "<61>nocem: exiting because of signal term\n\0", 43) = 43
(I had patched perl-nocem to see the signal type)

After looking at the log files I think I've found a pattern: This
happens every time when no article was cancelled within the last 60
minutes. Is it possible the socket connection is closed after such a timeout?
I'd add an according socket re-creation in perl-nocem then.


More information about the inn-workers mailing list