Closed Bug 695026 Opened 13 years ago Closed 10 years ago

Mozmill should support e10s

Categories

(Testing Graveyard :: Mozmill, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: k0scist, Unassigned)

References

Details

(Keywords: meta)

Mozmill doesn't use MessageManager when it interacts with
content. This means that it will not work correctly with Electrolysis
builds. Mozmill will
need to be refactored to use MessageManager and also to stop using the
gBrowser object which doesn't exist in mobile Firefox. 

see also https://wiki.mozilla.org/Auto-tools/Projects/peptest#Mozmill_e10s
Blocks: 669558
Depends on: 696494
Assignee: nobody → ahalberstadt
Status: NEW → ASSIGNED
So I'm going to go ahead and assume that post mozmill-2.0 will drop support for Firefox 3.6. Mainly because message manager doesn't exist in 3.6 and I don't want to have a giant if statement that implements everything in two different ways.
(In reply to Andrew Halberstadt [:ahal] from comment #2)
> So I'm going to go ahead and assume that post mozmill-2.0 will drop support
> for Firefox 3.6. Mainly because message manager doesn't exist in 3.6 and I
> don't want to have a giant if statement that implements everything in two
> different ways.

You should probably at least mail the mozmill-dev list noting this decision, and other 3.6isms should be cleaned up as well (e.g. the launch twice thing in mozprocess can go, IIRC)
I built firefox today (on linux) with the mozconfig:

ac_add_options --enable-application=browser
ac_add_options --enable-tests
ac_add_options --enable-e10s-compat
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-ipc

And surprisingly got this output from up-to-date mozmill:

> mozmill --pref dom.ipc.tabs.enabled:true -b /home/jhammel/mozilla/src/obj-ipc/dist/bin/firefox -t src/mozmill/mutt/mutt/tests/js/test_open.js 
TEST-START | src/mozmill/mutt/mutt/tests/js/test_open.js | setupModule
TEST-START | src/mozmill/mutt/mutt/tests/js/test_open.js | testOpen
INFO | Step Pass: {"function": "Controller.open()"}
INFO | Step Pass: {"function": "controller.waitFor()"}
INFO | Step Pass: {"function": "controller.waitForPageLoad()"}
TEST-PASS | src/mozmill/mutt/mutt/tests/js/test_open.js | testOpen
INFO | Passed: 1
INFO | Failed: 0
INFO | Skipped: 0

I wouldn't want to jump the gun to say that this *is* working. But...
For testing, the following command does give me an e10s instance with installed mozmill:

mozrunner --pref dom.ipc.tabs.enabled:true -a src/mozmill/mozmill/mozmill/extension/ -b /home/jhammel/mozilla/src/obj-ipc/dist/bin/firefox
Occassionally I will get outputs more like:

> mozmill --pref dom.ipc.tabs.enabled:true -b /home/jhammel/mozilla/src/obj-ipc/dist/bin/firefox -t src/mozmill/mutt/mutt/tests/js/test_open.js 
TEST-START | src/mozmill/mutt/mutt/tests/js/test_open.js | setupModule
TEST-START | src/mozmill/mutt/mutt/tests/js/test_open.js | testOpen
INFO | Step Pass: {"function": "Controller.open()"}
INFO | Step Pass: {"function": "controller.waitFor()"}
INFO | Step Pass: {"function": "controller.waitForPageLoad()"}
TEST-PASS | src/mozmill/mutt/mutt/tests/js/test_open.js | testOpen
ERROR | Test Failure: {"message": "[JavaScript Error: \"contentDocument is not available\" {file: \"chrome://global/content/bindings/browser.xml\" line: 324}]"}
INFO | creating 1!
INFO | 
INFO | [TabChild] SHOW (w,h)= (0, 0)
INFO | 
INFO | LoadPlugin: failed to initialize shared library /usr/lib/mozilla/plugins/libflashplayer.so [/usr/lib/mozilla/plugins/libflashplayer.so: wrong ELF class: ELFCLASS32]
INFO | 
INFO | loading about:blank, 1
INFO | 
INFO | NOTE: child process received `Goodbye', closing down
INFO | 
INFO | Passed: 1
INFO | Failed: 0
INFO | Skipped: 0
something is wrong with comment 4 and comment 6.  Namely, mozmill --pref dom.ipc.tabs.enabled:true -b /home/jhammel/mozilla/src/obj-ipc/dist/bin/firefox -t src/mozmill/mutt/mutt/tests/js/test_open.js  doesn't seem to be hitting the e10s browser(!). I changed the url of this to about:addons and it displays.  It does not display with the same binary navigating to about:addons by hand :(
:ahal, any idea why the above does not (seem to?) use the correct binary?
I'm not sure why about:addons would work in one but not the other. You still seem to be seeing the e10s debug messages, so I would guess that you are using the right binary. FWIW I would expect test_open.js to pass seeing as it doesn't touch any content.

Also I noticed a bunch of those contentDocument is not available errors when just browsing around manually, so I don't think (many) of those are test related.
Also, did you do anything special to get mozmill working? I can't even run it due to:
"Error: Warning: unrecognized command line flag -jsbridge"

Which leads me to believe jsbridge is not getting installed.
No, I did nothing special to get mozmill working.  Just master:HEAD with the comment line in comment 7
So I propose punting mozmill e10s this quarter for these combined reasons:

1. Mozmill will longer support Fennec
2. Mozmill doesn't really work properly with desktop e10s (I can't get it working at all and jhammel has some other oddities/issues)
3. Desktop e10s still requires a special build which means that even if we did get it working, I doubt anyone would actually make use of it (though we should ask QA what their e10s testing plans are)

I don't think that making Mozmill e10s ready will actually be **too** hard (with big asterisks) so maybe this is something better revisited sometime when desktop e10s no longer requires a separate build.

Any thoughts or disagreements?
So I'm not going to say one way or the other whether we should punt on this for the whole quarter, but I think with all that is going on it is fine to deprioritize for now.
E10s is dead. As long as there is no need to continue I call this bug a WONTFIX.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
Ok, e10s is becoming important again. Reopening this bug to ensure we do enough testing with Mozmill. Please let become this bug a tracking bug. So file all issues as separate bugs blocking this one.
Assignee: ahalberstadt → nobody
Status: RESOLVED → REOPENED
Keywords: meta
Resolution: WONTFIX → ---
As Chris Peterson mentioned to me, e10s will be enabled for a period of a couple of days in about 1-2 weeks. Enabling it permanently will most likely happen in Nightly 36.0. So we have to hurry up, to add the support to Mozmill.

Chris, not sure if you have time to help us on this task, but I would appreciate it. Please let us know.
Status: REOPENED → NEW
Priority: -- → P1
Sure. I'm not sure what e10s issues Mozmill will have, but the #e10s IRC channel is the best place to start.
Thanks Chris. We will have a look once questions are coming up. We will start in a bit on this topic. Also cc'ing Mike given that he knows e10s and also Mozmill.
So we had a meeting lately together with the A-Team about the e10 implementation work for Mozmill. As it turned out the work to do here is way too much, and we should better focus on getting Marionette ready for replacing Mozmill as what we wanted to do anyway. Therefore we have a new project up here: https://wiki.mozilla.org/Auto-tools/Projects/m21s.

I'm going to close this bug as wontfix.
Status: NEW → RESOLVED
Closed: 12 years ago10 years ago
Resolution: --- → WONTFIX
Product: Testing → Testing Graveyard
You need to log in before you can comment on or make changes to this bug.