[Gross] gross 1.0.2 core dumping with SJSMS 7u3 (7.3-11.01) 64-bit
Derek Diget
derek.diget+gross at wmich.edu
Fri Oct 23 07:03:16 EEST 2009
On Oct 18, 2009 at 11:39 -0400, Derek Diget wrote:
=>On Oct 18, 2009 at 08:54 +0300, Eino Tuominen wrote:
=>=>Derek Diget wrote:
=>=>> Building a new system and trying out gross. Built c-ares and gross 1.0.2 on
=>=>> a full Solaris 10u7 (5/09) SPARC using the gcc from the install. grossd
=>=>> runs just fine. grosscheck.so reports it is 64-bit and ldd doesn't show
=>=>> anything missing.
=>=>>
=>=>> Added the mappings entry in the docs and when I run an imsimta test -mapping
=>=>> in the trouble shooting doc it core dumps. If I send in a live message,
=>=>> then tcp_smtp_server core dumps.
=>=>
=>=>First you could run pstack on the core file to make sure the crash is
=>=>happening in grosscheck().
=>
=>Yup.
=>
=>core 'mapping_test.2144' of 2144: /opt/sun/comms/messaging64/lib/imtacli test -mapping -table ORIG_MAIL_
=> ffffffff77a0105c grosscheck (ffffffff7fffb078, ffffffff7fffb074, ffffffff7fffaa48, ffffffff7fffaa44, 0, 0) + 12c
=> ffffffff7ea5c734 mm_process_pattern (ffffffff7fffa600, 10000141, cf, ffffffff7fffa0d0, 7e, ffffffff7fff9cc8) + 298c
=> ffffffff7ea5f7fc mmc_apply_mapping (ffffffff7fffe600, ffffffff7ffff90c, a, ffffffff7ffff6fc, ffffffff7ffffa48, ffffffffffffffff) + 77c
=> 0000000100001a20 main (5, ffffffff7ffffb38, ffffffff7ffffb68, ffffffff7b54b800, ffffffff7bd00380, ffffffff7d000200) + 688
=> 000000010000119c _start (0, 0, 0, 0, 0, 0) + 17c
=>
=>
=>=>Can you send me a copy of your mapping configuration (the relevant part is
=>=>sufficient).
=>
=>ORIG_MAIL_ACCESS
=>
=> TCP|*|*|*|*|SMTP/*|*|tcp_local|*|*|* $[IMTA_LIB:grosscheck.so,grosscheck,127.0.0.1,127.0.0.1,5525,$2,$=$8$_,$=$6$_,$=$4$_]
=>
=>
=>I have the "other" ORIG_MAIL_ACCESS lines from the example in the
=>mappings file, but I have them currently commented out. I have tried
=>placing grosscheck.so in /opt/gross/lib, /opt/sun/comms/messaging64/lib
=>and changed the path accordingly in the mapping entry. I have also
=>tried leaving the second grossd server blank (...,127.0.0.1,,5525,...)
=>with the same results.
=>
=>Currently, grosscheck.so is
=>-rwxr-xr-x 1 bin bin 17680 Oct 15 01:25 /opt/sun/comms/messaging64/lib/grosscheck.so
=>
=>
=>=>I have not run grosscheck in 64 bit yet, is there anyone else? Jesse?
Based on some off-list pointers, I grabbed trunk/src/testgrosscheck.c
and placed it in the gross-1.0.2/src directory. Modifed the char arg*
line to fit a test case. It went from
char *arg = "127.0.0.1,,1111,127.0.0.2,foo at foo,bar at bar\0";
to
// <grossd-server-1>,<grossd-server-2>,<grossd-port>,<connecting-IP>,<to-addr>,<from-addr>,<HELO_name>
char *arg = "127.0.0.1,,5525,10.218.1.43,localrecipient at example.net,remotesender at example.com,mail.example.com\0";
Then built it using the following command:
/usr/sfw/bin/gcc -m64 -R/opt/gross/lib -o testgrosscheck testgrosscheck.c
"file testgrosscheck" looked good (64-bit). testgrosscheck was then
copied into /opt/gross/bin.
Running /opt/gross/bin/testgrosscheck resulted in the following output
2: $Y
And grossd showed the following (was running via "grossd -dD")
Thu Oct 22 22:46:56 2009 #b: threadpool 'sjsms' processing
Thu Oct 22 22:46:56 2009 #b: query from 127.0.0.1
Thu Oct 22 22:46:56 2009 #b: sender=remotesender at example.com
Thu Oct 22 22:46:56 2009 #b: recipient=localrecipient at example.net
Thu Oct 22 22:46:56 2009 #b: client_address=10.218.1.43
Thu Oct 22 22:46:56 2009 #b: helo_name=mail.example.com
Thu Oct 22 22:46:56 2009 #c: threadpool 'dnsbl' processing
Thu Oct 22 22:46:56 2009 #d: threadpool 'dnswl' processing
Thu Oct 22 22:46:56 2009 #c: dnsblc called: timelimit 6000
Thu Oct 22 22:46:56 2009 #d: dnsblc called: timelimit 6000
Thu Oct 22 22:46:56 2009 #e: threadpool 'rhsbl' processing
Thu Oct 22 22:46:56 2009 #e: dnsblc called: timelimit 6000
Thu Oct 22 22:46:56 2009 #c: dnsblc returning
Thu Oct 22 22:46:56 2009 #e: dnsblc returning
Thu Oct 22 22:46:56 2009 #d: dnsblc returning
Thu Oct 22 22:46:56 2009 #b: a=trust d=31 w=0 c=10.218.1.43 s=remotesender at example.com r=localrecipient at example.net h=mail.example.com
Thu Oct 22 22:46:56 2009 #b: sjsms_connection returning
So things are looking good so far. :)
It was then suggested to compile things with -DARGDEBUG. So I did a
"gmake clean" in the distro directory. Ran configure using the
following command (same as what I have been using expect for the
additional -DARGDEBUG).
env PATH=${PATH}:/usr/sfw/bin:/usr/ccs/bin ./configure CPPFLAGS='-I/opt/c-ares/include' LDFLAGS='-L/opt/c-ares/lib' CFLAGS="-m64 -DARGDEBUG" --prefix=/opt/gross
And then
env PATH=${PATH}:/usr/sfw/bin:/usr/ccs/bin gmake install
So far so good.
Copied the new grosscheck.so into /opt/sun/comms/messaging64/lib
and checked ownership and permissions.
Started up grossd with -dD (using the default .conf), and then ran
/opt/sun/comms/messaging64/sbin/imsimta test -mapping -noimage -debug -table ORIG_MAIL_ACCESS
with the following input string:
Input string: TCP|10.20.204.35|25|10.218.1.43|46569|SMTP/mail.example.com|MAIL|tcp_local|remotesender at example.com|l|localrecipient at example.net
23:14:44.91: Mapping 4 applied to TCP|10.20.204.35|25|10.218.1.43|46569|SMTP/mail.example.com|MAIL|tcp_local|remotesender at example.com|l|localrecipient at example.net
23:14:44.91: Entry #1 matched, pattern "TCP|*|*|*|*|SMTP/*|*|tcp_local|*|*|*", template "$[IMTA_LIB:grosscheck.so,grosscheck,127.0.0.1,127.0.0.1,5525,$2,$=$8$_,$=$6$_,$=$4$_]", match #0.
23:14:44.91: User routine call: IMTA_LIB:grosscheck.so\grosscheck(127.0.0.1,127.0.0.1,5525,10.218.1.43,localrecipeint at example.net,remotesender at example.com,mail.example.com) ->
Bus Error - core dumped
Not good...but did we get the ARG debug output....
Nope. :(
I did a strings against the "non-debug" and the "debug" grosscheck.so
and the non-debug does not have "/tmp/argout", but the debug version
does. So I am pretty sure if it got to that point in the code it would
have created it.
Did the above with a truss and I see the following
4278/1: 28.6614 0.0439 munmap(0xFFFFFFFF7AE00000, 32768) = 0
4278/1: 28.6618 0.0004 Incurred fault #5, FLTACCESS %pc = 0xFFFFFFFF77E01184
4278/1: siginfo: SIGBUS BUS_ADRALN addr=0xFFFFFFFF7FFFB074
(I can send the truss output off-list if anyone is interested.)
Anyone have any ideas or suggestions on what I can do next to help debug
this?
Thanks.
--
***********************************************************************
Derek Diget Office of Information Technology
Western Michigan University - Kalamazoo Michigan USA - www.wmich.edu/
***********************************************************************
More information about the Gross
mailing list