Closed Bug 953346 Opened 11 years ago Closed 11 years ago

Intermittent testSimpleDiscovery | GeckoEventExpecter - blockForEvent timeout: Robocop:Status

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(firefox27 unaffected, firefox28 unaffected, firefox29 fixed, firefox-esr24 unaffected)

RESOLVED FIXED
Firefox 29
Tracking Status
firefox27 --- unaffected
firefox28 --- unaffected
firefox29 --- fixed
firefox-esr24 --- unaffected

People

(Reporter: philor, Assigned: mfinkle)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file, 1 obsolete file)

+++ This bug was initially created as a clone of Bug #945675 +++ https://tbpl.mozilla.org/php/getParsedLog.php?id=32409767&tree=Mozilla-Central Android 2.2 Armv6 Tegra mozilla-central opt test robocop-2 on 2013-12-28 03:55:13 PST for push fe7f7ead589c slave: tegra-200 12 INFO TEST-INFO | testSimpleDiscovery | (xpcshell/head.js) - test 2 finished Dumping ALL the threads! Thread[HeapWorker,5,system] dalvik.system.NativeStart.run(Native Method) Thread[ModernAsyncTask #3,5,main] java.lang.Object.wait(Native Method) java.lang.Thread.parkFor(Thread.java:1535) java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48) sun.misc.Unsafe.park(Unsafe.java:317) java.util.concurrent.locks.LockSupport.park(LockSupport.java:131) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) java.lang.Thread.run(Thread.java:1096) Thread[Compiler,5,system] dalvik.system.NativeStart.run(Native Method) Thread[GeckoANRReporter,5,main] java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:288) android.os.MessageQueue.next(MessageQueue.java:146) android.os.Looper.loop(Looper.java:110) org.mozilla.gecko.ANRReporter$1.run(ANRReporter.java:98) java.lang.Thread.run(Thread.java:1096) Thread[ModernAsyncTask #2,5,main] java.lang.Object.wait(Native Method) java.lang.Thread.parkFor(Thread.java:1535) java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48) sun.misc.Unsafe.park(Unsafe.java:317) java.util.concurrent.locks.LockSupport.park(LockSupport.java:131) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) java.lang.Thread.run(Thread.java:1096) Thread[Gecko,5,main] org.mozilla.gecko.mozglue.GeckoLoader.nativeRun(Native Method) org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:375) org.mozilla.gecko.GeckoThread.run(GeckoThread.java:177) Thread[actionMode,5,main] java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:288) java.util.Timer$TimerImpl.run(Timer.java:219) Thread[Signal Catcher,5,system] dalvik.system.NativeStart.run(Native Method) Thread[JDWP,5,system] dalvik.system.NativeStart.run(Native Method) Thread[ModernAsyncTask #1,5,main] java.lang.Object.wait(Native Method) java.lang.Thread.parkFor(Thread.java:1535) java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48) sun.misc.Unsafe.park(Unsafe.java:317) java.util.concurrent.locks.LockSupport.park(LockSupport.java:131) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) java.lang.Thread.run(Thread.java:1096) Thread[Timer-0,5,main] java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:326) java.util.Timer$TimerImpl.run(Timer.java:243) Thread[Thread-24,5,main] dalvik.system.NativeStart.run(Native Method) Thread[GeckoBackgroundThread,5,main] java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:288) android.os.MessageQueue.next(MessageQueue.java:146) android.os.Looper.loop(Looper.java:110) org.mozilla.gecko.util.GeckoBackgroundThread.run(GeckoBackgroundThread.java:32) Thread[Binder Thread #3,5,main] dalvik.system.NativeStart.run(Native Method) Thread[Binder Thread #2,5,main] dalvik.system.NativeStart.run(Native Method) Thread[ModernAsyncTask #4,5,main] java.lang.Object.wait(Native Method) java.lang.Thread.parkFor(Thread.java:1535) java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48) sun.misc.Unsafe.park(Unsafe.java:317) java.util.concurrent.locks.LockSupport.park(LockSupport.java:131) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) java.lang.Thread.run(Thread.java:1096) Thread[main,5,main] java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:288) android.os.MessageQueue.next(MessageQueue.java:146) android.os.Looper.loop(Looper.java:110) android.app.ActivityThread.main(ActivityThread.java:4627) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:521) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) dalvik.system.NativeStart.main(Native Method) Thread[Binder Thread #1,5,main] dalvik.system.NativeStart.run(Native Method) Thread[Instr: org.mozilla.gecko.FennecInstrumentationTestRunner,5,main] dalvik.system.VMStack.getThreadStackTrace(Native Method) java.lang.Thread.getStackTrace(Thread.java:788) java.lang.Thread.getAllStackTraces(Thread.java:669) org.mozilla.gecko.FennecNativeDriver.logAllStackTraces(FennecNativeDriver.java:318) org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:102) org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:87) org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEventData(FennecNativeActions.java:151) org.mozilla.gecko.tests.JavascriptTest.testJavascript(JavascriptTest.java:116) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:521) android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204) android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194) android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186) org.mozilla.gecko.tests.BaseTest.runTest(BaseTest.java:150) junit.framework.TestCase.runBare(TestCase.java:127) junit.framework.TestResult$1.protect(TestResult.java:106) junit.framework.TestResult.runProtected(TestResult.java:124) junit.framework.TestResult.run(TestResult.java:109) junit.framework.TestCase.run(TestCase.java:118) android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) Thread[pool-1-thread-1,5,main] java.lang.Object.wait(Native Method) java.lang.Thread.parkFor(Thread.java:1535) java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48) sun.misc.Unsafe.park(Unsafe.java:317) java.util.concurrent.locks.LockSupport.park(LockSupport.java:131) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) java.lang.Thread.run(Thread.java:1096) Thread[RefQueueWorker@org.apache.http.impl.conn.tsccm.ConnPoolByRoute@4865b890,5,main] java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:326) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:107) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:80) org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102) java.lang.Thread.run(Thread.java:1096) 13 INFO TEST-UNEXPECTED-FAIL | testSimpleDiscovery | GeckoEventExpecter - blockForEvent timeout: Robocop:Status EventExpecter: no longer listening for Robocop:Status Unregistered listener for Robocop:Status Exception caught during test! junit.framework.AssertionFailedError: 13 INFO TEST-UNEXPECTED-FAIL | testSimpleDiscovery | GeckoEventExpecter - blockForEvent timeout: Robocop:Status at junit.framework.Assert.fail(Assert.java:47) at org.mozilla.gecko.FennecMochitestAssert._logMochitestResult(FennecMochitestAssert.java:110) at org.mozilla.gecko.FennecMochitestAssert.ok(FennecMochitestAssert.java:139) at org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:103) at org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEvent(FennecNativeActions.java:87) at org.mozilla.gecko.FennecNativeActions$GeckoEventExpecter.blockForEventData(FennecNativeActions.java:151) at org.mozilla.gecko.tests.JavascriptTest.testJavascript(JavascriptTest.java:116) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204) at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194) at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186) at org.mozilla.gecko.tests.BaseTest.runTest(BaseTest.java:150) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) 14 INFO TEST-UNEXPECTED-FAIL | testSimpleDiscovery | Exception caught - junit.framework.AssertionFailedError: 13 INFO TEST-UNEXPECTED-FAIL | testSimpleDiscovery | GeckoEventExpecter - blockForEvent timeout: Robocop:Status 15 INFO TEST-END | testSimpleDiscovery | finished in 97527ms
I notice this error in the two failures so far: 15:07:21 INFO - 12-27 15:05:45.765 E/GeckoConsole( 3264): [JavaScript Error: "NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannelInternal.localAddress]" {file: "resource://gre/modules/SimpleServiceDiscovery.jsm" line: 217}] I see that this can happen if the address family is unspecified. I assume this is an issue with the network configuration, and is not the norm: http://mxr.mozilla.org/mozilla-central/source/netwerk/protocol/http/HttpBaseChannel.cpp#1381 I also see that several add-ons which use localAddress, such as Firebug, wrap the call in a try/catch.
Attached patch Wrap localAddress call (obsolete) — Splinter Review
Let's see what affect this has.
Assignee: nobody → mark.finkle
Attachment #8351642 - Flags: review?(rnewman)
I like this better. Let's just remove the localAddress code. It was always just a convenience feature anyway. It's not even used in the current Roku impl.
Attachment #8351642 - Attachment is obsolete: true
Attachment #8351642 - Flags: review?(rnewman)
Attachment #8351645 - Flags: review?(rnewman)
Attachment #8351645 - Flags: review?(rnewman) → review+
Depends on: 938571
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 29
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: