qmail process hang on FreeBSD 4.8

Lay Chi Man lazymanl at hgc.com.hk
Mon Sep 22 23:12:03 PDT 2003


I am using qmail-ldap on FreeBSD 4.8. Recently, I found that there are 
many processes hang in my qmail system for a long time. I have attached 
the process with gdb and found something strange in side.

(gdb) bt
#0  0x280a2fdc in ?? ()
#1  0x8048f1e in dropped () at qmail-remote.c:123
#2  0x804c9d1 in dns_mxip (ia=0x8048f00, sa=0xffffffff,
random=134547232)
      at dns.c:363
#3  0x804ca25 in dns_mxip (ia=0x804e6c8, sa=0xbfbffc0b, random=12) at
dns.c:369
#4  0x804cac2 in dns_mxip (ia=0x804e6c8, sa=0xbfbffc0b, random=1) at
dns.c:376
#5  0x8049188 in outsmtptext () at qmail-remote.c:340
#6  0x8049654 in smtp () at qmail-remote.c:570
#7  0x804a26f in main (argc=4, argv=0xbfbffd50) at qmail-remote.c:825
(gdb)

In the frame 7

(gdb) frame
#7  0x804a26f in main (argc=4, argv=0xbfbffd50) at qmail-remote.c:825
825         i = str_chr(relayhost,':');
(gdb) l -
815       if (!stralloc_copys(&host,argv[1])) temp_nomem();
816
817       relayhost = 0;
818       for (i = 0;i <= host.len;++i)
819         if ((i == 0) || (i == host.len) || (host.s[i] == '.'))
820           if (relayhost = constmap(&maproutes,host.s + i,host.len -
i))
821             break;
822       if (relayhost && !*relayhost) relayhost = 0;
823
824       if (relayhost) {

(gdb) p relayhost
$16 = 0xbfbffd50 "??????\020??
(gdb) p host
$17 = {s = 0x0, len = 0, a = 0}
(gdb) p argv[1]
$18 = 0xbfbffdf1 "pbworld.com"

It seems that the stralloc_copys unable to copy the argv[1] into the
host variable.

Does anybody know what is this problem?

Thanks,
Man





More information about the freebsd-stable mailing list