Closed Bug 1025968 Opened 6 years ago Closed 4 years ago

Crash in mozilla::gl::GLContextEGL::SwapBuffers() during Android 2.3 robocop tests

Categories

(Firefox for Android :: Testing, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: gbrown, Assigned: gbrown)

References

Details

This crash is noted in a few different bugs currently. I want a new bug to clarify which tests fail for this reason.


Here's a sample: A crash on shutdown following testInputConnection (but this is not always on shutdown, and affects several tests):

https://tbpl.mozilla.org/php/getParsedLog.php?id=41795166&tree=Try&full=1#error0

08:25:37     INFO -  71 INFO TEST-END | testInputConnection | finished in 27643ms
08:25:37     INFO -  72 INFO TEST-START | Shutdown
08:25:37     INFO -  73 INFO Passed: 69
08:25:37     INFO -  74 INFO Failed: 0
08:25:37     INFO -  75 INFO Todo: 0
08:25:37     INFO -  76 INFO SimpleTest FINISHED
08:25:37     INFO -  INFO | automation.py | Application ran for: 0:00:32.391246
08:25:37     INFO -  INFO | zombiecheck | Reading PID log: /tmp/tmp4tShDYpidlog
08:25:37     INFO -  /data/anr/traces.txt not found
08:25:37     INFO -  mozcrash INFO | Downloading symbols from: https://ftp-ssl.mozilla.org/pub/mozilla.org/firefox/try-builds/gbrown@mozilla.com-06e1c01790b5/try-android/fennec-33.0a1.en-US.android-arm.crashreporter-symbols.zip
08:25:37  WARNING -  PROCESS-CRASH | Shutdown | application crashed [@ libui.so + 0x1befe]
08:25:37     INFO -  Crash dump filename: /tmp/tmpYTBpV_/7e84623c-09b5-88d4-65e720b2-5e30e215.dmp
08:25:37     INFO -  Operating system: Android
08:25:37     INFO -                    0.0.0 Linux 2.6.29-ge3d684d #1 Mon Dec 16 22:26:51 UTC 2013 armv7l generic/sdk/generic:2.3.7/GINGERBREAD/eng.ubuntu.20140123.014351:eng/test-keys
08:25:37     INFO -  CPU: arm
08:25:37     INFO -       0 CPUs
08:25:37     INFO -  
08:25:37     INFO -  Crash reason:  SIGSEGV
08:25:37     INFO -  Crash address: 0x200
08:25:37     INFO -  
08:25:37     INFO -  Thread 39 (crashed)
08:25:37     INFO -   0  libui.so + 0x1befe
08:25:37     INFO -       r4 = 0x0021ede8    r5 = 0x00000200    r6 = 0x00000001    r7 = 0xffffffed
08:25:37     INFO -       r8 = 0x00000000    r9 = 0x00000000   r10 = 0x00000200    fp = 0x00000002
08:25:37     INFO -       sp = 0x536ffa50    lr = 0xac712083    pc = 0xab91befe
08:25:37     INFO -      Found by: given as instruction pointer in context
08:25:37     INFO -   1  libsurfaceflinger_client.so + 0x12081
08:25:37     INFO -       sp = 0x536ffa68    pc = 0xac712083
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   2  libsurfaceflinger_client.so + 0x12847
08:25:37     INFO -       sp = 0x536ffab0    pc = 0xac712849
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   3  libsurfaceflinger_client.so + 0xffff
08:25:37     INFO -       sp = 0x536ffac8    pc = 0xac710001
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   4  libsurfaceflinger_client.so + 0x12b89
08:25:37     INFO -       sp = 0x536ffb00    pc = 0xac712b8b
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   5  libEGL_emulation.so + 0x6d89
08:25:37     INFO -       sp = 0x536ffb08    pc = 0x80406d8b
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   6  libEGL_emulation.so + 0x6d03
08:25:37     INFO -       sp = 0x536ffb10    pc = 0x80406d05
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   7  libEGL_emulation.so + 0xc746
08:25:37     INFO -       sp = 0x536ffb14    pc = 0x8040c748
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   8  libEGL_emulation.so + 0xc746
08:25:37     INFO -       sp = 0x536ffb24    pc = 0x8040c748
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -   9  libEGL_emulation.so + 0x71f9
08:25:37     INFO -       sp = 0x536ffb28    pc = 0x804071fb
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -  10  libEGL.so + 0x3767
08:25:37     INFO -       sp = 0x536ffb34    pc = 0xabe03769
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -  11  libEGL.so + 0x37b7
08:25:37     INFO -       sp = 0x536ffb50    pc = 0xabe037b9
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -  12  libEGL.so + 0x3767
08:25:37     INFO -       sp = 0x536ffb5c    pc = 0xabe03769
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -  13  libxul.so!mozilla::gl::GLContextEGL::SwapBuffers() [GLLibraryEGL.h:06e1c01790b5 : 284 + 0xb]
08:25:37     INFO -       sp = 0x536ffb68    pc = 0x4de004f5
08:25:37     INFO -      Found by: stack scanning
08:25:37     INFO -  14  libxul.so!mozilla::layers::CompositorOGL::EndFrame() [CompositorOGL.cpp:06e1c01790b5 : 1317 + 0x5]
08:25:37     INFO -       sp = 0x536ffb70    pc = 0x4de62bd7
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  15  libxul.so!mozilla::layers::LayerManagerComposite::Render() [LayerManagerComposite.cpp:06e1c01790b5 : 475 + 0x5]
08:25:37     INFO -       r4 = 0x536ffc00    r5 = 0x536ffbcc    sp = 0x536ffb90    pc = 0x4de5b56b
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  16  libxul.so!mozilla::layers::LayerManagerComposite::EndTransaction(void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, mozilla::layers::DrawRegionClip, nsIntRegion const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) [LayerManagerComposite.cpp:06e1c01790b5 : 248 + 0x5]
08:25:37     INFO -       r4 = 0x55241a80    r5 = 0x57409400    r6 = 0x4de49b39    r7 = 0x4de368db
08:25:37     INFO -       r8 = 0x00000000    r9 = 0x52ed1190    sp = 0x536ffc50    pc = 0x4de5b6df
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  17  libxul.so!mozilla::layers::LayerManagerComposite::EndEmptyTransaction(mozilla::layers::LayerManager::EndTransactionFlags) [LayerManagerComposite.cpp:06e1c01790b5 : 198 + 0xb]
08:25:37     INFO -       r4 = 0x4de5b67d    r5 = 0x0000011c    r6 = 0x551ee800    r7 = 0x00000000
08:25:37     INFO -       r8 = 0x00000000    r9 = 0x52ed1190    sp = 0x536ffcb0    pc = 0x4de52cb1
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  18  libxul.so!mozilla::layers::CompositorParent::CompositeToTarget(mozilla::gfx::DrawTarget*, nsIntRect const*) [CompositorParent.cpp:06e1c01790b5 : 639 + 0x5]
08:25:37     INFO -       r4 = 0xbabdff80    r5 = 0x0000011c    r6 = 0x551ee800    r7 = 0x00000000
08:25:37     INFO -       r8 = 0x00000000    r9 = 0x52ed1190    sp = 0x536ffcb8    pc = 0x4de67639
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  19  libxul.so!mozilla::layers::CompositorParent::ResumeComposition() [CompositorParent.cpp:06e1c01790b5 : 415 + 0x5]
08:25:37     INFO -       r4 = 0x536ffd24    r5 = 0x551ee800    r6 = 0x55143af0    r7 = 0x536ffe04
08:25:37     INFO -       r8 = 0x4ec86f0f    r9 = 0x52ed1190    sp = 0x536ffd20    pc = 0x4de6776d
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  20  libxul.so!RunnableMethod<mozilla::ipc::MessageChannel, void (mozilla::ipc::MessageChannel::*)(mozilla::ipc::MessageChannel*, mozilla::ipc::Side), Tuple2<mozilla::ipc::MessageChannel*, mozilla::ipc::Side> >::Run() [tuple.h:06e1c01790b5 : 400 + 0x17]
08:25:37     INFO -       r4 = 0x4de67785    r5 = 0x536ffdf8    r6 = 0x55143af0    r7 = 0x536ffe04
08:25:37     INFO -       r8 = 0x4ec86f0f    r9 = 0x52ed1190    sp = 0x536ffd38    pc = 0x4dc3d1d7
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  21  libxul.so!MessageLoop::RunTask(Task*) [message_loop.cc:06e1c01790b5 : 357 + 0x5]
08:25:37     INFO -       r4 = 0x573fefe0    r5 = 0x536ffdf8    r6 = 0x55143af0    r7 = 0x536ffe04
08:25:37     INFO -       r8 = 0x4ec86f0f    r9 = 0x52ed1190    sp = 0x536ffd48    pc = 0x4dc34b3d
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  22  libxul.so!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) [message_loop.cc:06e1c01790b5 : 365 + 0x5]
08:25:37     INFO -       r4 = 0x00000001    r5 = 0x536ffd78    r6 = 0x55143af0    r7 = 0x536ffe04
08:25:37     INFO -       r8 = 0x4ec86f0f    r9 = 0x52ed1190    sp = 0x536ffd58    pc = 0x4dc36c31
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  23  libxul.so!MessageLoop::DoWork() [message_loop.cc:06e1c01790b5 : 443 + 0x3]
08:25:37     INFO -       r4 = 0x536ffdf8    r5 = 0x536ffd78    r6 = 0x55143af0    r7 = 0x536ffe04
08:25:37     INFO -       r8 = 0x4ec86f0f    r9 = 0x52ed1190    sp = 0x536ffd68    pc = 0x4dc387cf
08:25:37     INFO -      Found by: call frame info
08:25:37     INFO -  24  libxul.so!base::MessagePumpDefault::Run(base::MessagePump::Delegate*) [message_pump_default.cc:06e1c01790b5 : 34 + 0x7]
08:25:37     INFO -       r4 = 0x531dbaa0    r5 = 0x536ffdf8    r6 = 0x00000000    r7 = 0x4ec86f0f
08:25:37     INFO -       r8 = 0x4ec86f0f    r9 = 0x52ed1190    sp = 0x536ffd98    pc = 0x4dc34fe7
08:25:37     INFO -      Found by: call frame info
Blocks: 979921
Blocks: 979603
Blocks: 975187
Blocks: 979615
Blocks: 1030072
Blocks: 1090206
Blocks: 1088027
Blocks: 1088023
Blocks: 1087221
Blocks: 1073374
Blocks: 1063509
This bug seems to be the root cause to many of our Android 2.3 (emulator) failures on Test Infra. I think snorp has looked at this a bit.

What is our current assessment of the problem? Do we have any ideas to try? Is this a life cycle issue? It seems to happen on shutdown, but what kind of shutdown? Do we attempt a hard kill?
Flags: needinfo?(snorp)
Flags: needinfo?(rnewman)
Folks run into this kind of thing:

http://www.ogre3d.org/forums/viewtopic.php?f=21&t=79898
https://www.libreoffice.org/bugzilla/show_bug.cgi?id=75797

My entirely uneducated guess is that we're swapping buffers when we don't have a surface yet. But I really don't know what I'm talking about in this area.
Flags: needinfo?(rnewman)
Seems unlikely that we'd try to swap on a null (or garbage) surface, but I dunno. Geoff how does the harness try to do shutdown?
Flags: needinfo?(snorp) → needinfo?(gbrown)
Ah. I think that's the same way we quit mochitest and reftests, so wth?
Android 2.3 is not supported in Firefox 48+.
Assignee: nobody → gbrown
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.