Closed Bug 12173 Opened 26 years ago Closed 26 years ago

Assert/abort in NSPR trying to read news article

Categories

(MailNews Core :: Networking, defect, P3)

x86
Windows NT
defect

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: 26 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: 26 years ago26 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.