Closed
Bug 819310
Opened 12 years ago
Closed 12 years ago
Intermittent "talosError: 'Exception caught: java.lang.NullPointerException [browser_output.txt]'" in tcheckerboard at org.mozilla.fennec.FennecNativeDriver.stopCheckerboardRecording(FennecNativeDriver.java:226)
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox19 fixed, firefox20 fixed)
RESOLVED
FIXED
Firefox 20
People
(Reporter: emorley, Assigned: cwiiis)
References
Details
(Keywords: crash, intermittent-failure, regression, Whiteboard: [native-crash])
Attachments
(1 file)
2.32 KB,
patch
|
cwiiis
:
review+
lsblakk
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
Android Tegra 250 mozilla-inbound talos remote-trobocheck on 2012-12-04 16:11:55 PST for push 7e8069286526 slave: tegra-316 https://tbpl.mozilla.org/php/getParsedLog.php?id=17608910&tree=Mozilla-Inbound { FIRE PROC: ' "MOZ_CRASHREPORTER_SHUTDOWN=1,MOZ_CRASHREPORTER_NO_REPORT=1,NO_EM_RESTART=1" am instrument -w -e deviceroot /mnt/sdcard/tests -e class org.mozilla.fennec.tests.testCheck org.mozilla.roboexample.test/org.mozilla.fennec.FennecInstrumentationTestRunner' getting files in '/mnt/sdcard/tests/profile/minidumps/' removing file: /mnt/sdcard/tests/browser_output.txt NOISE: Exception caught during test! NOISE: java.lang.NullPointerException NOISE: at org.mozilla.fennec.FennecNativeDriver.stopCheckerboardRecording(FennecNativeDriver.java:226) NOISE: at org.mozilla.fennec.tests.testCheck.testCheck(testCheck.java:51) NOISE: at java.lang.reflect.Method.invokeNative(Native Method) NOISE: at java.lang.reflect.Method.invoke(Method.java:521) NOISE: at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204) NOISE: at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194) NOISE: at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186) NOISE: at org.mozilla.fennec.tests.BaseTest.runTest(BaseTest.java:120) NOISE: at junit.framework.TestCase.runBare(TestCase.java:127) NOISE: at junit.framework.TestResult$1.protect(TestResult.java:106) NOISE: at junit.framework.TestResult.runProtected(TestResult.java:124) NOISE: at junit.framework.TestResult.run(TestResult.java:109) NOISE: at junit.framework.TestCase.run(TestCase.java:118) NOISE: at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) NOISE: at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) NOISE: at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) NOISE: at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) NOISE: __FAILException caught: java.lang.NullPointerException__FAIL FIRE PROC: ' "MOZ_CRASHREPORTER_SHUTDOWN=1,MOZ_CRASHREPORTER_NO_REPORT=1,NO_EM_RESTART=1" am instrument -w -e deviceroot /mnt/sdcard/tests -e class org.mozilla.fennec.tests.testCheck org.mozilla.roboexample.test/org.mozilla.fennec.FennecInstrumentationTestRunner' NOISE: Exception caught during test! NOISE: java.lang.NullPointerException NOISE: at org.mozilla.fennec.FennecNativeDriver.stopCheckerboardRecording(FennecNativeDriver.java:226) NOISE: at org.mozilla.fennec.tests.testCheck.testCheck(testCheck.java:51) NOISE: at java.lang.reflect.Method.invokeNative(Native Method) NOISE: at java.lang.reflect.Method.invoke(Method.java:521) NOISE: at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204) NOISE: at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194) NOISE: at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186) NOISE: at org.mozilla.fennec.tests.BaseTest.runTest(BaseTest.java:120) NOISE: at junit.framework.TestCase.runBare(TestCase.java:127) NOISE: at junit.framework.TestResult$1.protect(TestResult.java:106) NOISE: at junit.framework.TestResult.runProtected(TestResult.java:124) NOISE: at junit.framework.TestResult.run(TestResult.java:109) NOISE: at junit.framework.TestCase.run(TestCase.java:118) NOISE: at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) NOISE: at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) NOISE: at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) NOISE: at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) NOISE: __FAILException caught: java.lang.NullPointerException__FAIL NOISE: __startBeforeLaunchTimestamp1354667029354__endBeforeLaunchTimestamp NOISE: __startAfterTerminationTimestamp1354667096833__endAfterTerminationTimestamp getting files in '/mnt/sdcard/tests/profile/minidumps/' Failed tcheckerboard: Stopped Tue, 04 Dec 2012 16:24:58 Traceback (most recent call last): File "run_tests.py", line 261, in run_tests talos_results.add(mytest.runTest(browser_config, test)) File "/builds/tegra-316/talos-data/talos/ttest.py", line 387, in runTest test_results.add(browser_log_filename, counter_results=counter_results) File "/builds/tegra-316/talos-data/talos/results.py", line 120, in add browserLog = BrowserLogResults(filename=results, counter_results=counter_results, global_counters=self.global_counters) File "/builds/tegra-316/talos-data/talos/results.py", line 316, in __init__ self.error(match.group(1)) File "/builds/tegra-316/talos-data/talos/results.py", line 331, in error raise utils.talosError(message) talosError: 'Exception caught: java.lang.NullPointerException [browser_output.txt]' }
Comment 1•12 years ago
|
||
The only way I can see this happening intermittently is if the compositor thread is in the middle of recordCheckerboard() while the test thread calls stopCheckerboardRecording. Cwiiis, this is a regression from bug 814437. The obvious fix is to add synchronized blocks but since we want recordCheckerboard() to run as fast as possible maybe the better solution is to just take the min of mCheckerboardAmounts.size() and mFrameTimes.size() and return that number of items from stopCheckerboardAmounts(). Also it might be better to move the mRecordingCheckerboard = false line up to before the size comparison to narrow the window of opportunity where this occurs.
Blocks: 814437
Keywords: regression
Assignee | ||
Comment 2•12 years ago
|
||
(In reply to Kartikaya Gupta (:kats) from comment #1) > The only way I can see this happening intermittently is if the compositor > thread is in the middle of recordCheckerboard() while the test thread calls > stopCheckerboardRecording. > > Cwiiis, this is a regression from bug 814437. The obvious fix is to add > synchronized blocks but since we want recordCheckerboard() to run as fast as > possible maybe the better solution is to just take the min of > mCheckerboardAmounts.size() and mFrameTimes.size() and return that number of > items from stopCheckerboardAmounts(). Also it might be better to move the > mRecordingCheckerboard = false line up to before the size comparison to > narrow the window of opportunity where this occurs. Agreed on all accounts, patch incoming.
Status: NEW → ASSIGNED
QA Contact: chrislord.net
Assignee | ||
Comment 3•12 years ago
|
||
This makes it safe to call stopCheckerboardRecording while recordCheckerboard is executing. I also removed an extra unnecessary List get.
Attachment #689705 -
Flags: review?(bugmail.mozilla)
Reporter | ||
Comment 4•12 years ago
|
||
Thank you for looking at this so quickly :-)
Assignee | ||
Comment 5•12 years ago
|
||
Pushed to inbound: https://hg.mozilla.org/integration/mozilla-inbound/rev/781df25c776f
Assignee | ||
Comment 6•12 years ago
|
||
Comment on attachment 689705 [details] [diff] [review] Fix checkerboard stop recording race [Approval Request Comment] Bug caused by (feature/regressing bug #): Intermittent test failures User impact if declined: Will make sheriff's lives harder :) Testing completed (on m-c, etc.): Tested locally Risk to taking this patch (and alternatives if risky): Low risk String or UUID changes made by this patch: None Somehow kats' review got lost (conflict?) - I have the email with the r+ and IRC confirmation though, so just marking it as such. Also requesting for aurora, where this bug will exist since the low-precision tiles work merge.
Attachment #689705 -
Flags: review?(bugmail.mozilla)
Attachment #689705 -
Flags: review+
Attachment #689705 -
Flags: approval-mozilla-aurora?
Comment 7•12 years ago
|
||
(In reply to Chris Lord [:cwiiis] from comment #6) > Somehow kats' review got lost (conflict?) - I have the email with the r+ and > IRC confirmation though, so just marking it as such. Yeah that was weird, apparently I closed my laptop while it was in the midst of submitting and so it didn't complete properly.
Updated•12 years ago
|
Assignee: nobody → chrislord.net
QA Contact: chrislord.net
Updated•12 years ago
|
Whiteboard: [native-crash]
Reporter | ||
Comment 8•12 years ago
|
||
(From a while back) https://tbpl.mozilla.org/php/getParsedLog.php?id=17672531&tree=Mozilla-Inbound
Comment 9•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/781df25c776f
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 20
Comment 10•12 years ago
|
||
Comment on attachment 689705 [details] [diff] [review] Fix checkerboard stop recording race low risk, test fix, approving.
Attachment #689705 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 11•12 years ago
|
||
Uplifting for Cwiiis since he's on vacation now. https://hg.mozilla.org/releases/mozilla-aurora/rev/c4131283618f
status-firefox19:
--- → fixed
status-firefox20:
--- → fixed
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•