Mailing List Archive

Re: [Dbmail] DBmail 2.x, PostgreSQL, IMAP
Sandino Araico Sanchez wrote:
> [root@wafflera root] gdb --pid=361
<snip gdb preamble
> (gdb) continue
> Continuing.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x400b90f0 in malloc_consolidate () from /lib/libc.so.6
> (gdb) bt
> #0 0x400b90f0 in malloc_consolidate () from /lib/libc.so.6
> #1 0x400b898e in _int_malloc () from /lib/libc.so.6
> #2 0x400b7bc1 in malloc () from /lib/libc.so.6
> #3 0x400ada81 in open_memstream () from /lib/libc.so.6
> #4 0x40116d92 in vsyslog () from /lib/libc.so.6
> #5 0x0804c81a in trace (level=5,
> formatstring=0x807119a "%s,%s: executing query [%s]") at debug.c:93
> #6 0x080681ab in db_query (
> the_query=0x80799c0 "SELECT no_select FROM mailboxes WHERE mailbox_idnr
> = '1'") at dbpgsql.c:217
> #7 0x080635f1 in db_isselectable (mailbox_idnr=0) at db.c:2476
> #8 0x08054da1 in _ic_list (tag=0xbfffc640 "5", args=0x807a2a0,
> ci=0x8079dc0)
> at imapcommands.c:1300
> #9 0x0804c287 in IMAPClientHandler (ci=0x8079dc0) at imap4.c:342
> #10 0x0804bbcd in PerformChildTask (info=0xbfffeee0) at serverchild.c:341
> #11 0x0804b8cf in CreateChild (info=0x0) at serverchild.c:232
> #12 0x0804b1ad in StartServer (conf=0xbfffef50) at server.c:141
> #13 0x0805d986 in main (argc=1, argv=0x0) at imapd.c:128
> (gdb)

This seems to suggest a bug in the trace() function in debug.c
Problem is.. I can't seem to find what's wrong. For clarity, I'll print
the function below. Can anybody find anything that's wrong?

void trace (int level, char *formatstring, ...)
{
va_list argp;

va_start(argp, formatstring);

if (level <= TRACE_LEVEL)
{
if (TRACE_VERBOSE != 0)
{
vfprintf (err_out_stream, formatstring, argp);
if (formatstring[strlen(formatstring)]!='\n')
fprintf (err_out_stream,"\n");
}
if (TRACE_TO_SYSLOG != 0)
{
if (formatstring[strlen(formatstring)]=='\n')
formatstring[strlen(formatstring)]='\0';
if (level <= TRACE_WARNING)
{
/* set LOG_ALERT at warnings */
vsyslog (LOG_ALERT, formatstring, argp);
}
else
vsyslog (LOG_NOTICE, formatstring, argp);
}
va_end(argp);
}

/* very big fatal error
* bailout */

if (level == TRACE_FATAL)
exit(EXIT_CODE);

if (level == TRACE_STOP)
exit(EXIT_CODE);
}

Currently, I'm a bit lost here..

Sandino, could you try recompiling with TRACE_TO_SYSLOG (in debug.c) set
to 0 (zero), and running again. Maybe there's an error earlier in the
code, which will show up in a different place when not tracing to syslog.

BTW, I'm also sending this to dbmail-dev

Ilja


--
IC&S
Stadhouderslaan 57
3583 JD Utrecht

PGP-key:
http://www.ic-s.nl/keys/ilja.txt
Re: Re: [Dbmail] DBmail 2.x, PostgreSQL, IMAP [ In reply to ]
Ilja Booij wrote:

>
> Sandino, could you try recompiling with TRACE_TO_SYSLOG (in debug.c)
> set to 0 (zero), and running again.

I didn't hace time to recompile, but seems to be already fixed in my
last cvs update

> Maybe there's an error earlier in the code, which will show up in a
> different place when not tracing to syslog.
>
> BTW, I'm also sending this to dbmail-dev
>
> Ilja
>
>

--
Sandino Araico Sa'nchez
-- Y finalmente: no te tomes la vida en serio,
al fin y al cabo no saldra's vivo de ella.