Closed
Bug 1021816
Opened 11 years ago
Closed 11 years ago
Intermittent Android 2.3 hang with no stack/summary during test_webgl_conformance_test_suite.html | [conformance/rendering/draw-arrays-out-of-bounds.html]
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: emorley, Unassigned)
Details
(Keywords: crash, intermittent-failure)
Android 2.3 Emulator on ix mozilla-inbound opt test mochitest-gl on 2014-06-06 06:04:13 PDT for push d15632d88126
slave: talos-linux64-ix-054
https://tbpl.mozilla.org/php/getParsedLog.php?id=41205840&tree=Mozilla-Inbound
{
06:16:10 INFO - 5101 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/framebuffer-test.html] All 25 test(s) passed
06:16:10 INFO - 5102 INFO TEST-INFO | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] (WebGL mochitest) Starting test page
06:16:10 INFO - 5103 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - internal buffers have been initialized to 0
06:16:10 INFO - 5104 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - getError was expected value: NO_ERROR : should be no error after renderbufferStorage(internalformat = RGBA4).
06:16:10 INFO - 5105 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - user buffers have been initialized to 0
06:16:10 INFO - 5106 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - internal buffers have been initialized to 0
06:16:10 INFO - 5107 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - getError was expected value: NO_ERROR : should be no error after renderbufferStorage(internalformat = RGBA4).
06:16:10 INFO - 5108 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - user buffers have been initialized to 0
06:16:10 INFO - 5109 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - internal buffers have been initialized to 0
06:16:10 INFO - 5110 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - getError was expected value: NO_ERROR : should be no error after renderbufferStorage(internalformat = RGBA4).
06:16:10 INFO - 5111 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - user buffers have been initialized to 0
06:16:10 INFO - 5112 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - internal buffers have been initialized to 0
06:16:10 INFO - 5113 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - getError was expected value: NO_ERROR : should be no error after renderbufferStorage(internalformat = RGBA4).
06:16:10 INFO - 5114 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - user buffers have been initialized to 0
06:16:10 INFO - 5115 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - clearColor is [0, 1, 0, 1]
06:16:10 INFO - 5116 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] Test passed - getError was expected value: NO_ERROR : should be no errors
06:16:10 INFO - 5117 INFO TEST-PASS | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/renderbuffers/renderbuffer-initialization.html] All 14 test(s) passed
06:16:10 INFO - 5118 INFO TEST-INFO | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/rendering/draw-arrays-out-of-bounds.html] (WebGL mochitest) Starting test page
06:16:10 INFO - INFO | automation.py | Application ran for: 0:07:06.944606
06:16:10 INFO - INFO | zombiecheck | Reading PID log: /tmp/tmpEwBcO8pidlog
06:16:10 INFO - /data/anr/traces.txt not found
06:16:10 INFO - Stopping web server
06:16:10 INFO - Stopping web socket server
06:16:10 INFO - Stopping ssltunnel
06:16:10 INFO - WARNING | leakcheck | refcount logging is off, so leaks can't be detected!
06:16:10 INFO - runtests.py | Running tests: end.
}
Logcat:
{
06:16:10 INFO - 06-06 06:14:49.676 I/GeckoDump( 562): 5118 INFO TEST-INFO | /tests/content/canvas/test/webgl-conformance/test_webgl_conformance_test_suite.html | [conformance/rendering/draw-arrays-out-of-bounds.html] (WebGL mochitest) Starting test page
06:16:10 INFO - 06-06 06:14:50.027 D/Zygote ( 36): Process 562 terminated by signal (11)
06:16:10 INFO - 06-06 06:14:50.037 E/InputDispatcher( 65): channel '4081bd60 org.mozilla.fennec/org.mozilla.fennec.App (server)' ~ Consumer closed input channel or an error occurred. events=0x8
06:16:10 INFO - 06-06 06:14:50.037 E/InputDispatcher( 65): channel '4081bd60 org.mozilla.fennec/org.mozilla.fennec.App (server)' ~ Channel is unrecoverably broken and will be disposed!
06:16:10 INFO - 06-06 06:14:50.037 I/WindowManager( 65): WINDOW DIED Window{4081bd60 org.mozilla.fennec/org.mozilla.fennec.App paused=false}
06:16:10 INFO - 06-06 06:14:50.077 E/JavaBinder( 65): !!! FAILED BINDER TRANSACTION !!!
06:16:10 INFO - 06-06 06:14:50.107 I/ActivityManager( 65): Process org.mozilla.fennec (pid 562) has died.
06:16:10 INFO - 06-06 06:14:50.117 I/WindowManager( 65): WIN DEATH: Window{40717e88 SurfaceView paused=false}
}
Emulator log:
{
...
06:16:10 INFO - emulator: sent '0012host:emulator:5555' to ADB server
06:16:10 INFO - emulator: ping program: /tools/android-sdk18/tools/ddms
06:16:10 INFO - emulator: ping command: /tools/android-sdk18/tools/ddms ping emulator 22.0.5.0 "NVIDIA Corporation" "GeForce GT 610/PCIe/SSE2" "4.3.0 NVIDIA 310.32"
06:16:10 INFO - goldfish_fb_get_pixel_format:167: display surface,pixel format:
06:16:10 INFO - bits/pixel: 16
06:16:10 INFO - bytes/pixel: 2
06:16:10 INFO - depth: 16
06:16:10 INFO - red: bits=5 mask=0xf800 shift=11 max=0x1f
06:16:10 INFO - green: bits=6 mask=0x7e0 shift=5 max=0x3f
06:16:10 INFO - blue: bits=5 mask=0x1f shift=0 max=0x1f
06:16:10 INFO - alpha: bits=0 mask=0x0 shift=0 max=0x0
06:16:10 INFO - control_global_accept: just in (fd=38)
06:16:10 INFO - control_global_accept: creating new client
06:16:10 INFO - control_global_accept: new client 0x32368e0
06:16:10 INFO - in control_client read: received redir add tcp:20701:20701
06:16:10 INFO - redir add tcp:20700:20700
06:16:10 INFO - quit
06:16:10 INFO -
06:16:10 INFO - pattern hport=20701 gport=20701 proto=0
06:16:10 INFO - pattern hport=20700 gport=20700 proto=0
06:16:10 INFO - destroying control client 0x32368e0
06:16:10 INFO - control_global_accept: just in (fd=38)
06:16:10 INFO - control_global_accept: creating new client
06:16:10 INFO - control_global_accept: new client 0x3356be0
06:16:10 INFO - in control_client read: received avd status
06:16:10 INFO -
06:16:10 INFO - in control_client read: received redir list
06:16:10 INFO -
06:16:10 INFO - in control_client read: received network status
06:16:10 INFO -
06:16:10 INFO - in control_client read: received quit
06:16:10 INFO -
06:16:10 INFO - destroying control client 0x3356be0
06:16:10 INFO - sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetBufferParameteriv:869 error 0x502
06:16:10 INFO - sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glDetachShader:531 error 0x501
06:16:10 INFO - sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glBindAttribLocation:174 error 0x502
06:16:10 INFO - sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glBindAttribLocation:174 error 0x502
06:16:10 INFO - ##### test-1 emulator log ends
}
Reporter | ||
Comment 1•11 years ago
|
||
Geoff, would you mind seeing if you can find out why we didn't get a dump here?
Also, even if no .dmp files were found - we should really make the harness output something, since there is no error at all in the log.
Flags: needinfo?(gbrown)
![]() |
||
Comment 2•11 years ago
|
||
I am verifying normal crash handling in Android tests here: https://tbpl.mozilla.org/?tree=Try&rev=7cb581d98861
![]() |
||
Comment 3•11 years ago
|
||
The try run looks fine: Under my contrived "normal" crash condition, a dmp file is created and detected and a crash report is written, on all Android platforms:
https://tbpl.mozilla.org/php/getParsedLog.php?id=41252029&tree=Try&full=1#error0
17:02:05 INFO - mozcrash INFO | Downloading symbols from: https://ftp-ssl.mozilla.org/pub/mozilla.org/firefox/try-builds/gbrown@mozilla.com-7cb581d98861/try-android/fennec-32.0a1.en-US.android-arm.crashreporter-symbols.zip
17:02:05 WARNING - PROCESS-CRASH | remoteautomation.py | application crashed [@ nsWindow::OnGlobalAndroidEvent(mozilla::AndroidGeckoEvent*)]
17:02:05 INFO - Crash dump filename: /tmp/tmpr77lfL/1ec0c49e-6ca5-bc3a-7c451a56-1d23f820.dmp
17:02:05 INFO - Operating system: Android
17:02:05 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
17:02:05 INFO - CPU: arm
17:02:05 INFO - 0 CPUs
17:02:05 INFO -
17:02:05 INFO - Crash reason: SIGSEGV
17:02:05 INFO - Crash address: 0x8
17:02:05 INFO -
17:02:05 INFO - Thread 11 (crashed)
17:02:05 INFO - 0 libxul.so!nsWindow::OnGlobalAndroidEvent(mozilla::AndroidGeckoEvent*) [nsWindow.cpp:7cb581d98861 : 767 + 0x0]
17:02:05 INFO - r4 = 0x00000000 r5 = 0x5503c000 r6 = 0x00000000 r7 = 0x00000000
17:02:05 INFO - r8 = 0x00000014 r9 = 0x00000000 r10 = 0x00000000 fp = 0x0000000f
17:02:05 INFO - sp = 0x47b306e0 lr = 0x4deaaf13 pc = 0x4deaaf1c
17:02:05 INFO - Found by: given as instruction pointer in context
17:02:05 INFO - 1 libxul.so!nsAppShell::ProcessNextNativeEvent(bool) [nsAppShell.cpp:7cb581d98861 : 646 + 0x5]
17:02:05 INFO - r4 = 0x563ca470 r5 = 0x5153ef00 r6 = 0x00000000 r7 = 0x00000000
17:02:05 INFO - r8 = 0x00000014 r9 = 0x00000000 r10 = 0x00000000 fp = 0x0000000f
17:02:05 INFO - sp = 0x47b30720 pc = 0x4dea73e3
17:02:05 INFO - Found by: call frame info
![]() |
||
Comment 4•11 years ago
|
||
I know we may not create a dmp file if we crash on startup, before crash reporting is initialized. In that case, the minidumps directory is not created, the harness detects that condition and reports an error. But that is certainly not the case in Comment 0: It's not a startup crash, and the minidumps directory is there, but no dmp files are found.
I suspect the anomaly is just a realistic limitation of crash reporting: Once a crash occurs, I wouldn't expect a guarantee that code is going to execute. But let's check in with...
:ted -- Any thoughts on why this Android crash did not seem to write a .dmp file, or how we might avoid this?
Flags: needinfo?(gbrown) → needinfo?(ted)
Comment 5•11 years ago
|
||
This doesn't seem like a hang, the timestamps in the logcat log between starting draw-arrays-out-of-bounds.html and dying are less than a second. It's dying of a SIGSEGV (signal 11 in the log), which we ought to be able to catch with our Breakpad signal handler. That being said, WebGL is in play, so I wouldn't rule anything out.
Flags: needinfo?(ted)
Reporter | ||
Comment 6•11 years ago
|
||
(In reply to Geoff Brown [:gbrown] from comment #4)
> I suspect the anomaly is just a realistic limitation of crash reporting:
> Once a crash occurs, I wouldn't expect a guarantee that code is going to
> execute. But let's check in with...
Yeah I agree that there may be times where this happens; it would just be great if the harness still output something if application exited prematurely but no crash dump was found :-)
Reporter | ||
Comment 7•11 years ago
|
||
Mass-closing intermittent-failure bugs filed by me, that have not occurred recently and do not have the leave-open keyword set.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•