Closed
Bug 1354968
Opened 7 years ago
Closed 7 years ago
Intermittent test_quit_restart.py TestQuitRestart.test_in_app_restart_with_callback | application crashed [@ PLDHashTable::Add(void const*, mozilla::fallible_t const&)]
Categories
(Toolkit :: Safe Browsing, defect, P1)
Toolkit
Safe Browsing
Tracking
()
RESOLVED
FIXED
mozilla55
Tracking | Status | |
---|---|---|
firefox52 | --- | unaffected |
firefox-esr52 | --- | unaffected |
firefox53 | --- | unaffected |
firefox54 | --- | unaffected |
firefox55 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: hchang)
References
Details
(Keywords: crash, intermittent-failure)
Attachments
(1 file)
Filed by: philringnalda [at] gmail.com https://treeherder.mozilla.org/logviewer.html#?job_id=89975355&repo=mozilla-inbound https://archive.mozilla.org/pub/firefox/tinderbox-builds/mozilla-inbound-macosx64-debug/mozilla-inbound_yosemite_r7-debug_test-marionette-e10s-bm106-tests1-macosx-build223.txt.gz
Comment 1•7 years ago
|
||
First frames of the crashing thread: 17:01:15 INFO - Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS 17:01:15 INFO - Crash address: 0x0 17:01:15 INFO - Process uptime: 7 seconds 17:01:15 INFO - 17:01:15 INFO - Thread 35 (crashed) 17:01:15 INFO - 0 XUL!PLDHashTable::Add(void const*, mozilla::fallible_t const&) [PLDHashTable.h:a1e5043844f2 : 132 + 0x0] 17:01:15 INFO - rax = 0x0000000000000000 rdx = 0x00007fff717561f8 17:01:15 INFO - rcx = 0x0000000000000000 rbx = 0x0000015b55299aca 17:01:15 INFO - rsi = 0x0000370000003700 rdi = 0x0000360000003703 17:01:15 INFO - rbp = 0x000000011f980c10 rsp = 0x000000011f980be0 17:01:15 INFO - r8 = 0x000000011f980b90 r9 = 0x000000011f981000 17:01:15 INFO - r10 = 0x00007fff821013ef r11 = 0x00007fff821013c0 17:01:15 INFO - r12 = 0x000000011f980d18 r13 = 0x000000011f2644c8 17:01:15 INFO - r14 = 0x000000011f2b9090 r15 = 0x000000011f2b9090 17:01:15 INFO - rip = 0x00000001009eb127 17:01:15 INFO - Found by: given as instruction pointer in context 17:01:15 INFO - 1 XUL!mozilla::safebrowsing::Classifier::SetLastUpdateTime(nsACString const&, unsigned long long) [nsTHashtable.h:a1e5043844f2 : 161 + 0xf] 17:01:15 INFO - rbx = 0x0000015b55299aca rbp = 0x000000011f980c60 17:01:15 INFO - rsp = 0x000000011f980c20 r12 = 0x000000011f980d18 17:01:15 INFO - r13 = 0x000000011f8042e0 r14 = 0x000000011f264480 17:01:15 INFO - r15 = 0x000000011f2b9090 rip = 0x0000000104a2f09a 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 2 XUL!nsUrlClassifierDBServiceWorker::SetLastUpdateTime(nsACString const&, unsigned long long) [nsUrlClassifierDBService.cpp:a1e5043844f2 : 956 + 0xb] 17:01:15 INFO - rbx = 0x000000011ec926c0 rbp = 0x000000011f980c90 17:01:15 INFO - rsp = 0x000000011f980c70 r12 = 0x000000011f980d18 17:01:15 INFO - r13 = 0x000000011f8042e0 r14 = 0x0000015b55299aca 17:01:15 INFO - r15 = 0x000000011f2b9090 rip = 0x0000000104a3df20 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 3 XUL!UrlClassifierDBServiceWorkerProxy::SetLastUpdateTimeRunnable::Run() [nsUrlClassifierProxies.cpp:a1e5043844f2 : 240 + 0x8] 17:01:15 INFO - rbx = 0x0000000000000000 rbp = 0x000000011f980ca0 17:01:15 INFO - rsp = 0x000000011f980ca0 r12 = 0x000000011f980d18 17:01:15 INFO - r13 = 0x000000011f8042e0 r14 = 0x000000011bf0f110 17:01:15 INFO - r15 = 0x000000011bf0f080 rip = 0x0000000104a46d45 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 4 XUL!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:a1e5043844f2 : 1269 + 0x6] 17:01:15 INFO - rbx = 0x0000000000000000 rbp = 0x000000011f980da0 17:01:15 INFO - rsp = 0x000000011f980cb0 r12 = 0x000000011f980d18 17:01:15 INFO - r13 = 0x000000011f8042e0 r14 = 0x000000011bf0f110 17:01:15 INFO - r15 = 0x000000011bf0f080 rip = 0x0000000100a6b05c 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 5 XUL!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:a1e5043844f2 : 389 + 0xd] 17:01:15 INFO - rbx = 0x0000000000000001 rbp = 0x000000011f980dc0 17:01:15 INFO - rsp = 0x000000011f980db0 r12 = 0x000000011bf0f080 17:01:15 INFO - r13 = 0x000000011f8042e0 r14 = 0x000000011f8042c0 17:01:15 INFO - r15 = 0x0000000000000000 rip = 0x0000000100a6960f 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 6 XUL!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) [MessagePump.cpp:a1e5043844f2 : 368 + 0xd] 17:01:15 INFO - rbx = 0x000000011ef6de80 rbp = 0x000000011f980e20 17:01:15 INFO - rsp = 0x000000011f980dd0 r12 = 0x000000011bf0f080 17:01:15 INFO - r13 = 0x000000011f8042e0 r14 = 0x000000011f8042c0 17:01:15 INFO - r15 = 0x0000000000000000 rip = 0x000000010100f272 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 7 XUL!MessageLoop::Run() [message_loop.cc:a1e5043844f2 : 231 + 0x5] 17:01:15 INFO - rbx = 0x000000011bf0f080 rbp = 0x000000011f980e50 17:01:15 INFO - rsp = 0x000000011f980e30 r12 = 0x0000000000000000 17:01:15 INFO - r13 = 0x00000000000008ff r14 = 0x000000011bf0f0a0 17:01:15 INFO - r15 = 0x000000011ef6de80 rip = 0x0000000100fc1e5c 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 8 XUL!nsThread::ThreadFunc(void*) [nsThread.cpp:a1e5043844f2 : 500 + 0x5] 17:01:15 INFO - rbx = 0x000000011bf0f080 rbp = 0x000000011f980ec0 17:01:15 INFO - rsp = 0x000000011f980e60 r12 = 0x0000000000000000 17:01:15 INFO - r13 = 0x00000000000008ff r14 = 0x000000011bf0f0a0 17:01:15 INFO - r15 = 0x000000011ef6de80 rip = 0x0000000100a6791f 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 9 libnss3.dylib!_pt_root [ptthread.c:a1e5043844f2 : 216 + 0x3] 17:01:15 INFO - rbx = 0x000000011f1bada0 rbp = 0x000000011f980ef0 17:01:15 INFO - rsp = 0x000000011f980ed0 r12 = 0x000000000000d31b 17:01:15 INFO - r13 = 0x00000000000008ff r14 = 0x000000011f981000 17:01:15 INFO - r15 = 0x0000000000000000 rip = 0x0000000100739069 17:01:15 INFO - Found by: call frame info 17:01:15 INFO - 10 libsystem_pthread.dylib!_pthread_body + 0x83 17:01:15 INFO - rbx = 0x000000011f981000 rbp = 0x000000011f980f10 17:01:15 INFO - rsp = 0x000000011f980f00 r12 = 0x000000000000d31b 17:01:15 INFO - r13 = 0x00000000000008ff r14 = 0x000000011f1bada0 17:01:15 INFO - r15 = 0x0000000100738f50 rip = 0x00007fff8210405a 17:01:15 INFO - Found by: call frame info
Severity: normal → critical
Component: Marionette → Safe Browsing
Flags: needinfo?(francois)
Keywords: crash
Product: Testing → Toolkit
Version: Version 3 → unspecified
Comment 2•7 years ago
|
||
Henry, does this look like it may be related to the recent thread changes?
Flags: needinfo?(francois) → needinfo?(hchang)
Priority: -- → P1
Assignee | ||
Comment 3•7 years ago
|
||
I cannot certainly tell but there seems to be a concurrent access on the non-thread-safe object mTableFreshness [1][2]. I'll try to fix this first to see if this crash still happens. [1] http://searchfox.org/mozilla-central/rev/eace920a0372051a11d8d275bd9b8f14f3024ecd/toolkit/components/url-classifier/Classifier.cpp#1282 [2] http://searchfox.org/mozilla-central/rev/eace920a0372051a11d8d275bd9b8f14f3024ecd/toolkit/components/url-classifier/Classifier.cpp#1188
Flags: needinfo?(hchang)
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → hchang
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•7 years ago
|
Attachment #8856577 -
Flags: review?(francois)
Comment 7•7 years ago
|
||
mozreview-review |
Comment on attachment 8856577 [details] Bug 1354968 - Avoid concurrent access of mTableRefreshness. https://reviewboard.mozilla.org/r/128532/#review131556 ::: toolkit/components/url-classifier/Classifier.h:217 (Diff revision 3) > nsTArray<LookupCache*> mLookupCaches; // For query only. > nsTArray<nsCString> mActiveTablesCache; > uint32_t mHashKey; > // Stores the last time a given table was updated (seconds). > TableFreshnessMap mTableFreshness; > + TableFreshnessMap mTableFreshnessForUpdate; Maybe we should call it `mNewTableFreshness` to match `mNewLookupCaches`. Also, an end of line comment like `// for the update thread only` would be good. ::: toolkit/components/url-classifier/Classifier.cpp:624 (Diff revision 3) > for (auto c: mNewLookupCaches) { > delete c; > } > mNewLookupCaches.Clear(); > > + // Reset mTableFreshnessForUpdate. nit: that comment isn't really necessary
Attachment #8856577 -
Flags: review?(francois) → review+
Comment hidden (mozreview-request) |
Pushed by hchang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d7e8b84e2559 Avoid concurrent access of mTableRefreshness. r=francois
Comment 10•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/d7e8b84e2559
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox55:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Updated•7 years ago
|
status-firefox52:
--- → unaffected
status-firefox53:
--- → unaffected
status-firefox54:
--- → unaffected
status-firefox-esr52:
--- → unaffected
You need to log in
before you can comment on or make changes to this bug.
Description
•