9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] upas/fs (pop3) dies
@ 2003-03-10  7:49 Skip Tavakkolian
  0 siblings, 0 replies; only message in thread
From: Skip Tavakkolian @ 2003-03-10  7:49 UTC (permalink / raw)
  To: 9fans

Earlier this weekend I was getting the follow from upas/fs (pop3):

term% /sys/src/cmd/upas/fs/8.out -f /pop/mail.centurytel.net
download 10: unexpected end of conversation
8.out 1120: suicide: sys: trap: fault read addr=0x0 pc=0x0000f092

Unfortunately, inspecting the broken process with acid was a hit and
miss thing; I couldn't consistently get a stk() dump. I didn't have any luck
running a locally built upas/fs under acid either.  Anyhow, the error was
caused by a particular (spam) email that had one noticable feature: a
single 16+ KB line for the body of the message.  In looking at the
code and the location of the "unexpected end of conversation" message,
I am guessing that Brdline() in pop3resp() is returning nil (can't
find the delimiter '\n' before Bsize bytes are read), causing
pop3download() to fail.  pop3read() then tries to unchain that message
but somehow the cleanup isn't done correctly, causing the suicide
later when parse() is called.  Removing that spam
message (using a non-Plan9 pop agent) cleared the problem.  Here
is one stack dump I was able to get on a broken upas/fs:

acid: stk()
At pc:0x0000f092:strpbrk+0x57 /sys/src/libc/port/strpbrk.c:17
strpbrk(cs=0x00000000,cb=0x00033776) /sys/src/libc/port/strpbrk.c:7
	called from headerline+0x2a /sys/src/cmd/upas/fs/mbox.c:453
headerline(hl=0x000cd8e0,pp=0x7fffecbc) /sys/src/cmd/upas/fs/mbox.c:446
	called from parseheaders+0x138 /sys/src/cmd/upas/fs/mbox.c:256
parseheaders(m=0x000b0760,mb=0x0009e1e8,justmime=0x00000000) /sys/src/cmd/upas/fs/mbox.c:235
	called from parse+0x1f /sys/src/cmd/upas/fs/mbox.c:380
parse(m=0x000b0760,justmime=0x00000000,mb=0x0009e1e8) /sys/src/cmd/upas/fs/mbox.c:377
	called from pop3read+0x2bd /sys/src/cmd/upas/fs/pop3.c:446
pop3read(pop=0x0009e3a8,mb=0x0009e1e8,doplumb=0x00000000) /sys/src/cmd/upas/fs/pop3.c:338
	called from pop3sync+0x65 /sys/src/cmd/upas/fs/pop3.c:497
pop3sync(mb=0x0009e1e8,doplumb=0x00000000) /sys/src/cmd/upas/fs/pop3.c:486
	called from syncmbox+0x1a /sys/src/cmd/upas/fs/mbox.c:89
syncmbox(mb=0x0009e1e8,doplumb=0x00000000) /sys/src/cmd/upas/fs/mbox.c:88
	called from newmbox+0x32f /sys/src/cmd/upas/fs/mbox.c:171
newmbox(path=0x7fffefe1,name=0x00036a3d,std=0x00000000) /sys/src/cmd/upas/fs/mbox.c:95
	called from main+0x18d /sys/src/cmd/upas/fs/fs.c:224
main(argv=0x7fffefb4,argc=0x00000000) /sys/src/cmd/upas/fs/fs.c:156
	called from _main+0x31 /sys/src/libc/386/main9.s:16



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-03-10  7:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-10  7:49 [9fans] upas/fs (pop3) dies Skip Tavakkolian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).