Closed Bug 825426 Opened 12 years ago Closed 10 years ago

Intermittent Robocop testAllPagesTab & talosError: 'Exception caught: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission [browser_output.txt]'

Categories

(Firefox for Android Graveyard :: Awesomescreen, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: jdm, Unassigned)

References

Details

(Keywords: intermittent-failure)

https://tbpl.mozilla.org/php/getParsedLog.php?id=18326340&tree=Mozilla-Inbound
Android no-ionmonkey Tegra 250 mozilla-inbound opt test robocop on 2012-12-28 13:55:17 PST for push 22310b95d586

slave: tegra-256

2 INFO TEST-UNEXPECTED-FAIL | testAllPagesTab | Exception caught - java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission

0 INFO SimpleTest START
1 INFO TEST-START | testAllPagesTab
Exception caught during test!
java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
	at android.os.Parcel.readException(Parcel.java:1247)
	at android.os.Parcel.readException(Parcel.java:1235)
	at android.view.IWindowManager$Stub$Proxy.injectKeyEvent(IWindowManager.java:819)
	at android.app.Instrumentation.sendKeySync(Instrumentation.java:859)
	at android.app.Instrumentation.sendStringSync(Instrumentation.java:842)
	at org.mozilla.fennec.FennecNativeActions.sendKeys(FennecNativeActions.java:392)
	at org.mozilla.fennec.tests.BaseTest.enterUrl(BaseTest.java:201)
	at org.mozilla.fennec.tests.BaseTest.loadUrl(BaseTest.java:217)
	at org.mozilla.fennec.tests.testAllPagesTab.testAllPagesTab(testAllPagesTab.java:53)
	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:125)
	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)
2 INFO TEST-UNEXPECTED-FAIL | testAllPagesTab | Exception caught - java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
3 INFO TEST-END | testAllPagesTab | finished in 17784ms
I'm also seeing this pretty frequently on the panda's in staging:

Builder Android 4.0 Panda mozilla-central talos remote-trobocheck2 Build #1146 

Talos Exception:
Traceback (most recent call last):
  File "run_tests.py", line 258, in run_tests
    talos_results.add(mytest.runTest(browser_config, test))
  File "/builds/panda-0061/talos-data/talos/ttest.py", line 373, in runTest
    test_results.add(browser_log_filename, counter_results=counter_results)
  File "/builds/panda-0061/talos-data/talos/results.py", line 120, in add
    browserLog = BrowserLogResults(filename=results, counter_results=counter_results, global_counters=self.global_counters)
  File "/builds/panda-0061/talos-data/talos/results.py", line 316, in __init__
    self.error(match.group(1))
  File "/builds/panda-0061/talos-data/talos/results.py", line 331, in error
    raise utils.talosError(message)
talosError: 'Exception while replaying events: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission [browser_output.txt]'


Interesting bit of logcat:
02-03 19:25:39.585 I/TestRunner( 2194): finished: testCheck2(org.mozilla.fennec.tests.testCheck2)
02-03 19:25:39.585 I/TestRunner( 2194): passed: testCheck2(org.mozilla.fennec.tests.testCheck2)
02-03 19:25:39.593 D/AndroidRuntime( 2182): Shutting down VM
02-03 19:25:39.593 I/ActivityManager( 1401): Force stopping package org.mozilla.fennec uid=10046
02-03 19:25:39.593 I/ActivityManager( 1401): Killing proc 2238:org.mozilla.f3nn3c.UpdateService/10046: force stop
02-03 19:25:39.593 I/ActivityManager( 1401): Killing proc 2194:org.mozilla.fennec/10046: force stop
02-03 19:25:39.617 I/AndroidRuntime( 2182): NOTE: attach of thread 'Binder Thread #3' failed
02-03 19:25:39.734 I/SUTAgentAndroid( 1894): 10.12.137.20 : isdir /mnt/sdcard/tests
02-03 19:25:39.765 I/SUTAgentAndroid( 1894): 10.12.137.20 : cd /mnt/sdcard/tests
02-03 19:25:39.796 I/SUTAgentAndroid( 1894): 10.12.137.20 : ls
02-03 19:25:39.851 I/SUTAgentAndroid( 1894): 10.12.137.20 : pull /mnt/sdcard/tests/browser_output.txt
02-03 19:25:39.882 I/System  ( 1894): Failed to destroy process 2182
02-03 19:25:39.882 I/System  ( 1894): libcore.io.ErrnoException: kill failed: ESRCH (No such process)
02-03 19:25:39.882 I/System  ( 1894): 	at libcore.io.Posix.kill(Native Method)
02-03 19:25:39.882 I/System  ( 1894): 	at libcore.io.ForwardingOs.kill(ForwardingOs.java:77)
02-03 19:25:39.882 I/System  ( 1894): 	at java.lang.ProcessManager$ProcessImpl.destroy(ProcessManager.java:257)
02-03 19:25:39.882 I/System  ( 1894): 	at com.mozilla.SUTAgentAndroid.service.RedirOutputThread.run(RedirOutputThread.java:148)

Joel, any obvious problems in these parts of code? (or ideas on who to forward the question to)
Flags: needinfo?(jmaher)
My understanding of this problem is that we have an error in Fennec and the process crashes and robocop continues to execute commands.  I am not sure what to do for next steps, is this a top 10 failure in our automation?
Flags: needinfo?(jmaher)
https://tbpl.mozilla.org/php/getParsedLog.php?id=19569140&tree=Mozilla-Inbound
Summary: Intermittent testAllPagesTab | Exception caught - java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission → Intermittent Robocop testAllPagesTab & talosError: 'Exception caught: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission [browser_output.txt]'
It looks like the Watcher is failing (crashing?) on Pandas, and then robocop tests fail when they click on the Keyguard app. 

Most of these logs have something like:

03-08 05:21:41.437 W/ActivityManager( 1402): Scheduling restart of crashed service com.mozilla.watcher/.WatcherService in 5000ms
...
03-08 05:21:45.312 W/InputDispatcher( 1402): Permission denied: injecting event from pid 2231 uid 10046 to window Window{4137aee8 Keyguard paused=false} owned by uid 1000
Comment 14 is similar:

04-18 17:15:18.296 I/ActivityManager( 1402): No longer want com.mozilla.watcher (pid 1836): hidden #16
04-18 17:15:18.304 W/ActivityManager( 1402): Scheduling restart of crashed service com.mozilla.watcher/.WatcherService in 5000ms
See Also: → 848977
Depends on: 867360
Closing inactive keywords:intermittent-failure bugs where the TBPLbot has previously commented and the test isn't marked as disabled; filter on orange-cleanup-201401.
Status: NEW → RESOLVED
Closed: 10 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.