Closed Bug 12173 Opened 25 years ago Closed 25 years ago

Assert/abort in NSPR trying to read news article

Categories

(MailNews Core :: Networking, defect, P3)

x86
Windows NT

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: phil, Assigned: mscott)

Details

I set up my news prefs for news.mozilla.org, loaded the last 50 messages in the
mail-news group, clicked on the most recent one, and died with this stack trace:

NTDLL! 77f76148()
_PR_MD_PR_POLL(PRPollDesc * 0x02254d20, int 0x00000003, unsigned int 0xffffffff)
line 165 + 41 bytes
PR_Poll(PRPollDesc * 0x02254d20, int 0x00000003, unsigned int 0xffffffff) line
115 + 17 bytes
nsSocketTransportService::Run(nsSocketTransportService * const 0x022534d4) line
397 + 23 bytes
nsThread::Main(void * 0x02257df0) line 102 + 18 bytes
_PR_NativeRunThread(void * 0x02257c80) line 379 + 13 bytes
_threadstartex(void * 0x02257ad0) line 212 + 13 bytes
KERNEL32! 77f04f2c()
Status: NEW → ASSIGNED
Target Milestone: M10
I'll take a look at this tonight since Seth is out on vacation from here on. I
bet it has to do with the changes last night for how we close nntp connections.
thanks mscott.

phil, do you see this crash every time?
Yes
Update: I'm still trying to trigger the crash on my machine with todays build.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → WORKSFORME
Works for me with todays build too. Resolving WORKSFORME.
Status: RESOLVED → VERIFIED
Thanks for the update.  Mark verified per your comments, Phil.
Status: VERIFIED → REOPENED
Summary: Crash in necko trying to read news article → Assert/abort in NSPR trying to read news article
I'm seeing this again, and so is Seth. Reopening, and improving the bug summary
a little.
Resolution: WORKSFORME → ---
adding wtc to the cc line.

wtc, any suggestions on what that assert means?
That assert means one of the file descriptors in
the PRPollDesc array (for PR_Poll) is not a valid
NSPR file descriptor.

NSPR file descriptor can be layered (a linked list
of layers) and each layer has a unique id.  The
layer at the bottom should be the NSPR I/O layer.
PR_Poll calls PR_GetIdentitiesLayer on each fd
to get the NSPR I/O layer.  If the NSPR I/O layer
is not present in an fd, that fd is bogus and
PR_Poll asserts.
I actually saw this today for the first time.
Bulk move mail/news M10 bugs to M11
Status: REOPENED → ASSIGNED
I think I may have a fix for this but since I was only able to reproduce the
problem once before. In making some modifications to the nntp protocol, I notice
d that once we entered the NEW_FREE state we'd stay in that state. One of the
things it did was issue the quit command to the server. When the server closes
the connection, we turn around and close our file socket handles. i'm wondering
if there was a strange race condition where we would enter the quit command
twice and someone wasn't properly shutting down some of their socket handles.

I've added a new state: NEWS_FINISHED and after issuing the quit command, we
hang out here instead of in NEWS_FREE again.

I'll be checking this in when I land the new news message display code. If we
don't see the problem pop up again after that then I'll mark this as fixed.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
As part of my message display performance landing tonight I checked in what I
believe is a fix to this problem. I'm going to mark it as fixed. Phil/Seth, if
either of you see it again in Monday's builds, feel free to re-open =).
QA Contact: lchiang → ppandit
Par, pls verify.
Status: RESOLVED → VERIFIED
Tried the original problem using a debug build from 11/12/99 on Windows NT and
cannot reproduce it.

VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.