Open Bug 966788 Opened 6 years ago Updated 1 year ago

Intermittent testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready

Categories

(Firefox for Android :: General, defect, P3)

x86
Android
defect

Tracking

()

REOPENED
Firefox 30
Tracking Status
firefox28 --- wontfix
firefox29 --- fixed
firefox30 --- fixed
firefox-esr24 --- unaffected

People

(Reporter: philor, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #965748 +++

https://tbpl.mozilla.org/php/getParsedLog.php?id=33973965&tree=Mozilla-Central
Android 4.2 x86 Emulator mozilla-central opt test androidx86-set-4 on 2014-02-02 10:21:23 PST for push 5f88d54c28e0
slave: talos-linux64-ix-093

10:47:35     INFO -  2 INFO TEST-UNEXPECTED-FAIL | testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready
10:47:35     INFO -  Exception caught during test!
10:47:35     INFO -  junit.framework.AssertionFailedError: 2 INFO TEST-UNEXPECTED-FAIL | testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready
10:47:35     INFO -  	at junit.framework.Assert.fail(Assert.java:50)
10:47:35     INFO -  	at org.mozilla.gecko.FennecMochitestAssert._logMochitestResult(FennecMochitestAssert.java:110)
10:47:35     INFO -  	at org.mozilla.gecko.FennecMochitestAssert.ok(FennecMochitestAssert.java:139)
10:47:35     INFO -  	at org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:103)
10:47:35     INFO -  	at org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:87)
10:47:35     INFO -  	at org.mozilla.gecko.tests.BaseTest.blockForGeckoReady(BaseTest.java:85)
10:47:35     INFO -  	at org.mozilla.gecko.tests.testAboutPage.testAboutPage(testAboutPage.java:22)
10:47:35     INFO -  	at java.lang.reflect.Method.invokeNative(Native Method)
10:47:35     INFO -  	at java.lang.reflect.Method.invoke(Method.java:511)
10:47:35     INFO -  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
10:47:35     INFO -  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
10:47:35     INFO -  	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
10:47:35     INFO -  	at org.mozilla.gecko.tests.BaseTest.runTest(BaseTest.java:160)
10:47:35     INFO -  	at junit.framework.TestCase.runBare(TestCase.java:134)
10:47:35     INFO -  	at junit.framework.TestResult$1.protect(TestResult.java:115)
10:47:35     INFO -  	at junit.framework.TestResult.runProtected(TestResult.java:133)
10:47:35     INFO -  	at junit.framework.TestResult.run(TestResult.java:118)
10:47:35     INFO -  	at junit.framework.TestCase.run(TestCase.java:124)
10:47:35     INFO -  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
10:47:35     INFO -  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
10:47:35     INFO -  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
10:47:35     INFO -  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
10:47:35     INFO -  3 INFO TEST-UNEXPECTED-FAIL | testAboutPage | Exception caught - junit.framework.AssertionFailedError: 2 INFO TEST-UNEXPECTED-FAIL | testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready
10:47:35     INFO -  4 INFO TEST-END | testAboutPage | finished in 100929ms
See Also: → 965748
testAboutPage is the first test in rc1. There is a similar bug - 965748 - for testInputUrlBar, the first test in rc2.
(In reply to Geoff Brown [:gbrown] from comment #3)
> testAboutPage is the first test in rc1. There is a similar bug - 965748 -
> for testInputUrlBar, the first test in rc2.

...and if I disable either of those tests, the next test (the new first test) intermittently fails the same way.
(In reply to TBPL Robot from comment #14)
> philor
> https://tbpl.mozilla.org/php/getParsedLog.php?id=34218681&tree=B2g-Inbound
> Android 4.2 x86 Emulator b2g-inbound opt test androidx86-set-4 on 2014-02-06

This has complete logcat http://mozilla-releng-blobs.s3.amazonaws.com/blobs/b2g-inbound/sha512/f1123246342938d8e63569aedea1f8ea8b6347e1c115eeb747efb13cb74d9f3cc71d50b56f500a407929577ded942386682f4c24640541d1a4b7ca056eb0b9d6 which shows that Fennec startup never completes:

2-06 16:08:39.833 I/ActivityManager( 1203): Displayed org.mozilla.fennec/.App: +677ms
02-06 16:08:39.893 W/GeckoGLController( 2010): done GLController::updateCompositor
02-06 16:08:39.943 W/GeckoGLController( 2010): GLController::serverSurfaceChanged(1024, 687)
02-06 16:08:40.043 W/GeckoGLController( 2010): GLController::updateCompositor with mCompositorCreated=false
02-06 16:08:40.043 W/GeckoGLController( 2010): done GLController::updateCompositor
02-06 16:08:40.043 E/GeckoLibLoad( 2010): Load sqlite start
02-06 16:08:40.053 E/GeckoLinker( 2010): /data/app/org.mozilla.fennec-1.apk!/assets/libnss3.so: Warning: unhandled flags #8 not handled
02-06 16:08:40.063 E/GeckoLibLoad( 2010): Load sqlite done
02-06 16:08:40.063 D/Robocop ( 2010): waiting for Gecko:Ready
...
02-06 16:10:10.095 E/Robocop ( 2010): Dumping ALL the threads!
02-06 16:10:10.095 E/Robocop ( 2010): Thread[Instr: org.mozilla.gecko.FennecInstrumentationTestRunner,5,main]
02-06 16:10:10.095 E/Robocop ( 2010): dalvik.system.VMStack.getThreadStackTrace(Native Method)
02-06 16:10:10.095 E/Robocop ( 2010): java.lang.Thread.getStackTrace(Thread.java:591)
02-06 16:10:10.095 E/Robocop ( 2010): java.lang.Thread.getAllStackTraces(Thread.java:528)
02-06 16:10:10.095 E/Robocop ( 2010): org.mozilla.gecko.FennecNativeDriver.logAllStackTraces(FennecNativeDriver.java:318)
02-06 16:10:10.095 E/Robocop ( 2010): org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:102)
02-06 16:10:10.095 E/Robocop ( 2010): org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:87)
02-06 16:10:10.095 E/Robocop ( 2010): org.mozilla.gecko.tests.BaseTest.blockForGeckoReady(BaseTest.java:85)
02-06 16:10:10.095 E/Robocop ( 2010): org.mozilla.gecko.tests.testAboutPage.testAboutPage(testAboutPage.java:22)

This log seems typical for these failures.
I almost missed it, but the log is even more interesting after the failure: startup seems to complete once the robocop blockForGeckoReady() fails --

02-06 16:10:10.095 I/Robocop ( 2010): 2 INFO TEST-UNEXPECTED-FAIL | testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready
02-06 16:10:19.824 I/Process ( 1594): Sending signal. PID: 1594 SIG: 9
02-06 16:10:19.824 I/ActivityManager( 1203): Process com.android.providers.calendar (pid 1594) has died.
02-06 16:10:19.834 I/GeckoAxis( 2010): Prefs: 0.85,0.97,10.0,0.04,0.04,0.3,0.5
02-06 16:10:19.834 E/GeckoApp( 2010): An error occurred during restore
02-06 16:10:19.834 E/GeckoApp( 2010): org.mozilla.gecko.GeckoApp$SessionRestoreException: Could not read from session file
02-06 16:10:19.834 E/GeckoApp( 2010): 	at org.mozilla.gecko.GeckoApp.restoreSessionTabs(GeckoApp.java:1639)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at org.mozilla.gecko.GeckoApp.onWindowFocusChanged(GeckoApp.java:1987)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.onWindowFocusChanged(PhoneWindow.java:2451)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at android.view.View.dispatchWindowFocusChanged(View.java:7433)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:930)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2927)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at android.os.Looper.loop(Looper.java:137)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at android.app.ActivityThread.main(ActivityThread.java:5039)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at java.lang.reflect.Method.invokeNative(Native Method)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at java.lang.reflect.Method.invoke(Method.java:511)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-06 16:10:19.834 E/GeckoApp( 2010): 	at dalvik.system.NativeStart.main(Native Method)
02-06 16:10:19.834 D/GeckoTabs( 2010): Setting about: tab favicon inline.
02-06 16:10:19.834 D/GeckoLoader( 2010): Gecko environment env0: MOZ_CRASHREPORTER=1
02-06 16:10:19.834 D/GeckoLoader( 2010): env1: MOZ_CRASHREPORTER_NO_REPORT=1
02-06 16:10:19.834 D/GeckoLoader( 2010): env2: XPCOM_DEBUG_BREAK=stack
02-06 16:10:19.834 D/GeckoLoader( 2010): env3: XPCOM_MEM_BLOAT_LOG=/tmp/tmpIY1RAw/runtests_leaks.log
02-06 16:10:19.834 D/GeckoLoader( 2010): env4: null
02-06 16:10:19.844 E/GeckoLibLoad( 2010): Load nss start
02-06 16:10:19.844 E/GeckoLibLoad( 2010): Load nss done
02-06 16:10:19.844 E/GeckoLinker( 2010): /data/app/org.mozilla.fennec-1.apk!/assets/libxul.so: Warning: unhandled flags #8 not handled
02-06 16:10:19.844 E/GeckoLinker( 2010): /data/app/org.mozilla.fennec-1.apk!/assets/libmozalloc.so: Warning: unhandled flags #8 not handled
02-06 16:10:19.875 D/GeckoToolbar( 2010): onTabChanged: SELECTED
02-06 16:10:19.875 D/GeckoToolbarDisplayLayout( 2010): updateFavicon(android.graphics.Bitmap@b32e7458)
02-06 16:10:19.875 I/GeckoToolbarDisplayLayout( 2010): zerdatime 308881 - Throbber stop
02-06 16:10:19.875 D/GeckoBrowserApp( 2010): BrowserApp.onTabChanged: 0: SELECTED
02-06 16:10:19.905 D/GeckoToolbar( 2010): onTabChanged: RESTORED
02-06 16:10:19.945 D/dalvikvm( 2010): GC_CONCURRENT freed 349K, 9% free 5056K/5504K, paused 16ms+0ms, total 20ms
02-06 16:10:19.945 I/Robocop ( 2010): Exception caught during test!
02-06 16:10:19.945 I/Robocop ( 2010): junit.framework.AssertionFailedError: 2 INFO TEST-UNEXPECTED-FAIL | testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready
02-06 16:10:19.945 I/Robocop ( 2010): 	at junit.framework.Assert.fail(Assert.java:50)
02-06 16:10:19.945 I/Robocop ( 2010): 	at org.mozilla.gecko.FennecMochitestAssert._logMochitestResult(FennecMochitestAssert.java:110)
02-06 16:10:19.945 I/Robocop ( 2010): 	at org.mozilla.gecko.FennecMochitestAssert.ok(FennecMochitestAssert.java:139)
02-06 16:10:19.945 I/Robocop ( 2010): 	at org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:103)
02-06 16:10:19.945 I/Robocop ( 2010): 	at org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:87)
02-06 16:10:19.945 I/Robocop ( 2010): 	at org.mozilla.gecko.tests.BaseTest.blockForGeckoReady(BaseTest.java:85)
02-06 16:10:19.945 I/Robocop ( 2010): 	at org.mozilla.gecko.tests.testAboutPage.testAboutPage(testAboutPage.java:22)
02-06 16:10:19.945 I/Robocop ( 2010): 	at java.lang.reflect.Method.invokeNative(Native Method)
02-06 16:10:19.945 I/Robocop ( 2010): 	at java.lang.reflect.Method.invoke(Method.java:511)
02-06 16:10:19.945 I/Robocop ( 2010): 	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
02-06 16:10:19.945 I/Robocop ( 2010): 	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
02-06 16:10:19.945 I/Robocop ( 2010): 	at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
02-06 16:10:19.945 I/Robocop ( 2010): 	at org.mozilla.gecko.tests.BaseTest.runTest(BaseTest.java:160)
02-06 16:10:19.945 I/Robocop ( 2010): 	at junit.framework.TestCase.runBare(TestCase.java:134)
02-06 16:10:19.945 I/Robocop ( 2010): 	at junit.framework.TestResult$1.protect(TestResult.java:115)
02-06 16:10:19.945 I/Robocop ( 2010): 	at junit.framework.TestResult.runProtected(TestResult.java:133)
02-06 16:10:19.945 I/Robocop ( 2010): 	at junit.framework.TestResult.run(TestResult.java:118)
02-06 16:10:19.945 I/Robocop ( 2010): 	at junit.framework.TestCase.run(TestCase.java:124)
02-06 16:10:19.945 I/Robocop ( 2010): 	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
02-06 16:10:19.945 I/Robocop ( 2010): 	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
02-06 16:10:19.945 I/Robocop ( 2010): 	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
02-06 16:10:19.945 I/Robocop ( 2010): 	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
02-06 16:10:19.945 I/Robocop ( 2010): 3 INFO TEST-UNEXPECTED-FAIL | testAboutPage | Exception caught - junit.framework.AssertionFailedError: 2 INFO TEST-UNEXPECTED-FAIL | testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready
02-06 16:10:19.945 I/Robocop ( 2010): 4 INFO TEST-END | testAboutPage | finished in 100803ms
02-06 16:10:19.945 I/Robocop ( 2010): 5 INFO TEST-START | Shutdown
02-06 16:10:19.945 I/Robocop ( 2010): 6 INFO Passed: 0
02-06 16:10:19.945 I/Robocop ( 2010): 7 INFO Failed: 2
02-06 16:10:19.945 I/Robocop ( 2010): 8 INFO Todo: 0
02-06 16:10:19.945 I/Robocop ( 2010): 9 INFO SimpleTest FINISHED
02-06 16:10:19.976 E/GeckoLibLoad( 2010): Loaded libs in 127ms total, 60ms(360ms) user, 20ms(10ms) system, 0(0) faults
02-06 16:10:19.976 W/GeckoThread( 2010): zerdatime 308979 - runGecko
02-06 16:10:19.976 I/GeckoThread( 2010): RunGecko - args = -no-remote -profile /mnt/sdcard/tests/profile
See Also: → 957185
Assignee: nobody → gbrown
Most of the failures reported here are on Android x86, where there seems to be no sign of a crash, but on Tegras, such as Comment 34, there is the classic signature of bug 959254.

02-10 03:58:35.129 E/GeckoLibLoad( 1814): Load sqlite start
02-10 03:58:35.129 E/GeckoLibLoad( 1814): Load nss start
02-10 03:58:35.129 W/dalvikvm( 1814): VFY: unable to find class referenced in signature (Landroid/app/Fragment;)
02-10 03:58:35.129 I/dalvikvm( 1814): Could not find method org.mozilla.gecko.preferences.GeckoPreferences.onBuildStartFragmentIntent, referenced from method org.mozilla.gecko.preferences.GeckoPreferences.startWithFragment
02-10 03:58:35.129 W/dalvikvm( 1814): VFY: unable to resolve virtual method 14380: Lorg/mozilla/gecko/preferences/GeckoPreferences;.onBuildStartFragmentIntent (Ljava/lang/String;Landroid/os/Bundle;II)Landroid/content/Intent;
02-10 03:58:35.139 E/GeckoLinker( 1814): /data/app/org.mozilla.fennec-1.apk!/assets/libnss3.so: Warning: unhandled flags #8 not handled
02-10 03:58:35.159 I/GeckoAnnounce( 1814): fennec :: AnnounceBrSvc :: Registering AnnouncementsService.
02-10 03:58:35.159 I/GeckoAnnounce( 1814): fennec :: BackgroundService :: Setting inexact repeating alarm for interval 43200000
02-10 03:58:35.169 E/GeckoLibLoad( 1814): Load sqlite done
02-10 03:58:35.219 I/GeckoHealth( 1814): fennec :: HealthReportBroadcastService :: Registering HealthReportUploadService.
02-10 03:58:35.229 D/Robocop ( 1814): waiting for Gecko:Ready
02-10 03:58:35.229 E/GeckoJNI( 1814): missing NSS_Initialize
02-10 03:58:35.229 E/GeckoLibLoad( 1814): Throw
02-10 03:58:35.229 E/GeckoLibLoad( 1814): Load nss done
02-10 03:58:35.229 W/dalvikvm( 1814): threadid=12: thread exiting with uncaught exception (group=0x4001d848)
02-10 03:58:35.229 E/GeckoAppShell( 1814): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 14 ("Gecko")
02-10 03:58:35.229 E/GeckoAppShell( 1814): java.lang.Exception: Error loading nss libraries
02-10 03:58:35.229 E/GeckoAppShell( 1814): 	at org.mozilla.gecko.mozglue.GeckoLoader.loadNSSLibsNative(Native Method)
02-10 03:58:35.229 E/GeckoAppShell( 1814): 	at org.mozilla.gecko.mozglue.GeckoLoader.loadNSSLibs(GeckoLoader.java:243)
02-10 03:58:35.229 E/GeckoAppShell( 1814): 	at org.mozilla.gecko.GeckoThread.initGeckoEnvironment(GeckoThread.java:116)
02-10 03:58:35.229 E/GeckoAppShell( 1814): 	at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:168)
Depends on: 959254
Blocks: 969349
Interesting observation from try runs: For the x86 cases, GeckoThread is never initialized (sqlite libs are loaded from Robocop!). More debugging today...

http://mozilla-releng-blobs.s3.amazonaws.com/blobs/try/sha512/fb101c8b91bcbf0650bf2c6c6066ec571a75cd9293aa6313590974ef39ec3c349596764e093e7e3f923ca6e542b9114b74e3e4785b90d318ff163f75e028e95a
(Again for x86) onCreate is called, but GeckoApp.initialize() is not. 

https://tbpl.mozilla.org/?tree=Try&rev=79353317deee
No longer depends on: 959254
Mark -- I'm getting stuck here. Can you find someone to take a look at this?

This frequent but intermittent failure occurs on Android x86 robocop tests. In the failure cases, GeckoApp's onWindowFocusChanged() is never called (so initialize() is never called, Gecko:Ready is never sent, and eventually Robocop times out waiting for Gecko:Ready).

It might be worth reviewing the way that Robocop starts Fennec: http://hg.mozilla.org/mozilla-central/annotate/a2939bac372b/mobile/android/base/tests/BaseTest.java#l119
Flags: needinfo?(mark.finkle)
Let's get more eyes on the problem. Mike has experience with the test classes. Brian might have some insights into why onWindowFocusChanged would not be called.

Let me know if either of you need an x86 device for testing/experimenting.
Flags: needinfo?(michael.l.comella)
Flags: needinfo?(mark.finkle)
Flags: needinfo?(bnicholson)
As per bug 973085, bnicholson and I feel that initializing GeckoApp in onWindowFocusChanged is dangerous and could be the cause of these issues.
Flags: needinfo?(michael.l.comella)
In particular, via the Android docs [1]:

As a general rule, however, a resumed activity will have window focus... unless it has displayed other dialogs or popups that take input focus, in which case the activity itself will not have focus when the other windows have it. Likewise, the system may display system-level windows (such as the status bar notification panel or a system alert) which will temporarily take window input focus without pausing the foreground activity.

comment 15 implies this is a very real possibility.

[1]: https://developer.android.com/reference/android/app/Activity.html#onWindowFocusChanged%28boolean%29
Depends on: 973085
Blocks: 965748
See Also: 965748
Flags: needinfo?(bnicholson)
I would like to see this fixed by bug 973085, but I have not had any success there, and these tests keep failing.

I came up with this apparent work-around -- simply wait longer for Gecko:Ready, if necessary. I did not expect it to work, but try runs suggest it is effective. 

Consider:
https://tbpl.mozilla.org/?tree=Try&rev=129e1ef1e6d3 (patched -- 180s wait)
vs. https://tbpl.mozilla.org/?tree=Try&rev=a65bc17af7c0 (base/no changes)
Attachment #8389389 - Flags: review?(michael.l.comella)
Comment on attachment 8389389 [details] [diff] [review]
Wait up to 180 seconds for Gecko:Ready

Review of attachment 8389389 [details] [diff] [review]:
-----------------------------------------------------------------

r+ w/ nits.

(In reply to Geoff Brown [:gbrown] from comment #138)
> I would like to see this fixed by bug 973085, but I have not had any success
> there, and these tests keep failing.

I briefly tried to take a stab at this bug too, but it seems to be a complicated uncoupling - this patch seems like a good work-around.

::: mobile/android/base/tests/BaseTest.java
@@ +76,5 @@
>      protected void blockForGeckoReady() {
>          try {
>              Actions.EventExpecter geckoReadyExpector = mActions.expectGeckoEvent("Gecko:Ready");
>              if (!GeckoThread.checkLaunchState(LaunchState.GeckoRunning)) {
> +                geckoReadyExpector.blockForEvent(180000, true);

nit: Make 180000 a constant at the top of the file.
Attachment #8389389 - Flags: review?(michael.l.comella) → review+
https://hg.mozilla.org/mozilla-central/rev/8ddc66a8d929
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 30
(In reply to TBPL Robot from comment #145)
> Tomcat
> https://tbpl.mozilla.org/php/getParsedLog.php?id=36064974&tree=Mozilla-
> Central
> Android 2.2 Tegra mozilla-central opt test robocop-1 on 2014-03-13 05:43:28
> revision: fdbf79a891de
> slave: tegra-294

My patch seems to be an effective solution/workaround for the Gecko:Ready timeout affecting Android 4.2 x86 and producing most of the x86 test failures reported here, as well as those in bugs 969349 and 965748. There remains the problem of nss/sqlite startup crashes which affect all Android platforms and unfortunately produce the same timeout: Gecko:Ready error; the difference can be seen in logcat:

03-13 05:49:33.269 E/GeckoLibLoad( 1850): Load sqlite done
03-13 05:49:33.276 D/Robocop ( 1850): waiting for Gecko:Ready
03-13 05:49:33.297 I/GeckoDistribution( 1850): Getting file from distribution.
03-13 05:49:33.339 E/GeckoJNI( 1850): missing NSS_Initialize
03-13 05:49:33.339 E/GeckoLibLoad( 1850): Throw
03-13 05:49:33.369 E/GeckoLibLoad( 1850): Load nss done
03-13 05:49:33.369 W/dalvikvm( 1850): threadid=12: thread exiting with uncaught exception (group=0x4001d848)
03-13 05:49:33.369 E/GeckoAppShell( 1850): >>> REPORTING UNCAUGHT EXCEPTION FROM THREAD 14 ("Gecko")
03-13 05:49:33.369 E/GeckoAppShell( 1850): java.lang.Exception: Error loading nss libraries
03-13 05:49:33.369 E/GeckoAppShell( 1850): 	at org.mozilla.gecko.mozglue.GeckoLoader.loadNSSLibsNative(Native Method)
03-13 05:49:33.369 E/GeckoAppShell( 1850): 	at org.mozilla.gecko.mozglue.GeckoLoader.loadNSSLibs(GeckoLoader.java:243)
03-13 05:49:33.369 E/GeckoAppShell( 1850): 	at org.mozilla.gecko.GeckoThread.initGeckoEnvironment(GeckoThread.java:117)
03-13 05:49:33.369 E/GeckoAppShell( 1850): 	at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:169)
...
03-13 05:52:33.387 I/Robocop ( 1850): 2 INFO TEST-UNEXPECTED-FAIL | testAboutPage | GeckoEventExpecter - blockForEvent timeout: Gecko:Ready

I would prefer to see these reported in bug 957185 or one of the other bugs which depend on bug 959254.
Duplicate of this bug: 965748
Duplicate of this bug: 969349
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Recent failures here are all caused by exceptions during library loading:

E/GeckoJNI( 1815): missing NSS_Initialize

...which is basically bug 959254.
Assignee: gbrown → nobody
Depends on: 959254
Duplicate of this bug: 1080777
Bulk assigning P3 to all open intermittent bugs without a priority set in Firefox components per bug 1298978.
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.