mozdevice 3.2.3 doesn't work on non-rooted device w/ mozregression
Categories
(Testing :: mozregression, defect)
Tracking
(Not tracked)
People
(Reporter: agi, Assigned: bc)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
This used to work, it broke recently.
$ ./mach mozregression --good 2020-05-20 --app gve
**********
You should use a config file. Please use the --write-config command line flag to help you create one.
**********
0:00.00 INFO: No 'bad' option specified, using 2020-06-08
0:00.12 INFO: Getting mozilla-central builds between 2020-05-20 and 2020-06-08
0:00.49 INFO: Using 522db850edb38c34ddfc20860901e5db71a1c8cb (pushed on 2020-05-20 03:37:17) for date 2020-05-20
0:00.49 INFO: Using 63dc5e9b1b02b0aebd6badfe5eaef7bb9aa8f430 (pushed on 2020-06-08 21:38:11) for date 2020-06-08
0:01.21 WARNING: Skipping build 522db850edb3: Unable to find build info using the taskcluster route 'gecko.v2.mozilla-central.revision.522db850edb38c34ddfc20860901e5db71a1c8cb.mobile.android-api-16-opt'
0:01.46 INFO: Testing good and bad builds to ensure that they are really good and bad...
0:01.46 INFO: Downloading build from: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Oa9UQnw1QR6iFqT62-cjzA/runs/0/artifacts/public%2Fbuild%2Fgeckoview_example.apk
===== Downloaded 100% =====
0:02.56 INFO: Running mozilla-central build built on 2020-05-20 03:58:24.760000, revision 855249e5
0:02.58 WARNING: Unable to find application.ini
0:02.58 WARNING: Unable to find platform.ini
0:02.59 INFO: Using adb 1.0.41
0:03.12 INFO: adbd not restarted as root
0:03.23 INFO: su -c setenforce 0 exitcode 0, stdout: None
0:03.55 INFO: /system/bin/ls -1A supported
0:03.66 INFO: Native cp support: True
0:03.77 INFO: Native chmod -R support: True
0:03.87 INFO: Native chown -R support: True
0:03.98 INFO: Ignoring attempt to set SELinux Permissive.
0:04.09 INFO: Native pidof support: True
0:27.41 ERROR: Unable to start the application (error: Can not run command chmod -R 777 /data/local/tmp/tests as root!)
0:27.41 ERROR: Unable to start the application (error: Can not run command chmod -R 777 /data/local/tmp/tests as root!)
0:27.42 INFO: Last good revision: 855249e545c361516a65bcba8f5bc6b423e2d131
0:27.42 INFO: First bad revision: 63dc5e9b1b02b0aebd6badfe5eaef7bb9aa8f430
0:27.42 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=855249e545c361516a65bcba8f5bc6b423e2d131&tochange=63dc5e9b1b02b0aebd6badfe5eaef7bb9aa8f430
Comment 1•4 years ago
|
||
This looks like a mozdevice problem, looks like 3.2.3 was released in the last couple days though I'm not seeing anything in the commit log that's obviously at fault. The only thing that remotely looks like it could be responsible would be this changeset:
https://hg.mozilla.org/mozilla-central/rev/826588d52381e4dc29d776141b77cf09d0c27ae8
:agi, :sotaro, can you try installing mozregression inside a virtualenv per these instructions and see if it works? If so, the issue is almost certainly with mozdevice (per requirements we are pinning to mozdevice 3.1.0 in mozregression itself: https://github.com/mozilla/mozregression/blob/master/requirements/all.txt#L249)
Reporter | ||
Comment 3•4 years ago
|
||
It does work when I install it from source, only the mach
version has this problem for me.
Comment 4•4 years ago
|
||
(In reply to Agi Sferro | :agi | ⏰ PST | he/him from comment #3)
It does work when I install it from source, only the
mach
version has this problem for me.
Did you install from requirements? If so, can you try pip install mozdevice==3.2.3
inside the virtualenv and then re-run?
Assignee | ||
Comment 5•4 years ago
|
||
I am making progress with bug 1486004 and hope to have a solution for rootless devices soon.
Comment 6•4 years ago
|
||
(In reply to William Lachance (:wlach) (use needinfo!) from comment #1)
:agi, :sotaro, can you try installing mozregression inside a virtualenv per these instructions and see if it works?
It worked for me!
And since "pip install mozdevice==3.2.3", GeckoView example app did not start during mozregression.
Comment 7•4 years ago
|
||
Thanks Sotaro + Agi.
:bc, I know you just said you're working on larger refactorings around this issue in bug 1486004, but is there any chance you could do an interim fix for this particular issue? mozregression doesn't really use much of mozdevice, and it would help reduce confusion. People have been using mozregression to bisect gve a whole bunch in the last few months, I'd expect this issue to continue to cause problems until it's fixed:
https://sql.telemetry.mozilla.org/queries/71917
See comment 1 for the likely culprit.
Assignee | ||
Comment 8•4 years ago
|
||
Sure. Part of the changes I am considering are to relax the requirement that /data/local/tmp exist or be accessible. I'll make that change and test it locally with mozregression and then release a minor update once it lands.
Assignee | ||
Comment 9•4 years ago
|
||
agi: You don't have a /data/local/tmp on your device at all? What device is it?
Reporter | ||
Comment 10•4 years ago
|
||
I do have a /data/local/tmp
, I use a Samsung Galaxy S7
Assignee | ||
Comment 11•4 years ago
|
||
The issue is not completely due to the lack of root but is also due to the location and permissions of the profile /data/local/tmp/tests
. The default location of the test root was changed to /data/local/tmp/tests in Bug 1631671 to work around scoped storage issues. The profile is created with permissions: drwxrwxr-x 2 shell shell 4096 2020-06-10 12:13 tmpcpofamv9.mozrunner
. Once the root requirement is relaxed we still fail to start due to E AndroidRuntime: java.lang.IllegalArgumentException: Profile directory must be writable if specified: /data/local/tmp/tests/tmpcpofamv9.mozrunner
. To work around that would require dead-end work for a short term gain. Until this is fixed, the out-of-tree mozregression should be used. I'm going to wontfix this so I can continue the rootless development in bug 1486004 which will eliminate this issue. I will make sure mozregression works as a separate package and in tree via mach with the new release. I expect to have bug 1486004 resolved within a week.
Comment 12•4 years ago
|
||
Thanks :bc, I just gave a few heads-ups about this on Matrix. At least we have a workaround until this is fixed!
Assignee | ||
Comment 13•4 years ago
•
|
||
I've just confirmed that the current wip root less change to mozdevice combined with a one line change to mozregression suffices to allow mozregression to complete a bisection using the same arguments as comment 0. So, this is looking good so far.
Assignee | ||
Comment 14•4 years ago
|
||
agi: mozdevice 4.0.0 and mozregression 4.0.11 have been released and you should now be able to use mozregression with an unrooted phone. Let me know if you have any problems.
Updated•4 years ago
|
Description
•