Closed Bug 1143102 Opened 9 years ago Closed 9 years ago

Intermittent test_bug260264_nested.html | application crashed [@ mozalloc_abort(char const*)] with nsPipeInputStream on the stack

Categories

(Core :: XPCOM, defect)

x86_64
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

Details

(Keywords: crash, intermittent-failure)

Attachments

(1 file)

Attached file test log
See the attached log and comment 1 for more info.
Status: NEW → ASSIGNED
QA Contact: bkelly
This one is not obvious.  It appears a thread is blocked getting the monitor in nsPipeOutputStream::WriteSegments() while an nsPipeInputStream::AsyncWait() is releasing the monitor.  The thread releasing the monitor crashed during the release.
Assignee: nobody → bkelly
QA Contact: bkelly
Nathan, this looks like memory corruption.  This is the second bug like this I've seen today.  (See bug 1142803.)  Any thoughts?  I don't see how this could happen under normal conditions in pipe.
Flags: needinfo?(nfroyd)
Did we somehow destroy our pipe while we were waiting on it?  That's what comes to mind when things crash on a lock like that.  I wish Breakpad would print all the registers...
Flags: needinfo?(nfroyd)
The nsPipeInputStream::AsyncRead() accesses the monitor through an nsRefPtr<nsPipe>.  It seems the nsPipeInputStream itself would have to get destroyed for that to occur.  That seems unlikely since nsInputStreamPump::EnsureWaiting() calls AsyncRead() through an nsCOMPtr<>.
If this reproduces I can look at it.
Assignee: bkelly → nobody
Status: ASSIGNED → UNCONFIRMED
Ever confirmed: false
Inactive; closing (see bug 1180138).
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: