"Timo Sirainen" <[email protected]> said: > On 8.4.2011, at 0.17, Nicholas VonHollen wrote: > >> Thanks for helping me out. It looks like no matter what I do, changing the >> executable line doesn't help. I even changed it to "executable = >> /bin/false" and >> it still reports a segfault. I verified the config with "dovecot -n", >> stopped >> using the "-c /etc/dovecot.conf", moved the conf file to the appropriate >> place, >> re-verified it, and I still can't affect it. I assume the crash is happening >> post-fork, pre-exec, if there is custom code for launching child processes. >> Since strace 'fixes' the problem, I'll try to figure it out under gdb, but >> to be >> honest, my C debugging skills are very rusty. > > Ah, yes: > >> Apr 7 17:29:05 localhost dovecot: master: Error: service(imap): child 9690 >> killed with signal 11 (core dumps disabled) > > It has "master:" prefix so it's pre-exec. But you got a core file earlier, > right? > You should be able to get a usable gdb backtrace then with "gdb dovecot core". >
GDB still complains "warning: core file may not match specified executable file." when using anything but /bin/false. I tried using "gdb dovecot corefile" but got the same trace with nothing but _start. Is it possible to crash post-exec and pre-main? I'm not sure that makes sense, lol. You can't really pass pointers to child processes, so maybe ld is somehow screwed up? I can try it on a different OS with a similar RPM. Nick VonHollen Rackspace Software Developer Desk: 540-443-2003 (internal 505-2003) Personal Cell: 757-710-7038
