Closed Bug 1095154 Opened 10 years ago Closed 10 years ago

App launched with MozActivity doesn't shows up in b2g-info

Categories

(Firefox OS Graveyard :: Stability, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:2.1+, b2g-v2.1 verified, b2g-v2.2 verified)

VERIFIED FIXED
2.1 S5 (26sep)
blocking-b2g 2.1+
Tracking Status
b2g-v2.1 --- verified
b2g-v2.2 --- verified

People

(Reporter: tkundu, Assigned: etienne)

References

Details

(Whiteboard: [caf priority: p2][CR 754161])

Attachments

(2 files)

Attached file logcat logs
We are using Mozilla's MozActivity javascript function to launch browser app with url "www.google.com" using marionette in v2.1 .

We are observing browser is launched with "www.google.com" but Browser process is not created in |adb shell b2g-info| on v2.1 device .

adb shell b2g-info
                          |     megabytes     |
           NAME  PID PPID CPU(s) NICE  USS  PSS  RSS SWAP VSIZE OOM_ADJ USER    
            b2g  212    1   38.5    0 72.5 80.6 99.7  0.0 301.4       0 root    
         (Nuwa)  597  212    0.8    0  2.6  5.2 13.9  0.0  53.8     -16 root    
Built-in Keyboa 1137  597    1.3   18  7.4 11.1 22.9  0.0  72.0      11 u0_a1137
     Homescreen 1256  212   11.1   18 16.4 22.3 35.9  0.0  85.7       8 u0_a1256
(Preallocated a 1577  597    0.8   18  5.6  8.9 19.6  0.0  61.6       1 u0_a1577


adb shell ps | grep b2g
root      212   1     304228 101916 ffffffff b6f148b4 S /system/b2g/b2g
root      597   212   55104  14260 ffffffff b6f148b4 S /system/b2g/b2g
u0_a1137  1137  597   73684  23420 ffffffff b6f148b4 S /system/b2g/b2g
u0_a1256  1256  212   87744  36800 ffffffff b6ec78b4 S /system/b2g/plugin-container
u0_a1577  1577  597   63092  20044 ffffffff b6f148b4 S /system/b2g/b2g




We also tried same method of launching browser app on v2.0 device and we found : 

adb shell b2g-info                   
                          |     megabytes     |
           NAME  PID PPID CPU(s) NICE  USS  PSS   RSS SWAP VSIZE OOM_ADJ USER    
            b2g  209    1   31.0    0 82.6 88.7 106.7  0.0 332.3       0 root    
         (Nuwa) 1163  209    1.1    0  2.0  6.5  21.0  0.0  53.8       0 root    
Built-in Keyboa 1227 1163    0.9   18  7.2 10.5  22.6  0.0  70.7      11 u0_a1227
     Homescreen 1357  209    7.6   18 19.3 23.8  38.9  0.0  91.1       8 u0_a1357
        Browser 1447 1163    2.3    1 11.2 15.0  28.3  0.0  86.1       2 u0_a1447
(Preallocated a 1644 1163    0.4   18  4.9  8.0  19.1  0.0  60.0       1 u0_a1644

adb shell ps | grep b2g
root      209   1     340384 109356 ffffffff b6f0f770 R /system/b2g/b2g
root      1163  209   55132  21464 ffffffff b6ef58ac S /system/b2g/plugin-container
u0_a1227  1227  1163  72352  23148 ffffffff b6ef58ac S /system/b2g/plugin-container
u0_a1357  1357  209   93264  39820 ffffffff b6ed18ac S /system/b2g/plugin-container
u0_a1447  1447  1163  87052  27396 ffffffff b6ef58ac S /system/b2g/plugin-container
u0_a1644  1644  1163  62376  19744 ffffffff b6ef58ac S /system/b2g/plugin-container


it seems that MozActivity JS function can create browser app with URL in v2.0 But it simply displays browser app with URL in v2.1 without creating actual browser process on device.

Any ideas on it ? 

I attached logcat logs for v2.1 device while launching browser app using MozActivity JS function and marionette . 

Please note if I manually touch browser icon instead of using MozActivity function (using marionette) then Browser app process is created always. But we want to launch it using marionette and it will help our testing process.

please also look into bug 1088886 comment 8 which says that browser app has changed in v2.1 .
[Blocking Requested - why for this release]:
blocking-b2g: --- → 2.1?
please also look into bug 1095080 .
Flags: needinfo?(mdas)
As there doesn't seem to be a user impact, I don't really think that this is a blocker, but maybe more of a nice-to-have.

Fabrice - do you know what the behavior should be if we fire an activity from the system app? Should there be a new process?
Flags: needinfo?(fabrice)
(In reply to Kevin Grandon :kgrandon from comment #3)
> As there doesn't seem to be a user impact, I don't really think that this is
> a blocker, but maybe more of a nice-to-have.
> 
> Fabrice - do you know what the behavior should be if we fire an activity
> from the system app? Should there be a new process?

It's up to gaia to open the iframe oop or not. On the gecko side we just say "Hey please launch this app, it's about to receive an activity message". But in general, that looks like a pretty serious bug if we open iframe to any web content in the parent process.
Flags: needinfo?(fabrice)
This seems like a change in mozactivity or gaia, but not marionette. We didn't change anything significant here.
Flags: needinfo?(mdas)
(In reply to Fabrice Desré [:fabrice] from comment #4)
> (In reply to Kevin Grandon :kgrandon from comment #3)
> > As there doesn't seem to be a user impact, I don't really think that this is
> > a blocker, but maybe more of a nice-to-have.
> > 
> > Fabrice - do you know what the behavior should be if we fire an activity
> > from the system app? Should there be a new process?
> 
> It's up to gaia to open the iframe oop or not. On the gecko side we just say
> "Hey please launch this app, it's about to receive an activity message". But
> in general, that looks like a pretty serious bug if we open iframe to any
> web content in the parent process.

I guess that opening iframe in parent process can cause a memleak in parent process too.. Do you think that we should solve it as part of v2.1 ?
Flags: needinfo?(kgrandon)
Flags: needinfo?(fabrice)
Well, any iframe opened in the parent process needs to be closed at some point, yes. But my main worry here is whether we actually open browser frames in the parent. If that is the case, we need to fix that asap for security reasons.
Flags: needinfo?(fabrice)
I can't reproduce this on v2.2

STR:

0. b2g-info and verify there isn't a Browser process
1. Connect the phone to App Manager and open the debug console for System app
2. Run the following
3. Run b2g-info

new MozActivity({
  name: 'view',
  data: { type: 'url', url: 'http://www.google.com/' }
});

Expected:

* b2g-info show a Browser process
I don't have a v2.1 phone with working b2g-info with me, but I after reading the code I found it highly unlikely that we are launching any activity inproc.

The same files and code paths controls inproc/oop since v2.1:

https://github.com/mozilla-b2g/gaia/blob/v2.1/apps/system/js/browser_config_helper.js
https://github.com/mozilla-b2g/gaia/blob/v2.1/apps/system/js/app_window_factory.js

A better way than guessing to fault this at Gaia::System::Window Mgmt is to actually dump the system app DOM when the inproc web content is shown on screen. We could easily see if there is a |remote| attribute or not there.
Thanks Tim. Seems like we need an HTML dump as suggested in 9. Tapas - are you able to get us a dump of the HTML when this occurs?
Flags: needinfo?(kgrandon) → needinfo?(tkundu)
Whiteboard: [CR 754161]
Whiteboard: [CR 754161] → [caf priority: p2][CR 754161]
(In reply to Kevin Grandon :kgrandon (In Europe/Conf until 11/24) from comment #10)
> Thanks Tim. Seems like we need an HTML dump as suggested in 9. Tapas - are
> you able to get us a dump of the HTML when this occurs?

FWIW, that information is in the CC log.
This might also manifest as bug 1095702. See bug 1095702 comment 11 - it appears that sometimes we are opening up browser frames in the root process which seems pretty bad. Bug 1095702 is marked as a 2.1 blocker and has some user-facing STR - so we will get it fixed for 2.1.
See Also: → 1095702
This issue can be solved by uplifting bug 1066607, I think we should do so. Going to close this and nominate that one as a blocker.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whether we fix this with bug 1066607 or not, negative impacts on developers = blocker.
blocking-b2g: 2.1? → 2.1+
Assignee: nobody → etienne
Depends on: 1066607
Target Milestone: --- → 2.1 S5 (26sep)
(In reply to Kevin Grandon :kgrandon (In Europe/Conf until 11/24) from comment #10)
> Thanks Tim. Seems like we need an HTML dump as suggested in 9. Tapas - are
> you able to get us a dump of the HTML when this occurs?

It seems like you have found fix for this  issue. Please let me know if you still need html dumo :)
Flags: needinfo?(tkundu) → needinfo?(kgrandon)
Nope, we should be good here, thanks Tapas! Will focus on getting the fix for this uplifted to v2.1 (in bug 1066607).
Flags: needinfo?(kgrandon)
This issue has been verified successfully on Flame 2.1, 2.2.
See attachment: 1326.MP4
Reproducing rate: 0/5

Step:
1. b2g-info and verify there isn't a Browser process.
2. Connect the phone to App Manager and open the debug console for System app.
3. Run the following.
4. Run b2g-info.

new MozActivity({
  name: 'view',
  data: { type: 'url', url: 'http://www.google.com/' }
});

Actual result:
3.b2g-info show a Browser process.

Flame 2.1 version:
Gaia-Rev        38e17b0219cbc50a4ad6f51101898f89e513a552
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-2g34_v2_1/rev/8b92c4b8f59a
Build-ID        20141205001201
Version         34.0
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141205.035305
FW-Date         Fri Dec  5 03:53:16 EST 2014
Bootloader      L1TC00011880

Flame 2.2 version:
Gaia-Rev        4cdeee67b449db90aae9384337311547c280093c
Gecko-Rev       https://hg.mozilla.org/mozilla-central/rev/d7c76fe69e9a
Build-ID        20141209160204
Version         37.0a1
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20141209.192623
FW-Date         Tue Dec  9 19:26:39 EST 2014
Bootloader      L1TC00011880
Status: RESOLVED → VERIFIED
Attached video 1326.MP4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: