Closed
Bug 1482613
Opened 7 years ago
Closed 7 years ago
Make WebVR work with multiprocess enabled on Android
Categories
(Core :: WebVR, defect)
Tracking
()
RESOLVED
FIXED
mozilla63
People
(Reporter: mortimergoro, Assigned: mortimergoro)
Details
(Whiteboard: [geckoview:fxr:p1])
Attachments
(1 file)
When multiprocess is enabled on Android (Firefox Reality) there are some SurfaceTexture errors. This happens because the WebGL textures used in WebVR are not detached correctly from Gecko thread, and can't be used in the VR render thread.
Also there is a race condition where WebGLContext::GetVRFrame can be called multiple times before a VR frame is fully processed. SurfaceTextures need to be released from the Firefox Reality render thread in order to allow be used again in the WebGLContext producer. Not doing this causes some freezes, crashes or other undefined behaviour.
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → imanol
Assignee | ||
Updated•7 years ago
|
Whiteboard: [geckoview:fxr:p1]
Assignee | ||
Comment 1•7 years ago
|
||
MozReview-Commit-ID: G9aHbp0G7DK
Comment 2•7 years ago
|
||
Comment on attachment 8999391 [details]
Bug 1482613 - Make WebVR work with multiprocess enabled on Android
Randall Barker [:rbarker] has approved the revision.
Attachment #8999391 -
Flags: review+
Comment 3•7 years ago
|
||
Comment on attachment 8999391 [details]
Bug 1482613 - Make WebVR work with multiprocess enabled on Android
:kip (Kearwood Gilbert) has approved the revision.
Attachment #8999391 -
Flags: review+
Comment 4•7 years ago
|
||
status-firefox62=wontfix. We don't need to uplift this fix to GeckoView 62 Beta because FxR will ship with GeckoView 63.
status-firefox61:
--- → wontfix
status-firefox62:
--- → wontfix
status-firefox63:
--- → affected
status-firefox-esr52:
--- → wontfix
status-firefox-esr60:
--- → wontfix
Comment 5•7 years ago
|
||
Comment on attachment 8999391 [details]
Bug 1482613 - Make WebVR work with multiprocess enabled on Android
Dzmitry Malyshau [:kvark] has approved the revision.
Attachment #8999391 -
Flags: review+
Pushed by rbarker@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1eb34707779f
Make WebVR work with multiprocess enabled on Android r=kip,rbarker,kvark
Backout by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/df3b57bf9887
Backed out changeset 1eb34707779f for causing android crashes in test_vrDisplay_canvas2d.
Comment 8•7 years ago
|
||
Backed out changeset for causing android crashes in test_vrDisplay_canvas2d
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&filter-searchStr=Android%204.3%20API16%2B%20debug%20Mochitests%20test-android-em-4.3-arm7-api-16%2Fdebug-mochitest-38%20M(38)&tochange=df3b57bf9887c12c740cb7cab669cc4879f49040&fromchange=1eb34707779fdb6acecf803904abddb64593f57b&selectedJob=195604484
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=195604484&repo=autoland&lineNumber=1532
Backout link: https://hg.mozilla.org/integration/autoland/rev/df3b57bf9887c12c740cb7cab669cc4879f49040
[task 2018-08-23T20:10:14.805Z] 20:10:14 WARNING - PROCESS-CRASH | dom/vr/test/mochitest/test_vrDisplay_canvas2d.html | application crashed [@ mozilla::TimeStamp::operator-(mozilla::TimeStamp const&) const]
[task 2018-08-23T20:10:14.806Z] 20:10:14 INFO - Crash dump filename: /tmp/tmpgBvAHS/6b358bba-5b91-7eb6-5122-5f66fc949843.dmp
[task 2018-08-23T20:10:14.806Z] 20:10:14 INFO - Operating system: Android
[task 2018-08-23T20:10:14.807Z] 20:10:14 INFO - 0.0.0 Linux 2.6.29-gea477bb #1 Wed Sep 26 11:04:45 PDT 2012 armv7l
[task 2018-08-23T20:10:14.807Z] 20:10:14 INFO - CPU: arm
[task 2018-08-23T20:10:14.810Z] 20:10:14 INFO - ARMv7 ARM Cortex-A8 features: swp,half,thumb,fastmult,vfpv2,edsp,neon,vfpv3
[task 2018-08-23T20:10:14.810Z] 20:10:14 INFO - 1 CPU
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - GPU: UNKNOWN
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - Crash reason: SIGSEGV
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - Crash address: 0x0
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - Process uptime: not available
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - Thread 31 (crashed)
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - 0 libxul.so!mozilla::TimeStamp::operator-(mozilla::TimeStamp const&) const [TimeStamp.h:1eb34707779fdb6acecf803904abddb64593f57b : 0 + 0x6]
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - r0 = 0x00000000 r1 = 0x0a6015d3 r2 = 0x569c0e4e r3 = 0x000001f2
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - r4 = 0x000001f2 r5 = 0x00000000 r6 = 0x5d9c0ba0 r7 = 0x5d9c0ab8
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - r8 = 0x00000000 r9 = 0x00000000 r10 = 0x5d9c0ba8 r12 = 0x00000003
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - fp = 0x000000aa sp = 0x5d9c0aa0 lr = 0x534c5b91 pc = 0x534ca33e
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - Found by: given as instruction pointer in context
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - 1 libxul.so!mozilla::gfx::VRDisplayHost::StartFrame() [VRDisplayHost.cpp:1eb34707779fdb6acecf803904abddb64593f57b : 213 + 0x5]
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - r4 = 0x5faeb000 r5 = 0x00000000 r6 = 0x5d9c0ba0 r7 = 0x5d9c0bd8
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - r8 = 0x5fafb9d0 r9 = 0x00000001 r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - sp = 0x5d9c0ac0 lr = 0x53d9a181 pc = 0x53d9a181
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - 2 libxul.so!mozilla::gfx::VRManager::NotifyVRVsync(unsigned int const&) [VRManager.cpp:1eb34707779fdb6acecf803904abddb64593f57b : 310 + 0x3]
[task 2018-08-23T20:10:14.811Z] 20:10:14 INFO - r4 = 0x00000001 r5 = 0x5bb20cd8 r6 = 0x5d9c0be8 r7 = 0x5d9c0c08
[task 2018-08-23T20:10:14.812Z] 20:10:14 INFO - r8 = 0x5faeb008 r9 = 0x5beb59d0 r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.812Z] 20:10:14 INFO - sp = 0x5d9c0be0 lr = 0x53d9e45d pc = 0x53d9e45d
[task 2018-08-23T20:10:14.813Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.813Z] 20:10:14 INFO - 3 libxul.so!mozilla::gfx::VRDisplayHost::NotifyVSync() [VRDisplayHost.cpp:1eb34707779fdb6acecf803904abddb64593f57b : 283 + 0x3]
[task 2018-08-23T20:10:14.814Z] 20:10:14 INFO - r4 = 0x5faeb000 r5 = 0x5d9c0c3c r6 = 0x00000001 r7 = 0x5d9c0c30
[task 2018-08-23T20:10:14.814Z] 20:10:14 INFO - r8 = 0x52a018e0 r9 = 0x5d9c0e1c r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.814Z] 20:10:14 INFO - sp = 0x5d9c0c10 lr = 0x53d9a2a3 pc = 0x53d9a2a3
[task 2018-08-23T20:10:14.815Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.815Z] 20:10:14 INFO - 4 libxul.so!mozilla::gfx::VRSystemManager::NotifyVSync() [gfxVR.cpp:1eb34707779fdb6acecf803904abddb64593f57b : 51 + 0x3]
[task 2018-08-23T20:10:14.816Z] 20:10:14 INFO - r4 = 0x5fac1000 r5 = 0x5d9c0c3c r6 = 0x00000001 r7 = 0x5d9c0c58
[task 2018-08-23T20:10:14.816Z] 20:10:14 INFO - r8 = 0x52a018e0 r9 = 0x5d9c0e1c r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.816Z] 20:10:14 INFO - sp = 0x5d9c0c38 lr = 0x53d9f357 pc = 0x53d9f357
[task 2018-08-23T20:10:14.817Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.817Z] 20:10:14 INFO - 5 libxul.so!mozilla::gfx::VRSystemManagerPuppet::NotifyVSync() [gfxVRPuppet.cpp:1eb34707779fdb6acecf803904abddb64593f57b : 717 + 0x3]
[task 2018-08-23T20:10:14.817Z] 20:10:14 INFO - r4 = 0x5fac1000 r5 = 0x5d9c0c80 r6 = 0x00000001 r7 = 0x5d9c0c78
[task 2018-08-23T20:10:14.818Z] 20:10:14 INFO - r8 = 0x52a018e0 r9 = 0x5d9c0e1c r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.818Z] 20:10:14 INFO - sp = 0x5d9c0c60 lr = 0x53d9c103 pc = 0x53d9c103
[task 2018-08-23T20:10:14.819Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.819Z] 20:10:14 INFO - 6 libxul.so!mozilla::gfx::VRManager::NotifyVsync(mozilla::TimeStamp const&) [VRManager.cpp:1eb34707779fdb6acecf803904abddb64593f57b : 257 + 0x5]
[task 2018-08-23T20:10:14.819Z] 20:10:14 INFO - r4 = 0x5beb59d0 r5 = 0x5d9c0c80 r6 = 0x00000001 r7 = 0x5d9c0c98
[task 2018-08-23T20:10:14.820Z] 20:10:14 INFO - r8 = 0x52a018e0 r9 = 0x5d9c0e1c r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.820Z] 20:10:14 INFO - sp = 0x5d9c0c80 lr = 0x53d9e097 pc = 0x53d9e097
[task 2018-08-23T20:10:14.820Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.821Z] 20:10:14 INFO - 7 libxul.so!mozilla::layers::CompositorVsyncScheduler::DispatchVREvents(mozilla::TimeStamp) [CompositorVsyncScheduler.cpp:1eb34707779fdb6acecf803904abddb64593f57b : 334 + 0x3]
[task 2018-08-23T20:10:14.821Z] 20:10:14 INFO - r4 = 0x5bec0b60 r5 = 0x5bec0b00 r6 = 0x5d9c0cc4 r7 = 0x5d9c0cb0
[task 2018-08-23T20:10:14.822Z] 20:10:14 INFO - r8 = 0x52a018e0 r9 = 0x5d9c0e1c r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.822Z] 20:10:14 INFO - sp = 0x5d9c0ca0 lr = 0x53d3242b pc = 0x53d3242b
[task 2018-08-23T20:10:14.823Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.823Z] 20:10:14 INFO - 8 libxul.so!mozilla::detail::RunnableMethodImpl<RefPtr<mozilla::AudioTrackEncoder>, void (mozilla::AudioTrackEncoder::*)(long long), true, (mozilla::RunnableKind)0, long long>::Run() [nsThreadUtils.h:1eb34707779fdb6acecf803904abddb64593f57b : 1174 + 0x3]
[task 2018-08-23T20:10:14.823Z] 20:10:14 INFO - r2 = 0x5e68238b r3 = 0x00000087 r4 = 0x5d9c0e10 r5 = 0x5d9c0cf4
[task 2018-08-23T20:10:14.824Z] 20:10:14 INFO - r6 = 0x5d9c0cc4 r7 = 0x5d9c0cb8 r8 = 0x52a018e0 r9 = 0x5d9c0e1c
[task 2018-08-23T20:10:14.824Z] 20:10:14 INFO - r10 = 0x5d9c0d18 fp = 0x000000aa sp = 0x5d9c0cb8 lr = 0x53ade815
[task 2018-08-23T20:10:14.825Z] 20:10:14 INFO - pc = 0x53ade815
[task 2018-08-23T20:10:14.825Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.825Z] 20:10:14 INFO - 9 libxul.so!MessageLoop::RunTask(already_AddRefed<nsIRunnable>) [message_loop.cc:1eb34707779fdb6acecf803904abddb64593f57b : 451 + 0x5]
[task 2018-08-23T20:10:14.826Z] 20:10:14 INFO - r4 = 0x5d9c0e10 r5 = 0x5d9c0cf4 r6 = 0x5d9c0cc4 r7 = 0x5d9c0ce8
[task 2018-08-23T20:10:14.826Z] 20:10:14 INFO - r8 = 0x52a018e0 r9 = 0x5d9c0e1c r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.827Z] 20:10:14 INFO - sp = 0x5d9c0cc0 lr = 0x53842d81 pc = 0x53842d81
[task 2018-08-23T20:10:14.827Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.827Z] 20:10:14 INFO - 10 libxul.so!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask&&) [message_loop.cc:1eb34707779fdb6acecf803904abddb64593f57b : 459 + 0x7]
[task 2018-08-23T20:10:14.828Z] 20:10:14 INFO - r4 = 0x5d9c0e10 r5 = 0x5d9c0cf4 r6 = 0x5d9c0d10 r7 = 0x5d9c0d00
[task 2018-08-23T20:10:14.828Z] 20:10:14 INFO - r8 = 0x52a018e0 r9 = 0x5d9c0e1c r10 = 0x5d9c0d18 fp = 0x000000aa
[task 2018-08-23T20:10:14.829Z] 20:10:14 INFO - sp = 0x5d9c0cf0 lr = 0x53843079 pc = 0x53843079
[task 2018-08-23T20:10:14.829Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.829Z] 20:10:14 INFO - 11 libxul.so!MessageLoop::DoWork() [message_loop.cc:1eb34707779fdb6acecf803904abddb64593f57b : 534 + 0x7]
[task 2018-08-23T20:10:14.830Z] 20:10:14 INFO - r2 = 0x0000001a r3 = 0x00000000 r4 = 0x5d9c0e10 r5 = 0x0000002e
[task 2018-08-23T20:10:14.830Z] 20:10:14 INFO - r6 = 0x5d9c0d10 r7 = 0x5d9c0d48 r8 = 0x52a018e0 r9 = 0x5d9c0e1c
[task 2018-08-23T20:10:14.831Z] 20:10:14 INFO - r10 = 0x5d9c0d18 fp = 0x000000aa sp = 0x5d9c0d08 lr = 0x53843185
[task 2018-08-23T20:10:14.831Z] 20:10:14 INFO - pc = 0x53843185
[task 2018-08-23T20:10:14.831Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.832Z] 20:10:14 INFO - 12 libxul.so!base::MessagePumpDefault::Run(base::MessagePump::Delegate*) [message_pump_default.cc:1eb34707779fdb6acecf803904abddb64593f57b : 38 + 0x7]
[task 2018-08-23T20:10:14.832Z] 20:10:14 INFO - r4 = 0x5c9ab1a0 r5 = 0x5d9c0e10 r6 = 0x5c9ab1b0 r7 = 0x5d9c0db8
[task 2018-08-23T20:10:14.833Z] 20:10:14 INFO - r8 = 0x5d9c0d68 r9 = 0x5d9c0d80 r10 = 0x5d9c0d64 fp = 0x5d9c0d78
[task 2018-08-23T20:10:14.833Z] 20:10:14 INFO - sp = 0x5d9c0d50 lr = 0x538438e5 pc = 0x538438e5
[task 2018-08-23T20:10:14.833Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.834Z] 20:10:14 INFO - 13 libxul.so!MessageLoop::RunInternal() [message_loop.cc:1eb34707779fdb6acecf803904abddb64593f57b : 325 + 0x7]
[task 2018-08-23T20:10:14.834Z] 20:10:14 INFO - r4 = 0x5d9c0e10 r5 = 0x5c9ab0f4 r6 = 0x00000000 r7 = 0x5d9c0dd8
[task 2018-08-23T20:10:14.834Z] 20:10:14 INFO - r8 = 0x5d9c0e10 r9 = 0x5d981000 r10 = 0x5d9c0f00 fp = 0x2a292df8
[task 2018-08-23T20:10:14.835Z] 20:10:14 INFO - sp = 0x5d9c0dc0 lr = 0x53842c79 pc = 0x53842c79
[task 2018-08-23T20:10:14.835Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.836Z] 20:10:14 INFO - 14 libxul.so!MessageLoop::Run() [message_loop.cc:1eb34707779fdb6acecf803904abddb64593f57b : 318 + 0x5]
[task 2018-08-23T20:10:14.836Z] 20:10:14 INFO - r0 = 0x5d9c0e10 r1 = 0x00000000 r2 = 0x00000001 r3 = 0x00000000
[task 2018-08-23T20:10:14.836Z] 20:10:14 INFO - r4 = 0x5d9c0e10 r5 = 0x5c9ab0f4 r6 = 0x00000000 r7 = 0x5d9c0df8
[task 2018-08-23T20:10:14.837Z] 20:10:14 INFO - r8 = 0x5d9c0e10 r9 = 0x5d981000 r10 = 0x5d9c0f00 fp = 0x2a292df8
[task 2018-08-23T20:10:14.837Z] 20:10:14 INFO - sp = 0x5d9c0de0 lr = 0x53842c25 pc = 0x53842c25
[task 2018-08-23T20:10:14.838Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.838Z] 20:10:14 INFO - 15 libxul.so!base::Thread::ThreadMain() [thread.cc:1eb34707779fdb6acecf803904abddb64593f57b : 181 + 0x5]
[task 2018-08-23T20:10:14.838Z] 20:10:14 INFO - r0 = 0x00000001 r1 = 0x00000000 r2 = 0x5d9c0e10 r3 = 0x00000000
[task 2018-08-23T20:10:14.839Z] 20:10:14 INFO - r4 = 0x5c9ab0e0 r5 = 0x5c9ab0f4 r6 = 0x00000000 r7 = 0x5d9c0ed0
[task 2018-08-23T20:10:14.840Z] 20:10:14 INFO - r8 = 0x5d9c0e10 r9 = 0x5d981000 r10 = 0x5d9c0f00 fp = 0x2a292df8
[task 2018-08-23T20:10:14.840Z] 20:10:14 INFO - sp = 0x5d9c0e00 lr = 0x5384d7af pc = 0x5384d7af
[task 2018-08-23T20:10:14.840Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.841Z] 20:10:14 INFO - 16 libxul.so!ThreadFunc(void*) [platform_thread_posix.cc:1eb34707779fdb6acecf803904abddb64593f57b : 44 + 0x7]
[task 2018-08-23T20:10:14.841Z] 20:10:14 INFO - r4 = 0x5c9ab0e0 r5 = 0x2a292df8 r6 = 0x538466a5 r7 = 0x5d9c0ee0
[task 2018-08-23T20:10:14.841Z] 20:10:14 INFO - r8 = 0x5c9ab0e8 r9 = 0x5d981000 r10 = 0x5d9c0f00 fp = 0x2a292df8
[task 2018-08-23T20:10:14.841Z] 20:10:14 INFO - sp = 0x5d9c0ed8 lr = 0x538466b7 pc = 0x538466b7
[task 2018-08-23T20:10:14.841Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.842Z] 20:10:14 INFO - 17 libc.so + 0xca5a
[task 2018-08-23T20:10:14.842Z] 20:10:14 INFO - r4 = 0x5d9c0f00 r5 = 0x2a292df8 r6 = 0x538466a5 r7 = 0x5c9ab0e0
[task 2018-08-23T20:10:14.842Z] 20:10:14 INFO - r8 = 0x5c9ab0e8 r9 = 0x5d981000 r10 = 0x5d9c0f00 fp = 0x2a292df8
[task 2018-08-23T20:10:14.843Z] 20:10:14 INFO - sp = 0x5d9c0ee8 lr = 0x40033a5c pc = 0x40033a5c
[task 2018-08-23T20:10:14.843Z] 20:10:14 INFO - Found by: call frame info
[task 2018-08-23T20:10:14.843Z] 20:10:14 INFO - 18 libc.so + 0xcbd6
[task 2018-08-23T20:10:14.844Z] 20:10:14 INFO - sp = 0x5d9c0f00 pc = 0x40033bd8
[task 2018-08-23T20:10:14.844Z] 20:10:14 INFO - Found by: stack scanning
Flags: needinfo?(imanol)
Pushed by rbarker@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a17e0db21cae
Make WebVR work with multiprocess enabled on Android r=kip,rbarker,kvark
Comment 10•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Assignee | ||
Updated•7 years ago
|
Flags: needinfo?(imanol)
You need to log in
before you can comment on or make changes to this bug.
Description
•