Open Bug 1558285 Opened 6 months ago Updated 5 months ago

Running bug1228601-video-rotated.html as part of GV reftests causes crashes in later tests because the GL context disappears

Categories

(GeckoView :: General, defect, P3)

Unspecified
Android
defect

Tracking

(firefox69 fix-optional)

Tracking Status
firefox69 --- fix-optional

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure, regression)

I skipped the entire editor/ folder and the crash still happened on a test in the layout/reftests/display-list folder. So probably there's something previous to this that's setting up a fault somewhere and then it gets triggered randomly by a later test.

Also for reference here's the top bit of the stack:

[task 2019-06-07T21:04:04.783Z] 21:04:04     INFO -  CPU: amd64
[task 2019-06-07T21:04:04.783Z] 21:04:04     INFO -       family 6 model 2 stepping 3
[task 2019-06-07T21:04:04.783Z] 21:04:04     INFO -       1 CPU
[task 2019-06-07T21:04:04.783Z] 21:04:04     INFO -  GPU: UNKNOWN
[task 2019-06-07T21:04:04.784Z] 21:04:04     INFO -  Crash reason:  SIGSEGV /SEGV_MAPERR
[task 2019-06-07T21:04:04.784Z] 21:04:04     INFO -  Crash address: 0x0
[task 2019-06-07T21:04:04.784Z] 21:04:04     INFO -  Process uptime: not available
[task 2019-06-07T21:04:04.784Z] 21:04:04     INFO -  Thread 30 (crashed)
[task 2019-06-07T21:04:04.784Z] 21:04:04     INFO -   0  libxul.so!mozilla::gl::GLContext::BeforeGLCall(char const*) const [GLContext.h:b41e9f13f604e16743c7f451c0a4700323338669 : 665 + 0x29]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rax = 0x00007d5146e1e90f   rdx = 0x0000000000000004
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rcx = 0x00007d514a24da88   rbx = 0x00007d513866b000
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsi = 0x00007d5138cfe440   rdi = 0x000000000000001b
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbp = 0x00007d5138cfeb10   rsp = 0x00007d5138cfeaf0
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -       r8 = 0x0000000000000000    r9 = 0x00007d51669ce090
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r10 = 0x0000000000000022   r11 = 0x0000000000000246
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r12 = 0x0000000000000303   r13 = 0x0000000000000001
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r14 = 0x00007d5146e362ef   r15 = 0x0000000000000001
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rip = 0x00007d51429d95c6
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      Found by: given as instruction pointer in context
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -   1  libxul.so!mozilla::gl::GLContext::fBlendFuncSeparate(unsigned int, unsigned int, unsigned int, unsigned int) [GLContext.h:b41e9f13f604e16743c7f451c0a4700323338669 : 847 + 0x24]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbx = 0x00007d513866b000   rbp = 0x00007d5138cfeb70
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsp = 0x00007d5138cfeb20   r12 = 0x0000000000000303
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r13 = 0x0000000000000001   r14 = 0x00007d5138cfeb28
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r15 = 0x0000000000000001   rip = 0x00007d5142a2b4bc
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      Found by: call frame info
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -   2  libxul.so!mozilla::layers::CompositorOGL::BeginFrame(mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits>*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits>*) [CompositorOGL.cpp:b41e9f13f604e16743c7f451c0a4700323338669 : 792 + 0x20]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbx = 0x00007d513861d820   rbp = 0x00007d5138cfebf0
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsp = 0x00007d5138cfeb80   r12 = 0x0000000000000320
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r13 = 0x00007d513861d760   r14 = 0x0000000000000470
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r15 = 0x00007d5138cfec80   rip = 0x00007d5142a2cc89
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      Found by: call frame info
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -   3  libxul.so!mozilla::layers::LayerManagerComposite::Render(mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&) [LayerManagerComposite.cpp:b41e9f13f604e16743c7f451c0a4700323338669 : 970 + 0x32]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbx = 0x00007d5138cfec80   rbp = 0x00007d5138cfeda0
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsp = 0x00007d5138cfec00   r12 = 0x00007d5138cfee20
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r13 = 0x00007d5139b02430   r14 = 0x00007d5139b02588
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r15 = 0x00007d5138cfede0   rip = 0x00007d5142b07f17
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      Found by: call frame info
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -   4  libxul.so!mozilla::layers::LayerManagerComposite::UpdateAndRender() [LayerManagerComposite.cpp:b41e9f13f604e16743c7f451c0a4700323338669 : 598 + 0xb]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbx = 0x00007d5139b02430   rbp = 0x00007d5138cfee60
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsp = 0x00007d5138cfedb0   r12 = 0x00007d5138cfedc8
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r13 = 0x00007d5138d63000   r14 = 0x00007d5138cfee20
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r15 = 0x00007d5139b02468   rip = 0x00007d5142b079e9
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      Found by: call frame info
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -   5  libxul.so!mozilla::layers::LayerManagerComposite::EndTransaction(mozilla::TimeStamp const&, mozilla::layers::LayerManager::EndTransactionFlags) [LayerManagerComposite.cpp:b41e9f13f604e16743c7f451c0a4700323338669 : 521 + 0x8]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbx = 0x00007d5139b02430   rbp = 0x00007d5138cfee90
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsp = 0x00007d5138cfee70   r12 = 0x0000000000000000
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r13 = 0x00007d5138d63000   r14 = 0x00007d5138cfeec8
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r15 = 0x0000000000000000   rip = 0x00007d5142b0772f
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      Found by: call frame info
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -   6  libxul.so!mozilla::layers::CompositorBridgeParent::CompositeToTarget(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::gfx::DrawTarget*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const*) [CompositorBridgeParent.cpp:b41e9f13f604e16743c7f451c0a4700323338669 : 1012 + 0x1d]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbx = 0x000001d027fa75c4   rbp = 0x00007d5138cfef80
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsp = 0x00007d5138cfeea0   r12 = 0x00007d5138d63190
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r13 = 0x00007d5138d63000   r14 = 0x0000000000000000
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r15 = 0x00007d5138d63180   rip = 0x00007d5142b21f75
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      Found by: call frame info
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -   7  libxul.so!mozilla::layers::CompositorVsyncScheduler::Composite(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [CompositorVsyncScheduler.cpp:b41e9f13f604e16743c7f451c0a4700323338669 : 249 + 0x11]
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rbx = 0x00007d5139b622c0   rbp = 0x00007d5138cfefd0
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      rsp = 0x00007d5138cfef90   r12 = 0x00007d5139b62318
[task 2019-06-07T21:04:04.788Z] 21:04:04     INFO -      r13 = 0x00007d5138cff088   r14 = 0x000000000000d82d
[task 2019-06-07T21:04:04.789Z] 21:04:04     INFO -      r15 = 0x00007d5138cfefa0   rip = 0x00007d5142b29903
[task 2019-06-07T21:04:04.789Z] 21:04:04     INFO -      Found by: call frame info

And the logcat around the failure:

[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.930 I/Gecko   ( 2395): REFTEST TEST-LOAD | http://10.0.2.2:8854/tests/editor/reftests/388980-1.html | 2844 / 3068 (92%)
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.930 I/Gecko   ( 2395):
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.930 I/Gecko   ( 2395): {"action":"log","time":1559941395930,"thread":null,"pid":null,"source":"reftest","level":"DEBUG","message":"START http://10.0.2.2:8854/tests/editor/reftests/388980-1.html"}
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.940 E/BufferQueueProducer( 2453): [SurfaceTexture-0-2453-3] cancelBuffer: BufferQueue has been abandoned
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.940 E/BufferQueueProducer( 2453): [SurfaceTexture-0-2453-1] cancelBuffer: BufferQueue has been abandoned
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.940 I/Gecko   ( 2395): Destroying context 0x7d514ad77e00 surface 0x0 on display 0x1
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.940 E/libEGL  ( 2395): call to OpenGL ES API with no current context (logged once per thread)
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.940 F/MOZ_Assert( 2395): Assertion failure: (IsCurrentImpl()) || mozilla::gl::CheckContextLost(this), at /builds/worker/workspace/build/src/gfx/gl/GLContext.h:665
[task 2019-06-07T21:04:07.242Z] 21:04:07     INFO -  06-07 22:03:15.940 W/google-breakpad( 2395): ExceptionHandler::GenerateDump cloned child
[task 2019-06-07T21:04:07.243Z] 21:04:07     INFO -  06-07 22:03:15.940 W/google-breakpad( 2395): 2862

Here's the parts that I find suspicious and are appearing before all the failures:

I/Gecko   ( 2453): --DOMWINDOW == 154 (0x7d5136f7f000) [pid = 2453] [serial = 6910] [outer = 0x0] [url = http://10.0.2.2:8854/tests/dom/html/reftests/bug1228601-video-rotated-ref.html]
...
E/ResourceManagerService( 1049): Rejected removeResource call with invalid pid.
E/ResourceManagerService( 1049): Rejected removeResource call with invalid pid.
E/ResourceManagerService( 1049): Rejected removeResource call with invalid pid.
E/ResourceManagerService( 1049): Rejected removeResource call with invalid pid.
E/ResourceManagerService( 1049): Rejected removeResource call with invalid pid.
E/ResourceManagerService( 1049): Rejected removeResource call with invalid pid.
...
I/GeckoMediaManager( 2823): Media service has been unbound. Stopping.
...
E/BufferQueueProducer( 2453): [SurfaceTexture-0-2453-3] cancelBuffer: BufferQueue has been abandoned
E/BufferQueueProducer( 2453): [SurfaceTexture-0-2453-1] cancelBuffer: BufferQueue has been abandoned
I/Gecko   ( 2395): Destroying context 0x7d514ad77e00 surface 0x0 on display 0x1
E/libEGL  ( 2395): call to OpenGL ES API with no current context (logged once per thread)
F/MOZ_Assert( 2395): Assertion failure: (IsCurrentImpl()) || mozilla::gl::CheckContextLost(this), at /builds/worker/workspace/build/src/gfx/gl/GLContext.h:665

We've had weird behaviour with that bug1228601-video-rotated page before so I wouldn't surprised if that was the problem here. I'm doing try pushes with that test disabled to verify.

Indeed, disabling bug1228601-video-rotated.html made the crash go away. I think this is probably a GV bug, given that the GeckoMediaManager class is involved.

Component: Graphics → General
Priority: P5 → --
Product: Core → GeckoView
Summary: Intermittent 06-07 22:03:15.940 F/MOZ_Assert( 2395): Assertion failure: (IsCurrentImpl()) || mozilla::gl::CheckContextLost(this), at /builds/worker/workspace/build/src/gfx/gl/GLContext.h:665 → Running bug1228601-video-rotated.html as part of GV reftests causes crashes in later tests because the GL context disappears
OS: Unspecified → Android
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.