Hello all,
I've run into a weird bug that I hope someone might be able to help
with. First off, I'm running Solaris 9 with:
# dbx -V
Sun Dbx Debugger 7.6 SunOS_sparc Patch 124872-06 2008/08/08
I've been working with Timo of Dovecot trying to track down some Solaris
specific issues, but debugging has been extremely difficult due to odd
behavior in dbx. After starting up dovecot within dbx and beginning an
imap session, any attempt to ctrl-c back to the dbx prompt ends ends
with dbx dropping me completely back to shell:
(dbx) run --exec-mail imap^M
Running: dovecot --exec-mail imap
(process id 13643)
dbx: process 13643 about to exec("/usr/local/libexec/dovecot/imap")
dbx: program "/usr/local/libexec/dovecot/imap" just exec'ed
dbx: to go back to the original program use "debug $oprog"
Reading imap
Reading libiconv.so.2.4.0
stopped in main at line 282 in file "main.c"
282 net_getpeername(1, NULL, NULL) == 0) {
(dbx)^M
(dbx) cont^M
Reading lib10_quota_plugin.so
Reading librpcsvc.so.1
Reading libmd5_psr.so.1
Reading lib11_imap_quota_plugin.so
* PREAUTH [CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES
MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS
UIDPLUS LIST-EXTENDED I18NLEVEL=1 QUOTA] Logged in as dhalik^M
^Cdbx: warning: Interrupt ignored but forwarded to child.
signal INT (Interrupt) in _poll at 0xff09e238
0xff09e238: _poll+0x0004: ta %icc,0x00000008
Current function is io_loop_handler_run
158 ret = poll(ctx->fds, ctx->fds_pos, msecs);
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx) Use `exit'
(dbx) ^M(dbx)
$
If you notice above, after the imap procss was started all I did was hit
a ctrl-c and it not only stopped the process as expected, but then
spazzed out like it was receiving ctrl-d and eventually gave up and
dropped me completely back into my shell. What you're looking at is a
screen log of the event, so you can see all of the special characters.
Where is this ctrl-d behavior coming from? I only see my ctrl-c and a
few ctrl-m's. No ctrl-d's in site.
It's very hard to debug a process when dbx kicks me out everytime I want
to look at the process. =)
Any ideas? This is very frustrating.
Thanks.
--
================================
David Halik
System Administrator
OIT-CSS Rutgers University
dhalik at jla.rutgers.edu
================================