Open Bug 1411513 Opened 7 years ago Updated 1 year ago

Log.sys.mjs is not e10s compatible

Categories

(Toolkit :: General, defect, P3)

defect

Tracking

()

Tracking Status
firefox57 --- wontfix
firefox58 --- affected

People

(Reporter: ato, Unassigned)

References

(Depends on 1 open bug)

Details

It appears that Log.jsm isn’t e10s compatible.  The Marionette
remote protocol is rather special in that it uses Log.jsm in a
content frame script that is injected via loadFrameScript.

When Log.repository.getLogger is called and the repository was
set up in another process, it doesn’t inherit the repository
configuration (such as appenders) that was set up earlier in the
main process.

This was originally filed in https://bugzil.la/1384956, and explains
why the problem only exhibits following a remoteness change to the
<xul:browser>.
Blocks: 1384956
Mike, would you have an advice in what needs to be done to get this working across processes?
Flags: needinfo?(mconley)
(In reply to Henrik Skupin (:whimboo) from comment #1)
> Mike, would you have an advice in what needs to be done to get this working
> across processes?

Hm. Sounds to me like Log.jsm, when loaded in the content processes, should send messages to the parent which actually does the logging.

You _could_ perhaps structure this like we do DevTools console logging; see bug 1382968 for reference. They, I believe, have added a message listener in the parent via MainProcessSingleton.js that listens to messages from content-process-forward.js.

Perhaps we could have MainProcessSingleton.jsm add a listener for Log.jsm messages, and when Log.jsm is loaded in the content process, forward all log requests to the parent where it gets handled.

That's how I'd start approaching it anyhow. Does that help?
Flags: needinfo?(mconley)
No longer blocks: 1384956
Severity: normal → S3
Depends on: 1828156
Summary: Log.jsm is not e10s compatible → Log.sys.mjs is not e10s compatible
You need to log in before you can comment on or make changes to this bug.