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)

ARM
Android
defect
Not set
critical

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 }
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)
I am verifying normal crash handling in Android tests here: https://tbpl.mozilla.org/?tree=Try&rev=7cb581d98861
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
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)
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)
(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 :-)
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.