Closed Bug 1355196 (work_queue_.empty) Opened 7 years ago Closed 7 years ago

Intermittent netwerk/test/unit_ipc/test_channel_id.js | application crashed [@ MessageLoop::DeletePendingTasks()] after Assertion failure: work_queue_.empty()

Categories

(Core :: IPC, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- fixed

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: crash, intermittent-failure)

Crash Data

Flags: needinfo?(jsnajdr)
I think this not a necko specific bug.
Component: Networking → IPC
The channel ID type was changed from UUID string to uint64 in bug 1348462. Landed in m-c on 2017-04-04, this bug reported few days later, on 2017-04-10. Random coincidence or not?
Flags: needinfo?(jsnajdr) → needinfo?(hurley)
Locally reproducible, there is only one task that remains in the queue:

base::ObjectWatcher::Watch



The whole expand of the work queue:

-		work_queue_	{ size=1 }	std::queue<MessageLoop::PendingTask,std::deque<MessageLoop::PendingTask,std::allocator<MessageLoop::PendingTask> > >
+		c	{ size=1 }	std::deque<MessageLoop::PendingTask,std::allocator<MessageLoop::PendingTask> >
-		[Raw View]	{c={ size=1 } }	std::queue<MessageLoop::PendingTask,std::deque<MessageLoop::PendingTask,std::allocator<MessageLoop::PendingTask> > >
-		c	{ size=1 }	std::deque<MessageLoop::PendingTask,std::allocator<MessageLoop::PendingTask> >
+		[allocator]	allocator	std::_Compressed_pair<std::_Wrap_alloc<std::allocator<MessageLoop::PendingTask> >,std::_Deque_val<std::_Deque_simple_types<MessageLoop::PendingTask> >,1>
-		[0]	{task={mRawPtr=0x02c7c970 {watcher=0x00000000 <NULL> object=0x000005c0 wait_object=0x0bf3f990 ...} } ...}	MessageLoop::PendingTask
-		task	{mRawPtr=0x02c7c970 {watcher=0x00000000 <NULL> object=0x000005c0 wait_object=0x0bf3f990 ...} }	nsCOMPtr<nsIRunnable>
-		mRawPtr	0x02c7c970 {watcher=0x00000000 <NULL> object=0x000005c0 wait_object=0x0bf3f990 ...}	nsIRunnable * {base::ObjectWatcher::Watch}
-		[base::ObjectWatcher::Watch]	{watcher=0x00000000 <NULL> object=0x000005c0 wait_object=0x0bf3f990 ...}	base::ObjectWatcher::Watch
+		mozilla::Runnable	{mRefCnt={mValue=1 } _mOwningThread={mThread=0x00d67290 } mName=0x195e7e8c "ObjectWatcher::Watch" }	mozilla::Runnable
+		watcher	0x00000000 <NULL>	base::ObjectWatcher *
		object	0x000005c0	void *
		wait_object	0x0bf3f990	void *
+		origin_loop	0x028afd70 {type_=TYPE_IO (2) id_=2 work_queue_={ size=1 } ...}	MessageLoop *
+		delegate	0x00d5edd4 {...}	base::ObjectWatcher::Delegate *
		did_signal	true	bool
+		nsISupports	{...}	nsISupports
+		delayed_run_time	{ticks_=0 }	base::TimeTicks
		sequence_num	0	int
		nestable	true	bool
+		[Raw View]	{...}	std::deque<MessageLoop::PendingTask,std::allocator<MessageLoop::PendingTask> >
Flags: needinfo?(wmccloskey)
(Note: we should duplicate all "MessageLoop::DeletePendingTasks" crash bugs to this one)
Alias: work_queue_.empty
Carrying ni from bug 1338878 here.
Flags: needinfo?(jmathies)
Note that there has been some more investigation done in bug 1380530.
Depends on: 1380530
It looks like this might have stopped (presumably because of bug 1380530).
Flags: needinfo?(wmccloskey)
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(jmathies)
Flags: needinfo?(hurley)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.