Closed Bug 1253238 Opened 8 years ago Closed 8 years ago

Intermittent OSX e10s application crashed [@ mozilla::dom::CanvasRenderingContext2D::~CanvasRenderingContext2D()] after running dom/canvas mochitests

Categories

(Core :: Graphics: Canvas2D, defect)

Unspecified
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1254447
Tracking Status
e10s + ---
firefox47 --- affected

People

(Reporter: RyanVM, Assigned: pchang)

References

(Blocks 1 open bug)

Details

(Keywords: crash, intermittent-failure, Whiteboard: [gfx-noted])

Attachments

(1 obsolete file)

Seems to be happening ~10% of the time on OSX 10.10 opt builds when shutting down after running the dom/canvas directory. Hopefully related to the other known issues with the dom/canvas tests.

https://treeherder.mozilla.org/logviewer.html#?job_id=17526807&repo=try

 00:48:17     INFO -  1812 INFO TEST-OK | dom/canvas/test/test_windingRuleUndefined.html | took 62ms
 00:48:17     INFO -  ###!!! [Child][MessageChannel::SendAndWait] Error: (msgtype=0x4800D8,name=PContent::Msg_GetGraphicsFeatureStatus) Channel closing: too late to send/recv, messages will be lost
 00:48:17     INFO -  ###!!! [Child][MessageChannel] Error: (msgtype=0x4E0001,name=PCrashReporter::Msg_AnnotateCrashReport) Channel closing: too late to send/recv, messages will be lost
 00:48:17     INFO -  Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Accelerated Skia canvas is disabled (t=26.8167)
 00:48:17     INFO -  ###!!! [Child][MessageChannel] Error: (msgtype=0x4800DA,name=PContent::Msg_GraphicsError) Channel closing: too late to send/recv, messages will be lost
 00:48:17     INFO -  [GFX1-]: Accelerated Skia canvas is disabled
 00:48:17     INFO -  -*- TCPPresentationServer.js: TCPPresentationServer - close
 00:48:18     INFO -  TEST-INFO | Main app process: exit 0
 00:48:18     INFO -  runtests.py | Application ran for: 0:00:29.983091
 00:48:18     INFO -  zombiecheck | Reading PID log: /var/folders/vs/0sk_gyqd48x911v5vww2j48c00000w/T/tmpaYrchspidlog
 00:48:18     INFO -  mozcrash Downloading symbols from: https://queue.taskcluster.net/v1/task/flNkhgwkTrC7POtdcuZevQ/artifacts/public/build/firefox-47.0a1.en-US.mac.crashreporter-symbols.zip
 00:48:24     INFO -  mozcrash Copy/paste: /builds/slave/test/build/macosx64-minidump_stackwalk /var/folders/vs/0sk_gyqd48x911v5vww2j48c00000w/T/tmpVeGKSX.mozrunner/minidumps/0BF187EF-EBA1-4075-869A-0C3B706B3713.dmp /var/folders/vs/0sk_gyqd48x911v5vww2j48c00000w/T/tmp4x44cq
 00:48:35     INFO -  mozcrash Saved minidump as /builds/slave/test/build/blobber_upload_dir/0BF187EF-EBA1-4075-869A-0C3B706B3713.dmp
 00:48:35     INFO -  mozcrash Saved app info as /builds/slave/test/build/blobber_upload_dir/0BF187EF-EBA1-4075-869A-0C3B706B3713.extra
 00:48:35  WARNING -  PROCESS-CRASH | Main app process exited normally | application crashed [@ mozilla::dom::CanvasRenderingContext2D::~CanvasRenderingContext2D()]
 00:48:35     INFO -  Crash dump filename: /var/folders/vs/0sk_gyqd48x911v5vww2j48c00000w/T/tmpVeGKSX.mozrunner/minidumps/0BF187EF-EBA1-4075-869A-0C3B706B3713.dmp
 00:48:35     INFO -  Operating system: Mac OS X
 00:48:35     INFO -                    10.10.5 14F27
 00:48:35     INFO -  CPU: amd64
 00:48:35     INFO -       family 6 model 69 stepping 1
 00:48:35     INFO -       4 CPUs
 00:48:35     INFO -  Crash reason:  EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
 00:48:35     INFO -  Crash address: 0x10
 00:48:35     INFO -  Process uptime: 29 seconds
 00:48:35     INFO -  Thread 0 (crashed)
 00:48:35     INFO -   0  XUL!mozilla::dom::CanvasRenderingContext2D::~CanvasRenderingContext2D() [RefPtr.h:8f45b49276ee : 261 + 0x0]
 00:48:35     INFO -      rax = 0x0000000000000000   rdx = 0x0000000000000003
 00:48:35     INFO -      rcx = 0x00007fff74445b70   rbx = 0x0000000121e83000
 00:48:35     INFO -      rsi = 0x0000000000000000   rdi = 0x00007fff5fbfc038
 00:48:35     INFO -      rbp = 0x00007fff5fbfc0d0   rsp = 0x00007fff5fbfc0b0
 00:48:35     INFO -       r8 = 0x000000010c001080    r9 = 0x000000000000000e
 00:48:35     INFO -      r10 = 0x0000000000000003   r11 = 0x000000011745a818
 00:48:35     INFO -      r12 = 0x0000000121e83068   r13 = 0x0000000112417000
 00:48:35     INFO -      r14 = 0x0000000121e8304c   r15 = 0x0000000121e83000
 00:48:35     INFO -      rip = 0x0000000101d747f6
 00:48:35     INFO -      Found by: given as instruction pointer in context
 00:48:35     INFO -   1  XUL!mozilla::dom::CanvasRenderingContext2D::~CanvasRenderingContext2D() [CanvasRenderingContext2D.cpp:8f45b49276ee : 985 + 0x5]
 00:48:35     INFO -      rbx = 0x0000000121e83000   rbp = 0x00007fff5fbfc0f0
 00:48:35     INFO -      rsp = 0x00007fff5fbfc0e0   r12 = 0x00007fff5fbfc178
 00:48:35     INFO -      r13 = 0x0000000112417000   r14 = 0x0000000000007f00
 00:48:35     INFO -      r15 = 0x00000000000000b2   rip = 0x0000000101d74c6e
 00:48:35     INFO -      Found by: call frame info
 00:48:35     INFO -   2  XUL!SnowWhiteKiller::~SnowWhiteKiller() [nsCycleCollector.cpp:8f45b49276ee : 2674 + 0x6]
 00:48:35     INFO -      rbx = 0x000000012f7f70d8   rbp = 0x00007fff5fbfc140
 00:48:35     INFO -      rsp = 0x00007fff5fbfc100   r12 = 0x00007fff5fbfc178
 00:48:35     INFO -      r13 = 0x0000000112417000   r14 = 0x0000000000007f00
 00:48:35     INFO -      r15 = 0x00000000000000b2   rip = 0x000000010048e60b
 00:48:35     INFO -      Found by: call frame info
 00:48:35     INFO -   3  XUL!nsCycleCollector::FreeSnowWhite(bool) [nsCycleCollector.cpp:8f45b49276ee : 2667 + 0x5]
 00:48:35     INFO -      rbx = 0x00007fff5fbfc1a0   rbp = 0x00007fff5fbfc1e0
 00:48:35     INFO -      rsp = 0x00007fff5fbfc150   r12 = 0x0000000120f9dd01
 00:48:35     INFO -      r13 = 0x00000001152370b0   r14 = 0x0000000000007f00
 00:48:35     INFO -      r15 = 0x000000012f7de000   rip = 0x000000010048760f
 00:48:35     INFO -      Found by: call frame info
 00:48:35     INFO -   4  XUL!AsyncFreeSnowWhite::Run() [XPCJSRuntime.cpp:8f45b49276ee : 151 + 0x5]
 00:48:35     INFO -      rbx = 0x000000b5436205aa   rbp = 0x00007fff5fbfc210
 00:48:35     INFO -      rsp = 0x00007fff5fbfc1f0   r12 = 0x000000010c178380
 00:48:35     INFO -      r13 = 0x0000000000000000   r14 = 0x00000001124c3800
 00:48:35     INFO -      r15 = 0x000000010c178350   rip = 0x0000000100dfe8ff
 00:48:35     INFO -      Found by: call frame info
 00:48:35     INFO -   5  XUL!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:8f45b49276ee : 994 + 0x6]
 00:48:35     INFO -      rbx = 0x000000010c1783c0   rbp = 0x00007fff5fbfc290
 00:48:35     INFO -      rsp = 0x00007fff5fbfc220   r12 = 0x000000010c178380
 00:48:35     INFO -      r13 = 0x0000000000000000   r14 = 0x00007fff5fbfc2a7
 00:48:35     INFO -      r15 = 0x000000010c178350   rip = 0x00000001004ebbb7
 00:48:35     INFO -      Found by: call frame info
 00:48:35     INFO -   6  XUL!NS_ProcessPendingEvents(nsIThread*, unsigned int) [nsThreadUtils.cpp:8f45b49276ee : 239 + 0xf]
 00:48:35     INFO -      rbx = 0x00000001155c5e00   rbp = 0x00007fff5fbfc2d0
 00:48:35     INFO -      rsp = 0x00007fff5fbfc2a0   r12 = 0x000000010c178350
 00:48:35     INFO -      r13 = 0x00007fff5fbfc2a7   r14 = 0x000000000000000a
 00:48:35     INFO -      r15 = 0x00000000000be117   rip = 0x0000000100519b2f
 00:48:35     INFO -      Found by: call frame info
 00:48:35     INFO -   7  XUL!nsBaseAppShell::NativeEventCallback() [nsBaseAppShell.cpp:8f45b49276ee : 97 + 0xa]
 00:48:35     INFO -      rbx = 0x00000001155c5e00   rbp = 0x00007fff5fbfc300
 00:48:35     INFO -      rsp = 0x00007fff5fbfc2e0   r12 = 0x0000000000000000
 00:48:35     INFO -      r13 = 0x0000000000002d07   r14 = 0x000000010c178350
 00:48:35     INFO -      r15 = 0x00000001155c5e00   rip = 0x00000001025b9c24
00:48:35 INFO - Found by: call frame info
Assignee: nobody → howareyou322
Whiteboard: [gfx-noted]
(In reply to peter chang[:pchang][:peter] from comment #1)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=68b310c904fd

You're going to need to include the below patch in your push to force e10s on in order to reproduce on Try.
https://hg.mozilla.org/try/rev/786d874b855d

Otherwise, |./mach mochitest --e10s| should work locally.
Here's a new Try push with e10s enabled and your logging patches applied :)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5d8a5bc7fb4b
(In reply to Ryan VanderMeulen [:RyanVM] from comment #3)
> Here's a new Try push with e10s enabled and your logging patches applied :)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=5d8a5bc7fb4b

Thanks for help.
FYI, M-e10s was enabled in production for OSX last Friday, so you can just use |try: -b o -p macosx64 -u mochitest-e10s-1 -t none| without the need to include that extra e10s enabling patch now :)
(In reply to peter chang[:pchang][:peter] from comment #6)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=fdbd1084569a
Can't reproduce this with latest try result.
Although attachment 8727726 [details] fixed this problem, but we still need to release videoTexture if it existed but acceleratedCanvas just got disabled.

[1]https://dxr.mozilla.org/mozilla-central/source/dom/canvas/CanvasRenderingContext2D.cpp?from=CanvasRenderingContext2D.cpp#999
Blocks: 1254447
No longer blocks: 1254447
Attachment #8727726 - Attachment description: MozReview Request: Bug 1253238 Check skiaGL glue before using, r?jmuizelaar → MozReview Request: Bug 1253238 Check skiaGL glue before using, r?jrmuizel
Attachment #8727726 - Flags: review?(jmuizelaar)
Comment on attachment 8727726 [details]
MozReview Request: Bug 1253238 Check skiaGL glue before using, r?jrmuizel

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/38625/diff/1-2/
Attachment #8727726 - Flags: review?(jmuizelaar)
Comment on attachment 8727726 [details]
MozReview Request: Bug 1253238 Check skiaGL glue before using, r?jrmuizel

https://reviewboard.mozilla.org/r/38625/#review35519

::: dom/canvas/CanvasRenderingContext2D.cpp:998
(Diff revision 2)
> -  if (mVideoTexture) {
> +  SkiaGLGlue* glue = gfxPlatform::GetPlatform()->GetSkiaGLGlue();

When does this return null?
(In reply to Jeff Muizelaar [:jrmuizel] from comment #12)
> Comment on attachment 8727726 [details]
> MozReview Request: Bug 1253238 Check skiaGL glue before using, r?jrmuizel
> 
> https://reviewboard.mozilla.org/r/38625/#review35519
> 
> ::: dom/canvas/CanvasRenderingContext2D.cpp:998
> (Diff revision 2)
> > -  if (mVideoTexture) {
> > +  SkiaGLGlue* glue = gfxPlatform::GetPlatform()->GetSkiaGLGlue();
> 
> When does this return null?

I created another bug 1254447 to follow up and it would be good to land this to avoid test failed noise.
https://reviewboard.mozilla.org/r/38625/#review35519

> When does this return null?

I created another bug 1254447 to follow up and it would be good to land this to avoid test failed noise.
Depends on: 1254447
https://reviewboard.mozilla.org/r/38625/#review35519

> I created another bug 1254447 to follow up and it would be good to land this to avoid test failed noise.

After working on bug 1254447, I will fix this issue in bug 1254447.
Attachment #8727726 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: