qmail Setup

Ken Schweigert yellowdog-general@lists.terrasoftsolutions.com
Thu Dec 5 14:04:01 2002


Blake,

I've been looking at this strace and it is beyond my meager
abilities.  The only real thing that jumps out at me is:
open("control/tlsclientciphers", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
I would think you would need these to use TLS, but I've never
set it up so don't know for sure.

Another thing that's odd is that is segfaults after it receives
the response from the nameserver.  Might mean something in your
resolver libs is borked.  Run apt to make sure everything is
updated.

A couple other things to try would be to try compiling qmail
without any of the patches and see if the problem persists.
If not, you know it's something with the patches.  If not ...
then I would recommend signing up to the qmail list.  One thing
about the qmail list: make sure you give them as much information
about your setup as you can.  Like the log entries, this strace,
the output of qmail-showctl, which patches and which versions,
how exactly you installed it (that toaster link).  The more info
you give them, the less likely you are to get flamed.

I wished I could've been more help.

-ken



On Tue, Dec 03, 2002 at 07:58:55PM -0500, Blake Skinner wrote:
> 
> > If you want to try what Charles suggests in this post, I believe 
> > the appropriate syntax for strace would be: 
> >   [root@byteme /root]# strace -p 1234 -ff -o 
> > /tmp/qmail-remote.strace 
> > 
> > where 1234 is the processID of your qmail-remote process.  Then try 
> > sending a message and see what is produced in these traces. 
> > 
> > I'd be real interested in knowing what you find out. 
> > 
>  
> Ran the trace, had to watch qmail-rspawn instead of remote (remote dies 
> nearly instantly). I can't seem to make heads or tails of the dump 
> (Fairly new to Linux) so I am attaching the file to the e-mail. Thanks 
> again! 
> 
> 

> fcntl64(2, F_GETFL)                     = 0x800 (flags O_RDONLY|O_NONBLOCK)
> close(0)                                = 0
> fcntl64(2, F_DUPFD, 0)                  = 0
> close(2)                                = 0
> fcntl64(8, F_GETFL)                     = 0x1 (flags O_WRONLY)
> close(1)                                = 0
> fcntl64(8, F_DUPFD, 1)                  = 1
> close(8)                                = 0
> fcntl64(1, F_GETFL)                     = 0x1 (flags O_WRONLY)
> close(2)                                = -1 EBADF (Bad file descriptor)
> fcntl64(1, F_DUPFD, 2)                  = 2
> execve("/var/qmail/bin/qmail-remote", ["qmail-remote", "attbi.com", "malice@skmail.homeip.net", "guiyon@attbi.com"], [/* 1 var */]) = 0
> uname({sys="Linux", node="localhost.localdomain", ...}) = 0
> brk(0)                                  = 0x1001aa4c
> open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
> open("/etc/ld.so.cache", O_RDONLY)      = 3
> fstat64(0x3, 0x7ffff108)                = 0
> mmap(NULL, 70055, PROT_READ, MAP_PRIVATE, 3, 0) = 0x30027000
> close(3)                                = 0
> open("/lib/libresolv.so.2", O_RDONLY)   = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\000"..., 1024) = 1024
> fstat64(0x3, 0x7ffff110)                = 0
> mmap(0xffcd000, 141756, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xffcd000
> mprotect(0xffdc000, 80316, PROT_NONE)   = 0
> mmap(0xffdd000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xffdd000
> mmap(0xffed000, 10684, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffed000
> close(3)                                = 0
> open("/lib/libssl.so.2", O_RDONLY)      = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\304"..., 1024) = 1024
> fstat64(0x3, 0x7ffff0f0)                = 0
> mmap(0xff79000, 274940, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xff79000
> mprotect(0xffa4000, 98812, PROT_NONE)   = 0
> mmap(0xffa9000, 73728, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x20000) = 0xffa9000
> mmap(0xffbb000, 4604, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffbb000
> close(3)                                = 0
> open("/lib/libcrypto.so.2", O_RDONLY)   = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\3\222"..., 1024) = 1024
> fstat64(0x3, 0x7ffff0d0)                = 0
> mmap(0xfe5e000, 1092588, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xfe5e000
> mprotect(0xff33000, 220140, PROT_NONE)  = 0
> mmap(0xff3e000, 147456, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0xd0000) = 0xff3e000
> mmap(0xff62000, 27628, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xff62000
> close(3)                                = 0
> open("/lib/libc.so.6", O_RDONLY)        = 3
> read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\2M\34"..., 1024) = 1024
> fstat64(0x3, 0x7ffff0b0)                = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x30014000
> mmap(0xfd01000, 1362744, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xfd01000
> mprotect(0xfe1c000, 203576, PROT_NONE)  = 0
> mmap(0xfe21000, 163840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x110000) = 0xfe21000
> mmap(0xfe49000, 19256, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xfe49000
> close(3)                                = 0
> munmap(0x30027000, 70055)               = 0
> brk(0)                                  = 0x1001aa4c
> brk(0x1001aa7c)                         = 0x1001aa7c
> brk(0x1001b000)                         = 0x1001b000
> rt_sigaction(SIGALRM, {0x1000174c, [], 0}, NULL, 8) = 0
> rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
> chdir("/var/qmail")                     = 0
> open("control/me", O_RDONLY|O_NONBLOCK) = 3
> read(3, "skmail.homeip.net\n", 64)      = 18
> close(3)                                = 0
> open("control/timeoutremote", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
> open("control/timeoutconnect", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
> open("control/helohost", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
> open("control/smtproutes", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
> open("control/tlsclientciphers", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
> socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
> ioctl(3, 0x8912, 0x7ffffda8)            = 0
> ioctl(3, 0x8913, 0x10019910)            = 0
> ioctl(3, 0x8915, 0x10019910)            = 0
> ioctl(3, 0x8913, 0x10019930)            = 0
> ioctl(3, 0x8915, 0x10019930)            = 0
> close(3)                                = 0
> gettimeofday({1038962085, 362632}, NULL) = 0
> getpid()                                = 4896
> open("/etc/resolv.conf", O_RDONLY)      = 3
> fstat64(0x3, 0x7fffdae8)                = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x30015000
> read(3, "nameserver 63.240.76.19\nsearch l"..., 4096) = 43
> read(3, "", 4096)                       = 0
> close(3)                                = 0
> munmap(0x30015000, 4096)                = 0
> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
> connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("63.240.76.19")}}, 28) = 0
> send(3, "\326\16\1\0\0\1\0\0\0\0\0\0\5attbi\3com\0\0\377\0\1", 27, 0) = 27
> gettimeofday({1038962085, 364158}, NULL) = 0
> poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
> recvfrom(3, "\326\16\205\200\0\1\0\4\0\2\0\4\5attbi\3com\0\0\377\0\1"..., 512, 0, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("63.240.76.19")}}, [16]) = 229
> close(3)                                = 0
> time(NULL)                              = 1038962085
> getpid()                                = 4896
> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
> connect(3, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("63.240.76.19")}}, 28) = 0
> send(3, "\326\17\1\0\0\1\0\0\0\0\0\0\5attbi\3com\0\0\17\0\1", 27, 0) = 27
> gettimeofday({1038962085, 416195}, NULL) = 0
> poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
> recvfrom(3, "\326\17\205\200\0\1\0\1\0\2\0\4\5attbi\3com\0\0\17\0\1"..., 512, 0, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("63.240.76.19")}}, [16]) = 151
> close(3)                                = 0
> --- SIGSEGV (Segmentation fault) ---

>  
> 
> ------------ 
> Kettering's Observation: 
>         Logic is an organized way of going wrong with confidence. 
> 
> Imbesi's Law with Freeman's Extension: 
>         In order for something to become clean, something else must 
>         become dirty; but you can get everything dirty without getting 
>         anything clean. 
> 
> Political television commercials prove one thing: some candidates 
> can tell all their good points and qualifications in just 30 seconds.
> 


-- 
-Ken Schweigert, Padawan Network Administrator
Byte Productions, LLC
http://www.byte-productions.com