Paul,
Below pls find the output of gdb. Are the symbols output-ed adequate? I'll
check into the -d status of our build...
On dtrace: A _very_ powerful tool; allows us to monitor 'probes' placed in
running processes.
Keyword, though, is 'running'; this may not help us here...
Lou
# gdb /usr/local/sbin/dbmail-lmtpd
GNU gdb 6.6
(...)
This GDB was configured as "sparc-sun-solaris2.10"...
(gdb) run -D
Starting program: /usr/local/sbin/dbmail-lmtpd -D
[New LWP 1]
[New LWP 2]
[LWP 2 exited]
[New LWP 2]
warning: Temporarily disabling breakpoints for unloaded shared library
"/usr/lib/ld.so.1"
warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074
warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074
warning: Lowest section in /lib/libdl.so.1 is .hash at 000000b4
[LWP 2 exited]
[New LWP 2]
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+267): server will create [2] children
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+280): children will make max. [10000]
connections
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+293): timeout [300] seconds
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+305): login_timeout [60] seconds
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+310): no value for SOCKET in config file
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+313): socket []
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+325): binding to PORT [24]
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+346): binding to IP [*]
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+353): no value for BACKLOG in config file.
Using default value [16]
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+367): resolving client IP
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+381): Enabling LMTP-before-SMTP
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+393): effective user shall be [nobody]
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+405): effective group shall be [nogroup]
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+417): will maintain minimum of [2] spare
children in reserve
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+429): will maintain maximum of [4] spare
children in reserve
Aug 02 07:57:47 leeloo [8925]: Debug:[serverparent]
serverparent.c,LoadServerConfig(+441): will allow maximum of [10] children
Aug 02 07:57:47 leeloo [8925]: Debug:[server] pool.c,statefile_create(+666):
Creating scoreboard at [/var/run/dbmail-lmtpd.state].
Program received signal SIGSEGV, Segmentation fault.
CreateSocket (conf=0xffbfe0d0) at server.c:460
460 if ((sock = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) <
0) {
(gdb) bt
#0 CreateSocket (conf=0xffbfe0d0) at server.c:460
#1 0xff35fd60 in server_run (conf=0xffbfe0d0) at server.c:263
#2 0xff3623dc in serverparent_mainloop (config=0xffbfe0d0, service=0x14680
"LMTP", servicename=0x14688 "dbmail-lmtpd") at serverparent.c:182
#3 0x00012368 in main (argc=83592, argv=0xffbffd94) at lmtpd.c:55
----- Original Message -----
From: "Paul J Stevens" <[email protected]>
To: "DBMail mailinglist" <[email protected]>
Sent: Monday, August 2, 2010 5:06:03 AM
Subject: Re: [Dbmail] DBMail daemons segfaulting
try:
gdb /usr/local/sbin/dbmail-lmtpd
(gdb) run -D
that should segfault. When it does do:
(gdb) bt
and send the output.
All this requires you to build dbmail with debugging symbols (-g) and
without stripping the binaries post-build.
I've never worked with dtrace. No idea what it does or what it's
capabilities are.
On 08/02/2010 03:47 AM, Lou Picciano wrote:
> Paul,
>
> Please specify exactly what tests you want performed with gdb - happy to
> help...
> Where would you like the backtrace from?
>
> Remember, it's Solaris - we also have dtrace at our disposal.
>
> Here's the output of a run command from gdb:
>
> (gdb) file /usr/local/sbin/dbmail-lmtpd
> Reading symbols from /usr/local/sbin/dbmail-lmtpd...done.
> (gdb) run
> Starting program: /usr/local/sbin/dbmail-lmtpd file dbmail-lmtpd
> [New LWP 1]
> [New LWP 2]
> [LWP 2 exited]
> [New LWP 2]
> warning: Temporarily disabling breakpoints for unloaded shared library
> "/usr/lib/ld.so.1"
> warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074
> warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074
> warning: Lowest section in /lib/libdl.so.1 is .hash at 000000b4
> /usr/local/sbin/dbmail-lmtpd: unrecognized options: file dbmail-lmtpd
>
> *** dbmail-lmtpd ***
> This daemon provides Local Mail Transport Protocol services.
> See the man page for more info.
>
> Common options for all DBMail daemons:
> (...)
>
> Program exited with code 01.
> --------------------
>
> Also, when run non-daemonized, it simply outputs the same log output
> (sent earlier), then quits back to shell. No message of segfault. And
> it's not visible in the process list at that point, either.
>
> Pls tell me next steps. Lou
>
> ----- Original Message -----
> From: "Paul J Stevens" <[email protected]>
> To: "DBMail mailinglist" <[email protected]>
> Sent: Sunday, August 1, 2010 5:38:17 PM
> Subject: Re: [Dbmail] DBMail daemons segfaulting
>
> On 08/01/2010 08:12 PM, Lou Picciano wrote:
> ...
>
>> As to version we are building:
>>
>> # git branch -v
>> * dbmail_2_2 793da8e massive speedup in imap-append
>
> Ok. Just fine and dandy.
>
>
>
>> Here is the entire output of the dbmail-lmtpd command, including segfault:
>>
>> # dbmail-lmtpd -D
>
>> pool...c,statefile_create(+666): Creating scoreboard at
>> [/var/run/dbmail-lmtpd.state].
>> Segmentation Fault (core dumped)
>
> Not good! Is that what happens when you run the normal daemonizing mode?
>
>>
>> This run does write the following to /var/log/dbmail.err (but we have
>> /_never_/ seen any output to dbmail.log):
>>
>> Aug 01 12:01:46 leeloo [3170]: Debug:[server]
>> server.c,server_daemonize(+238): sid: [3169]
>> Aug 01 12:01:46 leeloo [3170]: Debug:[server]
>> pool.c,statefile_create(+666): Creating scoreboard at
>> [/var/run/dbmail-lmtpd.state].
>>
>> We do have ALL of the debuggers on in the dbmail and ALL of the daemon
>> sections of the dbmail.conf file.
>>
>> TRACE_LEVEL = 5
>> TRACE_STDERR = 5
>> TRACE_SYSLOG = 5
>
> All generate the same output. The first is deprecated, equals the third
> option. The second appends the log lines to the error log, the third
> option sends it to the syslog facility.
>
> Can you run the command through gdb? (That's what the -D switch is for).
> A backtrace would really be helpful.
>
>
> --
> ________________________________________________________________
> Paul Stevens paul at nfg.nl
> NET FACILITIES GROUP GPG/PGP: 1024D/11F8CD31
> The Netherlands________________________________http://www.nfg.nl
> _______________________________________________
> DBmail mailing list
> [email protected]
> http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
>
>
>
> _______________________________________________
> DBmail mailing list
> [email protected]
> http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
--
________________________________________________________________
Paul Stevens paul at nfg.nl
NET FACILITIES GROUP GPG/PGP: 1024D/11F8CD31
The Netherlands________________________________http://www.nfg.nl
_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail