Closed Bug 877016 Opened 11 years ago Closed 11 years ago

Intermittent robocop testLoad | Exception caught - java.lang.NullPointerException

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

References

Details

(Keywords: crash, intermittent-failure)

Don't know if this is the same NPE as one of the others on file, so giving it a new bug in case.

https://tbpl.mozilla.org/php/getParsedLog.php?id=23495822&tree=Mozilla-Inbound

Android Tegra 250 mozilla-inbound opt test robocop-1 on 2013-05-28 12:17:59 PDT for push c8005d83cbf4
slave: tegra-235

0 INFO SimpleTest START
1 INFO TEST-START | testLoad
EventExpecter: no longer listening for Gecko:Ready
2 INFO TEST-PASS | testLoad | Awesomebar URL typed properly - http://mochi.test:8888/tests/robocop/robocop_boxes.html should equal http://mochi.test:8888/tests/robocop/robocop_boxes.html
EventExpecter: no longer listening for DOMContentLoaded
PaintExpecter: no longer listening for events
3 INFO TEST-PASS | testLoad | Pixel at 0, 0 - Color rgba(0,0,0,255)  close enough to expected rgb(0,0,0)
4 INFO TEST-PASS | testLoad | Pixel at 100, 0 - Color rgba(24,101,0,255)  close enough to expected rgb(32,100,0)
5 INFO TEST-PASS | testLoad | Pixel at 0, 100 - Color rgba(0,101,33,255)  close enough to expected rgb(0,100,32)
6 INFO TEST-PASS | testLoad | Pixel at 100, 100 - Color rgba(24,203,33,255)  close enough to expected rgb(32,200,32)
time-out waiting for UI thread
Dumping ALL the threads!
Thread[HeapWorker,5,system]
dalvik.system.NativeStart.run(Native Method)

Thread[Binder Thread #2,5,main]
dalvik.system.NativeStart.run(Native Method)

Thread[GeckoBackgroundThread,5,main]
android.database.sqlite.SQLiteStatement.native_execute(Native Method)
android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:55)
android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1692)
android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1622)
org.mozilla.gecko.db.BrowserProvider.updateHistory(BrowserProvider.java:3047)
org.mozilla.gecko.db.BrowserProvider.updateInTransaction(BrowserProvider.java:2473)
org.mozilla.gecko.db.BrowserProvider.update(BrowserProvider.java:2406)
android.content.ContentProvider$Transport.update(ContentProvider.java:204)
android.content.ContentResolver.update(ContentResolver.java:707)
org.mozilla.gecko.db.LocalBrowserDB.updateHistoryTitle(LocalBrowserDB.java:276)
org.mozilla.gecko.db.BrowserDB.updateHistoryTitle(BrowserDB.java:147)
org.mozilla.gecko.GlobalHistory.update(GlobalHistory.java:131)
org.mozilla.gecko.GeckoAppShell$16.run(GeckoAppShell.java:2236)
android.os.Handler.handleCallback(Handler.java:587)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:123)
org.mozilla.gecko.util.GeckoBackgroundThread.run(GeckoBackgroundThread.java:32)

Thread[Compiler,5,system]
dalvik.system.NativeStart.run(Native Method)

Thread[AsyncTask #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[Signal Catcher,5,system]
dalvik.system.NativeStart.run(Native Method)

Thread[Gecko,5,main]
org.mozilla.gecko.mozglue.GeckoLoader.nativeRun(Native Method)
org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:317)
org.mozilla.gecko.GeckoThread.run(GeckoThread.java:113)

Thread[AsyncTask #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[Instr: org.mozilla.fennec.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.fennec.FennecNativeDriver.logAllStackTraces(FennecNativeDriver.java:411)
org.mozilla.fennec.RobocopUtils.runOnUiThreadSync(RobocopUtils.java:37)
org.mozilla.fennec.FennecNativeElement.getText(FennecNativeElement.java:68)
org.mozilla.fennec.tests.BaseTest$VerifyUrlTest.test(BaseTest.java:289)
org.mozilla.fennec.tests.BaseTest.waitForTest(BaseTest.java:308)
org.mozilla.fennec.tests.BaseTest.verifyUrl(BaseTest.java:274)
org.mozilla.fennec.tests.testLoad.testLoad(testLoad.java:23)
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.fennec.tests.BaseTest.runTest(BaseTest.java:129)
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[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:102)
java.lang.Thread.run(Thread.java:1096)

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[JDWP,5,system]
dalvik.system.NativeStart.run(Native Method)

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[AsyncTask #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[AsyncTask #5,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[AsyncTask #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.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:790)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:823)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1153)
java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:200)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:261)
android.database.sqlite.SQLiteDatabase.lock(SQLiteDatabase.java:375)
android.database.sqlite.SQLiteProgram.close(SQLiteProgram.java:291)
android.database.sqlite.SQLiteQuery.close(SQLiteQuery.java:133)
android.database.sqlite.SQLiteCursor.close(SQLiteCursor.java:502)
android.database.CursorWrapper.close(CursorWrapper.java:45)
android.content.ContentResolver$CursorWrapperInner.close(ContentResolver.java:1355)
org.mozilla.gecko.db.LocalBrowserDB.readingListItemsExist(LocalBrowserDB.java:467)
org.mozilla.gecko.db.LocalBrowserDB.getBookmarksInFolder(LocalBrowserDB.java:387)
org.mozilla.gecko.db.BrowserDB.getBookmarksInFolder(BrowserDB.java:185)
org.mozilla.gecko.BookmarksTab$BookmarksQueryTask.doInBackground(BookmarksTab.java:383)
org.mozilla.gecko.BookmarksTab$BookmarksQueryTask.doInBackground(BookmarksTab.java:370)
android.os.AsyncTask$2.call(AsyncTask.java:185)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
java.util.concurrent.FutureTask.run(FutureTask.java:137)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
java.lang.Thread.run(Thread.java:1096)

Thread[Binder Thread #3,5,main]
dalvik.system.NativeStart.run(Native Method)

Thread[Thread-19,5,main]
dalvik.system.NativeStart.run(Native Method)

Thread[main,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.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:790)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:823)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1153)
java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:200)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:261)
android.database.sqlite.SQLiteDatabase.lock(SQLiteDatabase.java:375)
android.database.sqlite.SQLiteProgram.close(SQLiteProgram.java:291)
android.database.sqlite.SQLiteQuery.close(SQLiteQuery.java:133)
android.database.sqlite.SQLiteCursor.close(SQLiteCursor.java:502)
android.database.CursorWrapper.close(CursorWrapper.java:45)
android.content.ContentResolver$CursorWrapperInner.close(ContentResolver.java:1355)
android.database.CursorWrapper.close(CursorWrapper.java:45)
android.widget.CursorAdapter.changeCursor(CursorAdapter.java:251)
android.widget.SimpleCursorAdapter.changeCursor(SimpleCursorAdapter.java:321)
android.widget.CursorFilter.publishResults(CursorFilter.java:67)
android.widget.Filter$ResultsHandler.handleMessage(Filter.java:282)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:123)
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[RefQueueWorker@org.apache.http.impl.conn.tsccm.ConnPoolByRoute@486011e0,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)


getText: Text is null for view 2131165220
Exception caught during test!
java.lang.NullPointerException
	at org.mozilla.fennec.tests.BaseTest$VerifyUrlTest.test(BaseTest.java:290)
	at org.mozilla.fennec.tests.BaseTest.waitForTest(BaseTest.java:308)
	at org.mozilla.fennec.tests.BaseTest.verifyUrl(BaseTest.java:274)
	at org.mozilla.fennec.tests.testLoad.testLoad(testLoad.java:23)
	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.fennec.tests.BaseTest.runTest(BaseTest.java:129)
	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)
7 INFO TEST-UNEXPECTED-FAIL | testLoad | Exception caught - java.lang.NullPointerException
8 INFO TEST-END | testLoad | finished in 42593ms
9 INFO TEST-START | Shutdown
10 INFO Passed: 5
11 INFO Failed: 1
12 INFO Todo: 0
13 INFO SimpleTest FINISHED
We have database access happening on the main thread, which is blocking the main thread and preventing the test code from getting the text in the url bar.

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.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:790)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:823)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1153)
java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:200)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:261)
android.database.sqlite.SQLiteDatabase.lock(SQLiteDatabase.java:375)
android.database.sqlite.SQLiteProgram.close(SQLiteProgram.java:291)
android.database.sqlite.SQLiteQuery.close(SQLiteQuery.java:133)
android.database.sqlite.SQLiteCursor.close(SQLiteCursor.java:502)
android.database.CursorWrapper.close(CursorWrapper.java:45)
android.content.ContentResolver$CursorWrapperInner.close(ContentResolver.java:1355)
android.database.CursorWrapper.close(CursorWrapper.java:45)
android.widget.CursorAdapter.changeCursor(CursorAdapter.java:251)
android.widget.SimpleCursorAdapter.changeCursor(SimpleCursorAdapter.java:321)
android.widget.CursorFilter.publishResults(CursorFilter.java:67)
android.widget.Filter$ResultsHandler.handleMessage(Filter.java:282)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:123)
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)


This isn't covered by any existing bug that I could find (I checked all the StrictMode bugs).
(OrangeWFM bugs not modified in > 2 months)
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.