On Wed, 16 Apr 2008, Murray S. Kucherawy wrote:

Date: Wed, 16 Apr 2008 13:01:33 -0700 (PDT)
From: Murray S. Kucherawy <[EMAIL PROTECTED]>
Reply-To: dkim-milter general discussion
    <[email protected]>
To: dkim-milter general discussion <[email protected]>
Subject: Re: [dkim-milter-discuss] Solaris 10, dkim 2.5.3 dies quickly

What's in your dkim-filter.conf?

Domain                  colby.edu
KeyFile                 /etc/mail/ColbyApr2008.private
PidFile         /var/run/dkim/dkim.pid
Selector                ColbyApr2008
Socket                  inet:[EMAIL PROTECTED]
Syslog          yes
SyslogSuccess           yes
X-Header                yes


You won't get a core if you're using UserID, since some OSes now refuse to
dump cores if setuid() is called.  Is that the case here?

Yes.


I have reports of two different crash bugs that appeared in the 2.5.x
line.  Thus, 2.5.4 will come out tomorrow with fixes for them.  I'd like
to be sure that your problem is one of those though, so getting a stack
trace would be ideal.  Can you run your filter inside gdb?

Sigh, so I ran it as root to get a core dump and recompiled with "-g -O"
to get symbols.  Yea, I got a core dump.  Attached is the gdb backtrace
and some poking around in the data at the crash site.  memcpy is unhappy
with the data handed to it.  Hope this helps.

Jeff Earickson
Colby College
Script started on April 16, 2008  4:48:42 PM EDT
%gdb /usr/lib/dkim-filter core
GNU gdb 6.7.1
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.10"...
Reading symbols from /lib/libpthread.so.1...
warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074
done.
Loaded symbols for /lib/libpthread.so.1
Reading symbols from /opt/BerkeleyDB.4.6/lib/libdb-4.6.so...done.
Loaded symbols for /opt/BerkeleyDB/lib/libdb-4.6.so
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libsocket.so.1...done.
Loaded symbols for /lib/libsocket.so.1
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /opt/openssl/lib/libssl.so.0.9.8...done.
Loaded symbols for /opt/openssl/lib/libssl.so.0.9.8
Reading symbols from /opt/openssl/lib/libcrypto.so.0.9.8...done.
Loaded symbols for /opt/openssl/lib/libcrypto.so.0.9.8
Reading symbols from /lib/libc.so.1...done.
Loaded symbols for /lib/libc.so.1
Reading symbols from /lib/librt.so.1...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libdl.so.1...
warning: Lowest section in /lib/libdl.so.1 is .hash at 000000b4
done.
Loaded symbols for /lib/libdl.so.1
Reading symbols from /lib/libaio.so.1...done.
Loaded symbols for /lib/libaio.so.1
Reading symbols from /lib/libmd.so.1...done.
Loaded symbols for /lib/libmd.so.1
Reading symbols from /platform/SUNW,Sun-Fire-480R/lib/libc_psr.so.1...done.
Loaded symbols for /platform/SUNW,Sun-Fire-V490/lib/libc_psr.so.1
Reading symbols from /lib/nss_files.so.1...done.
Loaded symbols for /lib/nss_files.so.1
Reading symbols from /lib/ld.so.1...done.
Loaded symbols for /lib/ld.so.1
Core was generated by `/usr/lib/dkim-filter -x /etc/mail/dkim-filter.conf'.
Program terminated with signal 10, Bus error.
#0  dkimf_checkip (list=0x64f68, ip=0x79b7a) at util.c:443
443                     memcpy(&addr.s_addr, &((struct sockaddr_in 
*)ip)->sin_addr,
(gdb) backtrace
#0  dkimf_checkip (list=0x64f68, ip=0x79b7a) at util.c:443
#1  0x0002091c in mlfi_eoh (ctx=0x799d0) at dkim-filter.c:4689
#2  0x00026f98 in mi_engine ()
#3  0x000250f8 in mi_handle_session ()
#4  0x00024604 in mi_thread_handle_wrapper ()
#5  0xfee44998 in _lwp_start () from /lib/libc.so.1
#6  0xfee44998 in _lwp_start () from /lib/libc.so.1
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) print list
$1 = (Peer) 0x64f68
(gdb) print *list
$2 = {peer_neg = 0, peer_info = 0x64f80 "127.0.0.1", peer_next = 0x0}
(gdb) print &addr.s_addr
There is no member named s_addr.
(gdb) print addr
$3 = {S_un = {S_un_b = {s_b1 = 0 '\0', s_b2 = 0 '\0', s_b3 = 0 '\0', s_b4 = 0 
'\0'}, S_un_w = {s_w1 = 0, s_w2 = 0},
    S_addr = 0}}
(gdb) print &((struct sockaddr_in *)ip)->sin_addr
$4 = (struct in_addr *) 0x79b7e
(gdb) print (struct sockaddr_in *)ip)->sin_addr
Junk after end of expression.
(gdb) if  print ip_ ->sin_addr
There is no member named sin_addr.
(gdb) print ip
$5 = (struct sockaddr *) 0x79b7a
(gdb) print *ip
$6 = {sa_family = 2, sa_data = 
"\233J\177\000\000\001\000\000\000\000\000\000\000"}
(gdb) print node
$7 = (struct Peer *) 0x64f68
(gdb) print *node
$8 = {peer_neg = 0, peer_info = 0x64f80 "127.0.0.1", peer_next = 0x0}
(gdb) quit
%end
end: Not in while/foreach.
%exit
exit

script done on April 16, 2008  4:53:11 PM EDT
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
dkim-milter-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dkim-milter-discuss

Reply via email to