spamass-milt-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Explanation of error messages.


From: Ron Snyder
Subject: RE: Explanation of error messages.
Date: Thu, 19 Sep 2002 08:31:03 -0700

> > There are three permutations of this  write(Q), write (D), 
> write(L) .

I have an additional one-- write(A).

> > 
> > I will spend some time looking in the code. An informed
> > interpretation would be appreciated, too.
> 
> The libmilter part of sendmail is not very well documented (even by
> sendmail standards :).  You'll have to dig into the source to find out
> exactly what those errors mean.  Broken pipe sounds bad, though; it
> implies the milter closed its connection before sendmail wanted it to,
> which could mean it's seg-faulting.

These symbols are defined in include/libmilter/mfdef.h:
Q == SMFIC_QUIT
D == SMFIC_MACRO
L == SMFIC_HEADER
A == SMFIC_ABORT

The milter is definitely seg-faulting for me, but I haven't been able to
figure out why. Here's a stack backtrace:

GNU gdb 4.16.1
Copyright 1996 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd2.7"...
Core was generated by `spamass-milter'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/libexec/ld.so...done.
Reading symbols from /usr/lib/libstdc++.so.30.0...done.
Reading symbols from /usr/lib/libm.so.0.1...done.
Reading symbols from /usr/lib/libc_r.so.3.0...done.
#0  0xb94d in SpamAssassin::read_pipe (this=0x25280) at
spamass-milter.cpp:1032
1032    
(gdb) bt
#0  0xb94d in SpamAssassin::read_pipe (this=0x25280) at
spamass-milter.cpp:1032
#1  0xba21 in SpamAssassin::empty_and_close_pipe (this=0x25280)
    at spamass-milter.cpp:1043
#2  0xa4b4 in SpamAssassin::input (this=0x25280) at spamass-milter.cpp:832
#3  0x6f85 in mlfi_eom (ctx=0x24400) at spamass-milter.cpp:573
#4  0x1041f in st_bodyend ()
#5  0xf898 in mi_engine ()
#6  0xdbd1 in mi_handle_session ()
#7  0xd321 in mi_thread_handle_wrapper ()
#8  0x40087518 in _thread_start ()

In my version of the source, line 1032 is the "return size;" statement of
read_pipe().
Question-- read_pipe() is declared to return an int, but size is declared as
a long. I can't see why that would be causing me any problems (sizeof(long)
== sizeof(int)) on my platform, but maybe it's a problem for others?

I had debugging turned on previously, but all of my logs with that output
have cycled through-- I'll re-enable it and see what I can figure out.

-ron


> 
> -- 
>       Dan Nelson
>       address@hidden
> 
> 
> _______________________________________________
> Spamass-milt-list mailing list
> address@hidden
> http://mail.freesoftware.fsf.org/mailman/listinfo/spamass-milt-list
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]