mozilla :: #mobile

16 Mar 2017
00:05Caspy7Raticide: sorry for the silence, it may be that most devs are in CA and have stopped the work day. You may also try http://support.mozilla.org/
00:05Caspy7that would be my suggestion now
00:05Raticideno worries. I'll just use the beta until it's fixed.
00:18snorpRaticide: what device?
00:19snorpRaticide: thanks for letting us know
00:19Raticidenexus 6p
00:19RaticideSeems to be a common issue judging by the reviews
00:19snorpHmm, I'm on Pixel
00:19snorpHave a 6P at home though so I'll try in a bit
00:25grishanalexander: thanks Nick! (sorry for the delay, just got back to irc). tbh i'm not sure "we set the pattern long ago" is a great argument for sticking to the said pattern (a lot of this stuff was written 3-4 years ago and not touched very much since, right?). it does mean that changes need to be thought out, well documented, etc., but i'd love to be able to
00:25grishamake those changes _if_ they unblock easier patterns and not break things in the meantime
00:28rnewmangrisha: I think the argument is not about time, but about established volume of code
00:29rnewmanand one neither wants to change lots of uses, nor have two different and conflicting approaches
00:32grishaok, sure, but it feels like this way of reasoning gets you locked into non-optimal ways of doings things, and over time diminishes your ability to actually improve - you have even more established use cases, and your stated argument grows stronger
00:33grishawell, /s/non-optimial/established - but code base evolves, and what was established for use cases 1...n might not work as well for n+1
00:33grishai guess it's a broader discussion about evolving legacy code
00:35grishaand i don't feel very strongly one way or the other in _this_ particular case, but it would be good to get better bearings on what the .. philosophical implications are ;)
00:49snorpRaticide: do you know how to get a logcat by chance?
00:59snorpRaticide: also are you in the android beta program?
07:04ahunthttps://irccloud.mozilla.com/pastebin/jnqrDl8B/
07:04ahuntI was testing with release, and notice the same slow behaviour others have experienced, and noticed a lot of ^^^ in my logcat
07:06ahuntThe timing of those messages seems unrelated to when my whole device slowed down though (and that slowdown stopped when I killed firefox, which is odd)
08:41jcristausebastian: how much do we need to panic about 1347755
08:41jcristau?
08:44sebastianjcristau: Good question. From looking at Google Play reviews and Reddit it seems to affect some folks. But I have no idea how many. It's only in the release version and no other channel. Yesterday I tried to look whether our ratings have gone down, but there's no down trend.
09:04sebastianahunt: Let's both go through the issues individually today and see if anything is missing [v1] or [needs strings]. So far it looks like we have string freeze tomorrow. :)
09:07ahunt+1
09:26ahuntFwiw the release slowdowns stopped as soon as I turned off our (mdns supporting) printer
09:33sebastianahunt: Add this here: https://bugzilla.mozilla.org/show_bug.cgi?id=1347755 - from looking at reviews and reddit I also think this isn't limited to chromecasts
09:33firebotBug 1347755 NEW, nobody@mozilla.org Can't load pages in Firefox 52 while doing a video casting with a Chromecast device
09:33sebastianahunt: And you only see this in Release as well? :)
09:34ahuntI'll try to do some debugging and more testing later - currently out getting coffee atm
09:48daleharveyBeen notified about some android linting failures @ https://treeherder.mozilla.org/logviewer.html#?job_id=84041388&repo=mozilla-inbound&lineNumber=3789 but I cant reproduce them
09:48daleharveyit doesnt seem to be mach lint or mach gradle checkstyle and android-lint doesnt seem to be a command
09:52daleharveyah its mach gradle lint
09:53sebastianyep :)
09:54sebastiandaleharvey: You can see the report online if you haven't seen the link: https://public-artifacts.taskcluster.net/CXBeD6nbSC-36rFEBD-kTg/0/public/android/lint/lint-results-automationDebug.html#UnknownIdInLayout
09:55daleharveysebastian: ah nice I missed that, thanks
09:56sebastianonly "errors" break the build, so ignore all the warnings in there, they are not related to your code necessarily :)
09:59daleharveyyup found it, just waiting on my build to verify the fix
10:01ahuntIIRC there was some new lint feature that lets you set baseline/existing warnings, so you can get errors if new code has a more minor lint issue without having to fix all existing warnings
10:02ahuntI wonder if we should do that (not sure what tool versions are required)
10:02ahunthttp://tools.android.com/tech-docs/lint-in-studio-2-3
10:06sebastianahunt: Btw. how long are you staying in Europe?
10:16ahuntsebastian: I'm leaving this weekend unfortunately
10:17ahuntBack in June but...
10:30sebastianahunt: Oh, so no European Focus launch party :/
10:31sebastianahunt: I'll be in SF in May for I/O
10:55Tomcat|sheriffdutydaleharvey: so you will push a fix ?
10:57daleharveyTomcat|sheriffduty: yup was just waiting on my build
10:58ahuntHmm, I cant reliably reproduce the slowdowns. The printer is back on, and Im getting no issues (it might not be connected to the printer)
10:58ahunts/it/the slowdown issue/
10:58Tomcat|sheriffdutycool
11:00Tomcat|sheriffdutydaleharvey: if you want i can land then the fix directly on m-c
11:22xitHello guys
11:22xiti was following the "Simple Firefox for Android build" guide
11:22xitI cloned the source code
11:23xitand the guide tells me to "mach package" but i get "mach: command not found"
11:23xitwhat am I missing here?
11:23ahuntxit: try running ./mach package
11:23xitdone that
11:23xit"bash: ./mach: No such file or directory"
11:24xitthis is true cause no mach is in the directory
11:24ahuntxit: are you in the main source directory?
11:24xit"/home/xit/Projects/Firefox/src"
11:24xitwhere xit is my username
11:25ahuntxit: is there a mozilla-central directory there? If yes, cd mozilla-central, and you should find mach in there
11:25xityeah, you are right
11:25xitalright new issue " make: *** No rule to make target 'package'. Stop."
11:27ahuntxit: you need to build with ./mach build first - but before you do that, make sure youve set up a mozconfig: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build#Prepare_a_Firefox_for_Android_mozconfig
11:28xitalright
11:28xitI am an idiot
11:28xitdon't know how I missed that section
11:28xitthank you ahunt
11:28ahuntSigh, that page is now so convoluted - no wonder its so hard to build (It used to be a much simpler 1. get sources 2. set up mozconfig 3. build - now everything is in the wrong order)
11:31xitwell it could definitely be worse
11:31ahuntThis revision seems to be the last sane revision that doesnt tell you to build before actually configuring it to be an android build: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build$revision/1159738
11:31xitto be fair
11:32xitat the end of the bootstrap.py script
11:32xitit clearly stats that you should setup the mozconfig
11:33xitbut I ignored it since it was not in the guide
11:35daleharveyhey sebastian, sorry to be a hassle but I broke the build, any chance you could rubber stamp https://bugzilla.mozilla.org/show_bug.cgi?id=1336355 ?
11:35firebotBug 1336355 FIXED, dale@mozilla.com Launched manifest bookmarks should have their own taskswitcher entry
11:41sebastiandaleharvey: r+
11:43daleharveysweet thanks
11:43ahuntAh right, I might make that part of the guide a bit clearer (bootstrap is also very failure prone, so relying on that to get a build isnt such a great idea IMHO)
11:48walkingiceIf I attached a patch to a bug, and I want to update it. May I just edit that patch?
11:50sebastianwalkingice: You can't edit a patch on bugzilla, you will need to upload a new one
11:52walkingiceI see, Danke!
11:55sebastianahunt: https://people-mozilla.org/~npark/Focus_Screenshot/de-/images/phoneScreenshots/dirindex.html <--- somehow the word mark is missing in njpark&#39;s screenshots?
11:57ahuntHmm - I remember having some issues loading resources in the webview when the package name doesnt match the app ID, but it seemed to work for me
11:57sebastianoh, and the label of the SettingsActivity is hard coded in the manifest :D
11:59sebastian*patch*
12:03sebastianahunt: I think I&#39;m going back to telemetry for the rest of the day.
12:08ahuntSure! I think weve got most strings sorted now, except for About %s (Im fixing that up now), and external links (still need some last feedback, partly done)?
12:48ltedoneI had the problem with the slowdown yesterday
12:48ltedoneOn my smartphone and my tablet
12:52sebastianahunt: Does the feedback include the strings? Otherwise let&#39;s land them separately today. I&#39;ll to another export today. :)
12:52sebastianltedone: And do you have a Chromecast on your network too?
12:53ahuntsebastian: the main issue I still want to clarify is the open google play to search for an app string (because I dont think thats really a good solution, and no other browser does that)
12:53ahuntI have one more string that is ready though
12:56ltedonesebastian: yes, two of them
12:56ltedoneBut I wasn&#39;t using thrm
12:58sebastianSomeone else? I noticed that is doesn&#39;t matter which device uses them. If my wife streams something to the TV then Firefox release stops working on my phone. :)
13:07ahuntI still havent managed to reproduce since turning on/rebooting my printer - but I have noticed mdns doesnt work at all on my phone (i.e. typing xyz.local finds the printer on desktop, but not in any browser on mobile - i.e. nightly, release, chrome, focus)
13:35snorpstandups: investigated sluggishness/hangs in 52 -- caused by mDNS JS impl, going to disable (already in 53)
13:35standupsOk, submitted #43800 for https://www.standu.ps/user/snorp/
13:36rnewmangrisha: sorry to mark things as r-, but MozReview makes leaving the flag unchanged or cleared less useful, and marking as r+ can mean autoland
13:37snorpdon&#39;t apologize for r-
13:37snorpit&#39;s not like you are insulting his mom
13:37snorpif it needs fixes, it needs fixes
13:37snorphappens to everyone except jchen
13:50rnewmansnorp: heh
14:51sebastianahunt: Timzone heads up! Meeting in 10 minutes :)
14:51ahuntsebastian: heh, I actually checked my calendar extra early today : )
14:51sebastianheh
15:16flodmkaply: what about https://dxr.mozilla.org/mozilla-central/rev/ff04d410e74b69acfab17ef7e73e7397602d5a68/mobile/locales/Makefile.in#58 ?
15:16mkaplyflod: Dang. Made the local change and then promptly forgot it.
15:17mkaplysnorp: Do we know why those hangs only started in FF52? What changed?
15:17snorpmkaply: no idea
15:17snorpmkaply: nothing changed AFAICT
15:17snorpthat code has been used since 47
15:18snorpand also I never remember experiencing it on nightly
15:18snorpand I&#39;ve had a chromecast the whole time
15:18mkaplysnorp: Were you using the TV USb to power the Chromecast? Is it possible it was off a lot?
15:18mkaplyflod: Fixed
15:19mkaplyMaybe something changed in the Chromecast?
15:20snorpmkaply: possible
15:20snorpmkaply: I was not using the TV to power it
15:20snorpI think the TV provides power all the time anyway
15:20snorpsince the chromecast can turn the tv on itself
15:22xithey, I&#39;m trying to build firefox for android thought &quot;mach build&quot;
15:23xitafter fixing all the dependency problems
15:23xiti get this &quot;/home/xit/Projects/Firefox/src/mozilla-central/obj-arm-linux-androideabi/dist/system_wrappers/string:3:23: fatal error: string: No such file or directory #include_next <string>&quot;
15:23xitanybody have any clue?
15:24snorpxit: looks to me like you&#39;re not building android
15:24snorpxit: but linux for arm
15:24snorpxit: can you paste your mozconfig
15:24xitoh
15:25xitsure
15:25xit&quot;# Build Firefox for Android: ac_add_options --enable-application=mobile/android ac_add_options --target=arm-linux-androideabi # With the following Android SDK: ac_add_options --with-android-sdk=&quot;/usr/lib/android-sdk&quot; ac_add_options --with-android-ndk=&quot;/opt/android-ndk-r14&quot; &quot;
15:26xitprolly could have formatted that better
15:26xiti guess the issue is the target
15:27xitwhat should it look like? :|
15:30snorpoh
15:30snorpno that looks fine
15:30snorpI misread
15:31snorpxit: ndk r14 probably has a problem
15:31snorpxit: we use r11b
15:31snorpxit: if you use &#39;mach bootstrap&#39; it will download that for you
15:31xitok I&#39;ll try that
15:33xitit installed r11c
15:34snorpxit: it&#39;s using /opt/android-ndk-r14
15:34snorpr11c should work
15:35xityeah yeah, i have to change the mozconfig to match the ndk downloaded by the mach bootstrap
15:55nalexandersnorp: just FYI, we no longer use r11b in automation, and I just had a contributor update the bootstrap to r11c. (And the MDN minimum required version.)
15:55snorpnalexander: ah, cool
15:55snorpnalexander: did we need to upgrade it?
15:55snorpoh
15:55nalexandergrisha: re: philosophical implications of changing old code, let&#39;s talk about this more in person.
15:56snorpwe already used it in automation, got it
15:56nalexandersnorp: you reviewed the upgrade patch!
15:56snorpnalexander: lol
15:56snorpnalexander: OH
15:56snorpnalexander: while I have you here
15:56snorpnalexander: how do you feel about publishing geckoview.aar to some public maven/ivy/whatever repo
15:56snorpnalexander: every m-c build
15:56snorpor at worst, nightly
15:57snorpnalexander: and is this a difficult thing for someone to hack up via the gradle build?
15:57nalexandergrisha: in general, you are the person best positioned to change patterns and to weigh up the consequences. As a reviewer, I&#39;ll take &quot;change pattern&quot; or &quot;stick with pattern&quot;, but I won&#39;t take &quot;mangle pattern with a one off that&#39;s not justified&quot; :)
15:57nalexandersnorp: I think we should publish, absolutely, and it&#39;s not hard to arrange using Gradle.
15:58snorpnalexander: are you the only person on earth who could do it
15:58snorpnalexander: and are you willing to
15:58snorp:)
15:58nalexandersnorp: what is hard to arrange is either hosting our own repo (work for releng) or making this thing work when the remote repo is down (work for releng &#39;cuz now the build depends on an external service, with its own lifetime)
15:58snorpnalexander: I think we&#39;d use some existing public repo
15:58snorpand if that thing goes down who cares
15:58nalexandersnorp: no, it&#39;s not that hard. It&#39;s hard to do with releng&#39;s credentials, etc, and Mozilla controlling the artifacts in the way that releng would really want to.
15:59nalexandersnorp: well, it can&#39;t impact our builds and our build results, but if it&#39;s down indefinitely, a thing we produce isn&#39;t available, etc, etc.
15:59snorpnalexander: for now I&#39;m not worried about any of that robustness stuff
15:59snorpget it working, then iterate, etc
15:59nalexandersnorp: but the thing is we can&#39;t push stuff into infra that _doesn&#39;t_ worry about robustness, &#39;cuz we can&#39;t break our process.
15:59snorpnalexander: right, obviously we can&#39;t break our build
16:00nalexandersnorp: the story has to be in place before we see an outage and back up our builds.
16:00snorpbut if the publish phase fails that should not break the build
16:00nalexandersnorp: but just ignoring failures due to network issues is how we have seen wild problems throughout the infra experience.
16:00snorpnalexander: the canonical place for builds would be whatever releng has currently
16:00snorpfor now, at least
16:00snorpfor &quot;releases&quot; of GV, something else may be necessary
16:00snorpsimilar to what we do for the play store and fennec
16:01nalexandersnorp: in any case, I don&#39;t think it would be hard to push Nightly builds to jcentral or similar.
16:01nalexandersnorp: it&#39;s getting private credentials that might be tricky.
16:01snorpok jcenter is what I was thinking too so that&#39;s good
16:01nalexandersnorp: can you file a ticket so I can comment?
16:02snorpjust did
16:02snorpcc&#39;ed you
16:02snorpbug 1347973
16:02nalexandersnorp: OK, I should get to it today.
16:02firebothttps://bugzil.la/1347973 NEW, nobody@mozilla.org Publish GeckoView builds on jcenter
16:02snorpnalexander: excellent
16:02snorpnalexander: I think focus could just use that for the buildbuddy builds, right?
16:03nalexandersnorp: correct. I talked to s.ebastian a bit about this.
16:03snorpgood
16:03nalexandersnorp: there&#39;s a small amount of work to actually version GV like we do Fennec, or (hopefully) in a simpler manner, but I&#39;ll comment on the ticket about that too.
16:04snorpnalexander: ugh, ffs
16:04snorpversioning
16:05snorpcommit hook that increments a number
16:05snorpship it
16:47sebastiannalexander: Nightly builds on jcenter <3
17:18grishanalexander: point taken. let&#39;s chat in person too :)
17:38xiti&#39;ve been building firefox for android for the last 118 minutes
17:39xitI have to turn off the pc now, is there a way to &quot;hibernate&quot; the building process
17:39xitand start again tomorrow ? (from the same point of course)
17:41kbrosnani don&#39;t expect hibernation to work well with building
17:41xitme neither
17:41ketaseasiest is to just keep things running... i mean you build anyway, which means no power saving
17:41xiti was just wondering
17:41ketasi bet you can ^C it and hopefully continue...
17:42xitthe issue is I&#39;m at work and leaving (don&#39;t tell my boss I&#39;m building firefox instead of actually working)
17:44ketasseems about as big issue as taking dump in work toilet
17:44xitis that an issue?
17:44xit:P
17:44ketasyou tell me
17:45xitsometimes the best solutions to problems come while in the toilet
17:54xit133 minutes, god my machine is aweful
17:56snorpjchen: is there any good reason we should really ever get onDestroy() in GeckoApp?
17:57snorpjchen: only if we use the quit addon to call finish(), right?
17:57jchensnorp: android can destroy our activity
17:57snorpjchen: it can, but it just SIGKILLs it in that case, pretty sure
17:57jchensnorp: e.g. when you turn on &quot;don&#39;t keep activities&quot;
17:57snorpoh right, that
17:58snorpit might call onDestroy then....
18:03sebastianafaik the docs had a good explanation of what life cycle methods are guaranteed to get called when the app gets killed and which are not
18:04AaronMTwonder who signed me up for qualcomm dev newsletters
18:07sebastiannjpark: Not sure if I pinged you already, but we did a new string import today :)
18:07njparksebastian: just noticed! error messages are now localized!
18:07sebastianperfect :)
18:08njparki raised a minor bug about market:// link, I think i should be able to do that test on a real device
18:08sebastianjust commented :)
18:08sebastianI saw this too yesterday and forgot to file. Thanky ou!
18:09njparkah just saw it, yeah for now I can get around this with extra steps. thanks!
18:09njparksebastian: next week I&#39;ll start adding some ui tests into master, won&#39;t slow things down by too much
18:11sebastianokay :)
18:11njpark...I hope :)
18:11sebastianNow things are pretty stable so tests are pretty much appreciated :)
18:11njparksebastian: that reminds me, when&#39;s the help page going to be added?
18:14sebastiannjpark: Um, soon, I think we do not know the correct SUMO link yet (It&#39;s just displaying a SUMO page)
18:15njparksebastian: it displays a link for you? For me it&#39;s just blank area for now
18:15sebastiannjpark: No, I mean it should. :)
18:15njparkahh got it, so it&#39;s not big a deal then :)
18:28ahuntBTW is drawing web-content in the status bar expected/desired?
18:28ahunt(In focus)
18:44delphinenjpark: saw the new locales are now in the screenshot batch for Focus on Android - thanks!
18:44sebastianahunt: it is, but it has it problems with some pages
18:44njparkdelphine: yup, currently working on tweaking tests to get all the error msgs as well
18:46delphinegreat
18:59JanHdoes anybody have any experience with robocop running into &quot; Click at (752.0, 3.0) can not be completed!&quot; like errors?
19:01JanHI&#39;m trying to unbreak the session store robocop tests and it&#39;s mostly working, except that at some point NavigationHelper.goForward() consistently fails to open the app menu
19:01JanHboth on my phone and on try (https://treeherder.mozilla.org/#/jobs?repo=try&revision=fee3f48e4203b878b8b5d10ef345fff0b40dc0c4&selectedJob=84128210)
19:01JanHstrangely enough it&#39;s working earlier in the test, though
19:03gbrownJanH: in the distant past, I&#39;ve seen that &quot;Injecting to another application requires INJECT_EVENTS permission&quot; mean that we tried to click outside of Fennec
19:03JanHgbrown: I&#39;ve figured that much, what I wonder is why that happens?
19:05JanHgbrown: basically, when the test starts it goes forward once (which works), then it goes back (which uses the &quot;hardware&quot; back button) and switches tabs a few times, and then eventually it tries to go forward again - at which point the test somehow fails to click on the overflow menu button again
19:05mbrubeckIn Aurora (for Android) recently, I&#39;ve been seeing it frequently open a new about:home tab spontaneously, a few seconds after I have opened the tab tray or opened a link from another app.
19:06JanHmbrubeck: probably bug 1346634
19:06snorpjchen: can you look at my patch for bug 1347755 please
19:06firebothttps://bugzil.la/1346634 ASSIGNED, nchen@mozilla.com Session restore fails
19:06firebothttps://bugzil.la/1347755 NEW, nobody@mozilla.org Can&#39;t load pages in Firefox 52 with a Chromecast device on the same network
19:06mbrubeckI couldn&#39;t find an existing bug for this with some quick searching. Before I file one, does anyone know?
19:06mbrubeckThanks janh
19:11AaronMTlol 1347755
19:13gbrownJanH: I don&#39;t know. The y-coord looks suspicious to me. We expect the overflow menu button to be in the upper right, so it&#39;s in the right neighbourhood, and x=752 seems safe on an 800 wide device, but 3 seems too close to the top. NavigationHelper is probably trying to click on a view...maybe the wrong view, maybe the view is being layed out or otherwise has the wrong coords?
19:13jchensnorp: lgtm. i think i was looking at that at the all hands. i thought all the fennec phones were ddosing whoever&#39;s chromecast device at the all hands
19:13snorpjchen: I remember you mentioning it
19:13snorpjchen: it probably was this
19:13AaronMTlol
19:13AaronMTfxos strikes again
19:13snorpI don&#39;t really understand wtf is going on
19:14snorponly that the JS mDNS impl is hosed
19:14snorpit&#39;s bad and it should feel bad
19:14snorpand why would we use that over the java one is beyond me
19:14rnewmanI thought the Java one killed people&#39;s batteries too?
19:15rnewmanI remember that landing then getting partly backed out?
19:20snorprnewman: I do vaguely remember something about that too
19:20snorpmaybe we should kill presentation api at the same time
19:21snorpsince I think that&#39;s what uses it
19:21snorpoh fuck
19:21snorpoh, hmm
19:21snorppresentation api only turned on in nightly?
19:21snorpwtf is using this?
19:22snorpoh on 52 it&#39;s enabled unconditionally
19:22snorpwhat is this clownshoes
19:25rnewmanfeature flags bite again
19:26sebastianTIL: &quot;what is this clownshoes&quot;
19:28rbarkersnorp: is this the presentation stuff to send video to CrCast or just mirror the page? Because I&#39;m pretty sure the mirror stuff (which I wrote) is only active after you turn on mirroring externally in Android.
19:28snorprbarker: it&#39;s actually for fxos TVs I think
19:28snorpit also can support chrome
19:28snorpbut that&#39;s not in 52 AFAIK
19:28snorpchromecast, that is
19:33JanHgbrown: it seems to start mis-clicking after the tabs tray has been show at least once
19:34JanHgbrown: I wonder whether it gets confused by the overflow button in the tabs tray
19:35gbrowninteresting
19:48snorpsebastian: can I get android studio download all of the 500 libraries you are using in focus in one go
19:48snorprun gradle, hit the &#39;fix&#39; button, repeat, is getting old
19:48snorpoh I guess it finished
19:52snorpsebastian: I think I build the GV one because it don&#39;t work :)
19:52snorphow do I select the &quot;flavor&quot;?
19:52snorpandroid studio has changed a lot since I last used it
19:53esawinsnorp: Build/Build Variant
19:53snorpesawin: thanks
19:53snorpthat was not obvious
19:53snorpesawin: does it work with GV with your changes?
19:53esawinnothing is, it&#39;s an IDE
19:53snorpwe should update the GV in the focus repo
19:54esawinsnorp: which changes? it will load the first page
19:54snorpesawin: I think I broke it
19:54snorpby entering a url
19:54snorphuh, focus has a dynamic toolbar
19:54esawinby that I mean any page, not just the home screen
19:54snorpI wonder if that will work with GV...
19:55esawinwhat&#39;s the error?
19:56snorpjust doesn&#39;t load
19:56sebastianyeah, the dynamic toolbar kind of worked with GV too
19:56snorpshows mozilla.com
19:56snorpand blank page
19:57JanHnalexander: > &quot;JanH, are you certain that the robocop.apk produced was also built using Gradle?&quot;
19:57JanHnalexander: good point, I think that might actually very well be the cause
19:57sebastianwe have a regression in the gecko build that makes the GV invisible. You just see the loading indicator etc. but not the content. we fixed the toolbar, regressed gecko build and didn&#39;t care for now.
19:58nalexanderJanH: Android instrumentation is very delicate, since it injects into the testing process, and the o.m.g.R must match in the two APKs.
19:58JanHnalexander: the question is, how do I get the gradle robocop onto my device in that case?
19:58esawinsnorp: are you sure you&#39;re building focus? :)
19:58nalexanderJanH: now, if you build --with-gradle this should &quot;just work&quot;, but if you build with |./mach gradle ...| then you have to handle it yourself.
19:58esawinsnorp: or have you searched for mozilla.org?
19:58esawins/org/com
19:58sebastiansnorp: Revert this patch and you should see gecko view in focus again: https://github.com/mozilla-mobile/focus-android/commit/3e6d72b93c93a87283879daa96d81ab52fd4cdfe
19:59nalexanderJanH: you can run the Robocop tests from inside of AS. It&#39;s very delicate &#39;cuz you need to run |./mach robcop --serve| in a terminal in the background.
19:59nalexanderJanH: but then you can iterate on the test (and Fennec) in AS.
19:59nalexanderJanH: not sure that it still works, or that I ever documented that :)
20:00JanHnalexander: in any case thanks for the tip
20:00nalexanderJanH: otherwise, |./mach gradle installLocalDebugAndroidTest| or something similar will push the Gradle Robocop to the device. But getting |./mach robocop| to run it... I think you just want --with-gradle in your mozconfig fi you&#39;re building with Gradle and testing Robocop.
20:00nalexanderJanH: if that&#39;s busted, that&#39;s serious.
20:00JanHnalexander: I&#39;ll give it a try
20:00nalexanderThanks.
20:03sebastiansnorp: Ignore what I said. This is already fixed.
20:03snorpI guess we still need the e10s fix for it to be usable anyway
20:03esawinsnorp: I haven&#39;t landed anything on focus side yet, so unless someone else has, it won&#39;t work with GV as it is.
20:03snorpesawin: btw how goes on that
20:05esawinsnorp: everthing on the native side of things looks ok with the forced child process stop, but we still just fail (timeout) when binding the service after receiving onBind.
20:06snorpesawin: hmmm
20:06esawinwe never get onServiceConnected, no errors/warnings from android
20:06snorpesawin: bind() should return false right
20:06esawinat this point, I don&#39;t see how anything in the parent process could affect this?
20:07esawinbind()?
20:07esawinonBind should return the IBinder
20:08esawinoh, you mean bindService should return false? let me check.
20:09snorpright
20:09sebastianflod: delphine: Latest (maybe final) export: https://github.com/mozilla-l10n/focus-android-l10n/pull/8
20:10snorpesawin: but I thought we were still apparently connected at the binder level?
20:10snorpesawin: is that not true?
20:11esawinsnorp: not if we explicitly stop and unbind when shutting down ContentChild
20:12rbarkerSo unless something has broken, I tested the GMP service stopping (dying and unbinding) and starting (creation and binding) multiple times and everything worked (the binder callbacks). I wonder what is different with the ContentChild?
20:13rbarkerIf I recall, the GMP service was just calling exit() to quit.
20:16esawinbindService returns true :/
20:18rbarkeresawin: is it possible there is some onExit thing preventing the child content service from actually exiting?
20:19rbarkeresawin: Since you said the kill it with fire (i.e. kill -9) works?
20:20esawinrbarker: the child process is being killed, that doesn&#39;t seem to be a problem
20:20rbarkeresawin: maybe we need to find where the kill ipc message is sent from main process and also ask the Java side to stop the process?
20:20rbarkerThat is how Cr works. When the want to kill a service they go through binder.
20:21delphine@sebastian: hey haven&#39;t gone through the export yet - but doing a quick search it seems that there are now the &quot;About Us&quot; strings, but still missing the &quot;Your rights&quot; part. Just want to make sure that&#39;s expected and we&#39;ll get them in an upcoming export
20:21rbarkerI don&#39;t think they use IPC to stop the service anymore like we do.
20:21esawinthat child process isn&#39;t around anymore, I don&#39;t see it via ps either, if that&#39;s what you mean
20:22rbarkeresawin: but if binder in the parent process doesn&#39;t know it is gone, then it will think the service is still bound?
20:22esawin(with my changes which stop/kill it on ContentChild shutdown)
20:22rbarkerso restarting will fail until it is unboudn?
20:23ahuntdelphine: I think your rights might be english only (Im not too sure about the background - but its apparently intentional)
20:23delphineah, legal maybe?
20:23ahunt(Probably because its partly licensing text)
20:24sebastiandelphine: Your rights (just the title!) was already in the last export. And it&#39;s now translated in the screenshot (the actual page content is not9
20:24ahuntyeah exactly
20:24rbarkeresawin: I&#39;m just guessing since it all worked as I expected with GMP. Maybe you should try GMP and see if it still works?
20:24esawinrbarker: hm, I could move the unbinding into GeckoProcessManager.stop()
20:24esawinrbarker: how would test that?
20:24delphine@sebastian: ok so safe to assume to we don&#39;t translate the content of &quot;Your Rights&quot; for legal reasons then, right?
20:24delphinejust the title is localized
20:24rbarkeresawin: snorp sent me a page where you can create a WebRTC video that forces H.264.
20:25delphine(gonna double check with what we did on iOS but would make sense)
20:25jesupYou can force it at https://mozilla.github.io/webrtc-landing/pc_test.html
20:25rbarkeresawin: I&#39;m trying to find it... but I think I lost it when my Nexus 4 died.
20:25rbarkerjesup: thanks!
20:28rbarkeresawin: just be aware, H.264 is software only so don&#39;t run it for too long! I actually over heated my phone while test and the phone would shut down multiple times.
20:29rbarkerBut that was on the Nexus 5X which might be the worst Nexus ever created?
20:30rbarkerI&#39;ve never seen a phone shutdown and say &quot;I&#39;m too hot, come back later&quot;
20:32jchenhey my 5x works... okay...
20:32sebastiandelphine: Yep, correct! That&#39;s how iOS seems to do it too.
20:33esawinrbarker: what do I do, select H.264 video and hit play?
20:34esawinhittin start crashes
20:34esawinhitting
20:35esawinlooks like it crashes the media service
20:36rbarkerhmm, let me see. I don&#39;t get a crash but on mine it just says, H.264 isn&#39;t available...
20:37rbarkeresawin: you have to Prefer H.264 Mode 0
20:37esawinoh, hah, sorry. we can&#39;t really test video media on GV.
20:38rbarkeresawin: right. snorp needs to land his fix :)
20:38esawinforgot about that little detail
20:38snorpoops
20:38snorpit&#39;s close
20:40rbarkeresawin: looks like some is broken. I can&#39;t stop and start the GMP service any more. It only works once... :/
20:41rbarkerSo something has changed since I landed the service stuff. :/ we should probably have tests for this.
20:42esawinwfm on 52, are you on nightly?
20:42rbarkeryes
20:42rbarkerlet me try 52, one sec.
20:43esawinnightly just crashes on startup for me...
20:43rbarkeresawin: I don&#39;t think 52 is using services?
20:44rbarkeresawin: I think it is still using the fork version?
20:45rbarkeresawin: still works in Aurora...
20:45rbarkerfor me
20:46rbarkeresawin: I can start and stop repeatedly.
20:46delphine@sebastian: ok thanks :)
20:48rbarkeresawin: hmm, it is working in nightly for me as well. Updating nightly right now.
20:50esawinrbarker: yes, seems to work after reinstall
20:52rbarkeresawin: Nightly doesn&#39;t look like it wants to update, guess I can do it manually.
20:53rbarkerJust getting stuck on &quot;Looking for updates...&quot; which isn&#39;t terribly helpful...
20:53jchenthat&#39;s bug 1345967
20:53firebothttps://bugzil.la/1345967 ASSIGNED, nchen@mozilla.com Stuck about:firefox stuck at &#39;Looking for updates&#39; even after notification that new update is avail
20:54rbarkeresawin: I wonder if there is a difference between GV example and fennec for why binder is/isn&#39;t working?
20:54rbarkeresawin: just grasping at straws really :)
20:55rbarkerjchen: thanks, updating manually :)
20:56jchenrbarker: we added IProcessManager recently. maybe that&#39;s interfering with binder stuff
20:56esawinrbarker: so I can bind, unbind and (re)bind again on a clean start, no problems, but not with the native shutdown inbetween.
20:56snorpoh, hmmm
20:56snorpesawin: so Android will kill the process eventually anyway
20:57snorpmaybe we should not do exit() ourselves
20:57snorpbut then we need to leave native bits in a place where they can be rebound
20:57snorpwhich is probably impossible with e10s right now
20:57rbarkersnorp: I&#39;m pretty sure that is how GMP works. Is that what the content process is doing
20:57jchenwe can&#39;t start gecko twice in the same process though
20:58snorpright
20:58snorphmm
20:58snorpexiting should be fine
20:58snorpbut I guess it&#39;s confusing android?
20:58snorpI mean it should be the same as a crash, more or less
20:59snorpwhich android can handle
20:59rbarkerIf I remember correctly with GMP, when we stop a video, an IPC message is sent to the service and and it calls exit.
20:59rbarkerI wonder if we are calling kill from the parent process side?
20:59rbarkerThat won&#39;t work I don&#39;t think.
21:00rbarkerAnd we do have a kill function. Maybe we need to make an android version that goes through binder?
21:00rbarkerI think that is how Cr works.
21:00JanHnalexander: just building --with-gradle doesn&#39;t seem to build robocop automatically
21:00nalexanderJanH: it&#39;ll be built during |./mach package|
21:01nalexanderJanH: at least, I think that&#39;s how it works.
21:01nalexanderJanH: yeah, the APK is put together at package time.
21:01nalexanderBoth of them.
21:01JanHnalexander: I did build + package + install
21:01nalexanderJanH: do you have --disable-tests in your mozconfig?
21:01JanHnalexander: no
21:02snorprbarker: why would that be better?
21:02snorprbarker: we could explicitly unbind from the parent side I guess
21:02snorprbarker: before killing it or asking child to kill itself
21:02snorpesawin: look into that please
21:02snorpesawin: or did you already
21:02rbarkersnorp: well, if we are currently calling kill to end the process, that isn&#39;t going to work.
21:02snorprbarker: we can stop that I think
21:03rbarkerI don&#39;t think since it isn&#39;t forked.
21:03snorpit works
21:03snorpyou can kill your own processes
21:03snorpany process in your package
21:03snorptry it with run-as and fennec
21:04rbarkerhmm that works with services? I don&#39;t know.
21:04nalexanderJanH: you should have Robocop built during package; mine is at /Users/nalexander/Mozilla/gecko/objdir-droid/dist/robocop.apk
21:04nalexanderJanH: do you not see stuffa bout that when you run |./mach package|? Last output is about robocop and the bouncer for me.
21:04rbarkerI do know that in Cr, the kill goes through the binder instead of calling kill() like it does for *nix systems.
21:04nalexanderJanH: and that should be the same without or --with-gradle
21:04snorprbarker: well we could try that too
21:05JanHnalexander: ah, the apk is there, but mach robocop is looking elsewhere
21:05rbarkersnorp: but I don&#39;t know that we are calling kill on the child service anyway.
21:05rbarkersnorp: I was just speculating.
21:05snorprbarker: the right thing is probably to send a message, then the child can stop the service, and exit gecko main loop
21:05snorpthen android should shut the process down for us
21:05JanHnalexander: it&#39;s looking for /home/jan/Mozilla/mozilla-central/objdir-droid/mobile/android/tests/browser/robocop/robocop-deb