Closed Bug 1398934 Opened 4 years ago Closed 2 years ago

Crash in mozilla::dom::TimeoutManager::RescheduleTimeout

Categories

(Core :: DOM: Core & HTML, defect, P3)

55 Branch
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox55 --- wontfix
firefox56 --- wontfix
firefox57 --- wontfix
firefox58 --- wontfix
firefox59 --- ?

People

(Reporter: philipp, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: crash, regression)

Crash Data

This bug was filed from the Socorro interface and is 
report bp-504b12f7-6749-430c-ad4c-52ac10170908.
=============================================================
Crashing Thread (0)
Frame 	Module 	Signature 	Source
0 	xul.dll 	mozilla::dom::TimeoutManager::RescheduleTimeout(mozilla::dom::Timeout*, mozilla::TimeStamp const&, mozilla::TimeStamp const&) 	dom/base/TimeoutManager.cpp:959
1 	xul.dll 	mozilla::dom::TimeoutManager::RunTimeout(mozilla::TimeStamp const&, mozilla::TimeStamp const&) 	dom/base/TimeoutManager.cpp:904
2 	xul.dll 	mozilla::dom::TimeoutExecutor::MaybeExecute() 	dom/base/TimeoutExecutor.cpp:167
3 	xul.dll 	mozilla::dom::TimeoutExecutor::Notify(nsITimer*) 	dom/base/TimeoutExecutor.cpp:235
4 	xul.dll 	nsTimerImpl::Fire(int) 	xpcom/threads/nsTimerImpl.cpp:517
5 	xul.dll 	nsTimerEvent::Run() 	xpcom/threads/TimerThread.cpp:286
6 	xul.dll 	mozilla::ThrottledEventQueue::Inner::ExecuteRunnable() 	xpcom/threads/ThrottledEventQueue.cpp:193
7 	xul.dll 	mozilla::ThrottledEventQueue::Inner::Executor::Run() 	xpcom/threads/ThrottledEventQueue.cpp:79
8 	xul.dll 	nsThread::ProcessNextEvent(bool, bool*) 	xpcom/threads/nsThread.cpp:1039
9 	xul.dll 	mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) 	ipc/glue/MessagePump.cpp:97
10 	xul.dll 	MessageLoop::RunHandler() 	ipc/chromium/src/base/message_loop.cc:319
11 	xul.dll 	MessageLoop::Run() 	ipc/chromium/src/base/message_loop.cc:299
12 	xul.dll 	nsBaseAppShell::Run() 	widget/nsBaseAppShell.cpp:158
13 	xul.dll 	nsAppShell::Run() 	widget/windows/nsAppShell.cpp:230
14 	xul.dll 	nsAppStartup::Run() 	toolkit/components/startup/nsAppStartup.cpp:288
15 	xul.dll 	XREMain::XRE_mainRun() 	toolkit/xre/nsAppRunner.cpp:4643
16 	xul.dll 	XREMain::XRE_main(int, char** const, mozilla::BootstrapConfig const&) 	toolkit/xre/nsAppRunner.cpp:4807
17 	xul.dll 	XRE_main(int, char** const, mozilla::BootstrapConfig const&) 	toolkit/xre/nsAppRunner.cpp:4902
18 	firefox.exe 	NS_internal_main(int, char**, char**) 	browser/app/nsBrowserApp.cpp:309
19 	firefox.exe 	wmain 	toolkit/xre/nsWindowsWMain.cpp:115
20 	firefox.exe 	__scrt_common_main_seh 	f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:253
21 	kernel32.dll 	BaseThreadInitThunk 	
22 	ntdll.dll 	RtlUserThreadStart

those cross-platform crashes are happening with MOZ_DIAGNOSTIC_ASSERT(aLastCallbackTime <= aCurrentNow); that got added in bug 1378394.
This failing assert is essentially:

  TimeStamp a = TimeStamp::Now();
  // do some other code
  TimeStamp b = TimeStamp::Now();
  MOZ_DIAGNOSTIC_ASSERT(a <= b);

The only way this can fail is if TimeStamp is not reliable.  I'm not sure what we can do here if something so basic is not working on these machines.
It would be interesting to know if we're off by, say, 1us, or some huge quantity.
+1 to comment 2 if we have an STR.

Given comment 1 and the low level volume here suggests to me this should be P3.
Priority: -- → P3
Well, we could change the assert into separate asserts to determine comment 2.
Getting telemetry for TimeStamp inconsistencies would be helpful for this kind of issue.  See bug 1387368.
Depends on: 1387368
Looks like a very low volume crash for 57 beta and 58 nightly. Marking this fix-optional for 58.

I don't see anything newer than 60.* and even there just once.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.