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

RESOLVED WORKSFORME

Status

()

Core
XPCOM
RESOLVED WORKSFORME
3 years ago
3 years ago

People

(Reporter: RyanVM, Unassigned)

Tracking

({crash, intermittent-failure})

Trunk
x86_64
Mac OS X
crash, intermittent-failure
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
Created attachment 8577370 [details]
test log

See the attached log and comment 1 for more info.
Comment hidden (Treeherder Robot)

Updated

3 years ago
Status: NEW → ASSIGNED
QA Contact: bkelly

Comment 2

3 years ago
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

Comment 3

3 years ago
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)

Comment 5

3 years ago
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<>.

Comment 6

3 years ago
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
Last Resolved: 3 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.