Closed Bug 1195700 Opened 9 years ago Closed 9 years ago

Intermittent test_performance_observer.html | application crashed [@ mozilla::dom::PerformanceObserver::AddRef]

Categories

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

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox41 --- unaffected
firefox42 --- unaffected
firefox43 --- fixed
firefox-esr38 --- unaffected
b2g-v2.2 --- unaffected
b2g-v2.2r --- unaffected
b2g-master --- fixed

People

(Reporter: RyanVM, Assigned: hiro)

References

Details

(Keywords: crash, intermittent-failure)

Attachments

(1 file, 1 obsolete file)

22:44:59 WARNING - PROCESS-CRASH | dom/base/test/test_performance_observer.html | application crashed [@ mozilla::dom::PerformanceObserver::AddRef]
22:44:59 INFO - Crash dump filename: /tmp/tmpyg5NAU/5aad1e72-3fab-cbe3-7a37edbf-2965fd9d.dmp
22:44:59 INFO - Operating system: Android
22:44:59 INFO - 0.0.0 Linux 2.6.29-g41a03df #22 Thu Jun 26 10:59:09 CST 2014 armv7l Android/full/generic:4.0.4.0.4.0.4/OPENMASTER/eng.cltbld.20150817.195715:eng/test-keys
22:44:59 INFO - CPU: arm
22:44:59 INFO - ARMv0
22:44:59 INFO - 0 CPUs
22:44:59 INFO - Crash reason: SIGSEGV
22:44:59 INFO - Crash address: 0x0
22:44:59 INFO - Process uptime: not available
22:44:59 INFO - Thread 0 (crashed)
22:44:59 INFO - 0 libxul.so!mozilla::dom::PerformanceObserver::AddRef [PerformanceObserver.cpp:4b1fccda7a74 : 30 + 0x12]
22:44:59 INFO - r0 = 0x0000009f r1 = 0xbea0d1f0 r2 = 0x0000001e r3 = 0x00000000
22:44:59 INFO - r4 = 0x47e61340 r5 = 0x5a5a5a5a r6 = 0x00000001 r7 = 0x47ee2d00
22:44:59 INFO - r8 = 0x47ee2d00 r9 = 0xbea0d66c r10 = 0x47058880 r12 = 0x400660fc
22:44:59 INFO - fp = 0xbea0d6b4 sp = 0xbea0d650 lr = 0x41287b13 pc = 0x412893bc
22:44:59 INFO - Found by: given as instruction pointer in context
22:44:59 INFO - 1 libxul.so!PerformanceBase::InsertResourceEntry [nsRefPtr.h : 361 + 0x5]
22:44:59 INFO - r3 = 0x00000000 r4 = 0x47e61340 r5 = 0x00000000 r6 = 0x00000001
22:44:59 INFO - r7 = 0x47ee2d00 r8 = 0x47ee2d00 r9 = 0xbea0d66c r10 = 0x47058880
22:44:59 INFO - fp = 0xbea0d6b4 sp = 0xbea0d660 pc = 0x4132095b
22:44:59 INFO - Found by: call frame info
22:44:59 INFO - 2 libxul.so!nsPerformance::AddEntry [nsPerformance.cpp:4b1fccda7a74 : 574 + 0x7]
22:44:59 INFO - r4 = 0xbea0d79c r5 = 0xbea0d708 r6 = 0xbea0d6a4 r7 = 0x44eaa860
22:44:59 INFO - r8 = 0x47ee2d00 r9 = 0x46816650 r10 = 0x47058880 fp = 0xbea0d6b4
22:44:59 INFO - sp = 0xbea0d690 pc = 0x41320af3
22:44:59 INFO - Found by: call frame info
22:44:59 INFO - 3 libxul.so!mozilla::net::HttpChannelChild::OnStopRequest [HttpChannelChild.cpp:4b1fccda7a74 : 772 + 0x9]
22:44:59 INFO - r4 = 0x47058820 r5 = 0x47058858 r6 = 0xbea0d920 r7 = 0x47058800
22:44:59 INFO - r8 = 0x47ef1b00 r9 = 0xbea0d920 r10 = 0xbea0db48 fp = 0x47058800
22:44:59 INFO - sp = 0xbea0d858 pc = 0x40d075c9
22:44:59 INFO - Found by: call frame info
22:44:59 INFO - 4 libxul.so!mozilla::net::HttpChannelChild::RecvOnStopRequest [HttpChannelChild.cpp:4b1fccda7a74 : 739 + 0x9]
22:44:59 INFO - r0 = 0x47058800 r1 = 0xbea0d920 r2 = 0xbea0d9d0 r4 = 0x47058800
22:44:59 INFO - r5 = 0x00000000 r6 = 0xbea0d9d0 r7 = 0xbea0d920 r8 = 0x47ef1b00
22:44:59 INFO - r9 = 0xbea0d920 r10 = 0xbea0db48 fp = 0x47058800 sp = 0xbea0d878
22:44:59 INFO - pc = 0x40d076e7
22:44:59 INFO - Found by: call frame info
22:44:59 INFO - 5 libxul.so!mozilla::net::PHttpChannelChild::OnMessageReceived [PHttpChannelChild.cpp : 616 + 0xd]
22:44:59 INFO - r0 = 0x47058800 r1 = 0xbea0d920 r4 = 0xbea0db44 r5 = 0xbea0d9d0
22:44:59 INFO - r6 = 0xbea0d910 r7 = 0x00000000 r8 = 0xbea0d900 r9 = 0xbea0d920
22:44:59 INFO - r10 = 0xbea0db48 fp = 0x47058800 sp = 0xbea0d898 pc = 0x40e0e441
22:44:59 INFO - Found by: call frame info
22:44:59 INFO - 6 libxul.so!mozilla::dom::PContentChild::OnMessageReceived [PContentChild.cpp : 5465 + 0x7]
22:44:59 INFO - r4 = 0xbea0db44 r5 = 0x45bbd418 r6 = 0x00000000 r7 = 0x00000000
22:44:59 INFO - r8 = 0xffffffff r9 = 0xbea0dac0 r10 = 0x00000000 fp = 0x40256700
22:44:59 INFO - sp = 0xbea0da88 pc = 0x40f59d3b
22:44:59 INFO - Found by: call frame info
Flags: needinfo?(hiikezoe)
Ryan, thank you for letting me know this failure. This failure is totally my fault.
Though I have never seen this failure locally and try server, I pushed a try with possible fix now.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=876899c7c75e

I am leaving needinfo request until the try run is finished.
The possible fix <https://hg.mozilla.org/try/rev/5ec8f2864e4b> seems to work as expected.
Here is another try run on B2G emulator.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0930ca09b455

This patch also adds that each observer is disconnected in each test cleanup for safety.

try run with this patch. (not finished yet)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=51decbbc64b3
Assignee: nobody → hiikezoe
Flags: needinfo?(hiikezoe)
Attachment #8649739 - Flags: review?(amarchesini)
Comment on attachment 8649739 [details] [diff] [review]
Disconnect observer before being destroy it

Review of attachment 8649739 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/base/PerformanceObserver.cpp
@@ +52,5 @@
>  }
>  
>  PerformanceObserver::~PerformanceObserver()
>  {
> +  Disconnect();

... and here you do:
Disconnect();
MOZ_ASSERT(!mConnected);

@@ +150,5 @@
>  
>  void
>  PerformanceObserver::Disconnect()
>  {
> +  if (mPerformance) {

What about if you add a boolean called 'mConnected' and you set it to true when ::Observe() is called.
Then here you do:

if (mConnected) {
  MOZ_ASSERT(mPerformance);
  mPerformance->RemoveObserver(this);
  mConnected = false;
}
Attachment #8649739 - Flags: review?(amarchesini)
Thanks Andrea!
Attachment #8649739 - Attachment is obsolete: true
Attachment #8650163 - Flags: review?(amarchesini)
Attachment #8650163 - Flags: review?(amarchesini) → review+
https://hg.mozilla.org/mozilla-central/rev/c3a837e838ed
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: