Closed Bug 1396365 Opened 7 years ago Closed 6 years ago

Crash in RacyThreadInfo::`scalar deleting destructor''

Categories

(Core :: Gecko Profiler, defect, P3)

55 Branch
All
Windows
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- wontfix
firefox56 --- wontfix
firefox57 --- ?

People

(Reporter: philipp, Unassigned)

Details

(Keywords: crash, regression)

Crash Data

This bug was filed from the Socorro interface and is 
report bp-daa41fde-bbc1-4e8e-a579-f9a970170902.
=============================================================
Crashing Thread (6), Name: Socket Thread
Frame 	Module 	Signature 	Source
0 	xul.dll 	RacyThreadInfo::`scalar deleting destructor'(unsigned int) 	
1 	xul.dll 	nsThread::ThreadFunc(void*) 	xpcom/threads/nsThread.cpp:543
2 	nss3.dll 	_PR_NativeRunThread 	nsprpub/pr/src/threads/combined/pruthr.c:397
3 	nss3.dll 	pr_root 	nsprpub/pr/src/md/windows/w95thred.c:95
4 	ucrtbase.dll 	thread_start<unsigned int (__stdcall*)(void*)> 	
5 	kernel32.dll 	BaseThreadInitThunk 	
6 	mozglue.dll 	patched_BaseThreadInitThunk 	mozglue/build/WindowsDllBlocklist.cpp:815
7 	ntdll.dll 	__RtlUserThreadStart 	
8 	ntdll.dll 	_RtlUserThreadStart

crash reports with this signature are showing up since firefox 55 and to a greater extend during the 56.0b cycle. they are coming from windows users and all have MOZ_RELEASE_ASSERT(stackPointer == 0) that got added in bug 1366650.
Component: Audio/Video: Playback → Gecko Profiler
> crash reports with this signature are showing up since firefox 55 and to a
> greater extend during the 56.0b cycle. they are coming from windows users
> and all have MOZ_RELEASE_ASSERT(stackPointer == 0) that got added in bug
> 1366650.

Bug 1366650 just moved this assertion and slightly changed it; it was MOZ_RELEASE_ASSERT(mStackPointer == 0) before that. So that bug isn't relevant.

Here's a crash I found with the old version:

https://crash-stats.mozilla.com/report/index/6fd71a1c-2ba5-440e-9047-560410170828

I see them going back to Firefox 54, but not before that.

The assertion is here: http://searchfox.org/mozilla-central/rev/67f38de2443e6b613d874fcf4d2cd1f2fc3d5e97/js/public/ProfilingStack.h#215-217. The comment suggests we might have a problem with a profiler label.
See Also: 1366650
mstange, I wonder if this could be related to some of the prep work you've done for bug 785440?
Flags: needinfo?(mstange)
None of that work has landed.

It's worrying that we seem to have leftover pseudo stack frames on the thread when it's destroyed.
The name of the crashing thread is "Socket Thread" according to many of the crash reports. It gets created here: http://searchfox.org/mozilla-central/rev/67f38de2443e6b613d874fcf4d2cd1f2fc3d5e97/netwerk/base/nsSocketTransportService2.cpp#560

It's a regular nsThread which just runs Runnables; it doesn't have a custom thread func or anything, and as far as I know, it also doesn't run any JavaScript. So I'm a bit stumped how it could end up with unbalanced profiler labels.
Flags: needinfo?(mstange)
Priority: -- → P3
Closing because no crash reported since 12 weeks.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.