DCC -> report failed: Exited with non-zero exit code 67

dcc@mikecappella.com dcc@mikecappella.com
Sat Aug 20 01:37:45 UTC 2005

> Subject: Re: DCC -> report failed: Exited with non-zero exit code 67
> > 
> > Since installing dcc-dccd-1.3.15, I'm seeing the error:
> >
> > 	DCC -> report failed: Exited with non-zero exit code 67
> >
> > every time I report spam w/ spamassassin --report.  Is this 
> a bug, or 
> > recent change that needs an update to spamassassin?
> What does it mean to say "report spam w/ spamassassin --report"?
> Is that equivalent to `dccproc -t many` as described in the 
> dccproc man page?

SpamAssassin has a --report option which will report a given piece of spam
to various sources such as DCC, spamcop, etc.  Ultimately it calls dccproc
with -t "many" and other options:

    my $pid = Mail::SpamAssassin::Util::helper_app_pipe_open(*DCC,
                    $tmpf, 1, $path, "-t", "many", split(' ', $opts));

> 67 is the default `dccproc -x` value or exit code when the 
> counts exceed the local threshold.  Version 1.3.15 assumes 
> that when you say `dccproc -t many`, you're talking and want 
> to hear about spam.

I discovered the 67 EX_NOUSER (ENOLINK on Linux) errno value in the DCC
source, but there were enough changes between 1.3.14 and 1.3.15 I didn't
immediately notice the exact modified code.

> Is this a problem?  Should I change it back?

Spamassassin --report is pretty heavily used, so it might be best to not
break this.  I routinely use it to report spam that is quarantined, but
needs brief review it is added to the various antiSpam DBs.  Perhaps some
future coordination of your change with the SpamAssassin group could be
possible.  Or even a release note indicating the appropriate opt to set for
SpamAssassin's Reporter.pm module.  It looks like the code tests
truthfulness of the result of the run of dccproc.  This would indicate to me
that 67 is now being returned vs. 0.

  if ($@) {
    if ($@ =~ /^__alarm__$/) {
      dbg ("DCC -> report timed out after $timeout secs.");
   } elsif ($@ =~ /^__brokenpipe__$/) {
      dbg ("DCC -> report failed: Broken pipe.");
    } else {
      warn ("DCC -> report failed: $@\n");

I suppose a "-x 0" could be added to the DCC opts, but I've not tried yet.
I'll test as soon as I can.


More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.