Closed
Bug 878958
Opened 11 years ago
Closed 8 years ago
Implement child process actors
Categories
(DevTools :: Debugger, defect, P1)
DevTools
Debugger
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: jimb, Assigned: jimb)
References
Details
(Whiteboard: [leave open])
Attachments
(11 files, 4 obsolete files)
4.62 KB,
patch
|
dcamp
:
review+
jimb
:
checkin+
|
Details | Diff | Splinter Review |
1.74 KB,
patch
|
dcamp
:
review+
jimb
:
checkin+
|
Details | Diff | Splinter Review |
956 bytes,
patch
|
dcamp
:
review+
jimb
:
checkin+
|
Details | Diff | Splinter Review |
1.16 KB,
patch
|
dcamp
:
review+
jimb
:
checkin+
|
Details | Diff | Splinter Review |
1.91 KB,
patch
|
dcamp
:
review+
jimb
:
checkin+
|
Details | Diff | Splinter Review |
3.65 KB,
patch
|
dcamp
:
review+
dcamp
:
feedback+
jimb
:
checkin+
|
Details | Diff | Splinter Review |
829 bytes,
patch
|
Details | Diff | Splinter Review | |
5.30 KB,
patch
|
Details | Diff | Splinter Review | |
12.10 KB,
patch
|
Details | Diff | Splinter Review | |
7.64 KB,
patch
|
Details | Diff | Splinter Review | |
15.39 KB,
patch
|
dcamp
:
review+
RyanVM
:
checkin+
|
Details | Diff | Splinter Review |
We have a draft protocol specification for communication with child processes here: https://github.com/jimblandy/DebuggerDocs/blob/b2g-subprocesses/protocol This includes packets for listing child processes, getting notification when children start and stop, and attaching to particular child processes, yielding a connection to a root actor for that particular child.
Assignee | ||
Comment 1•11 years ago
|
||
Assignee: nobody → jimb
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•11 years ago
|
||
Assignee | ||
Comment 3•11 years ago
|
||
Assignee | ||
Comment 4•11 years ago
|
||
Assignee | ||
Comment 5•11 years ago
|
||
Assignee | ||
Comment 6•11 years ago
|
||
Assignee | ||
Comment 7•11 years ago
|
||
Assignee | ||
Comment 8•11 years ago
|
||
Assignee | ||
Comment 9•11 years ago
|
||
Assignee | ||
Comment 10•11 years ago
|
||
Attachment #760060 -
Flags: review-
Assignee | ||
Updated•11 years ago
|
Attachment #760060 -
Flags: review-
Assignee | ||
Comment 11•11 years ago
|
||
With this, we can attach to child processes, exchange packets with their root actors, and attach to a chrome debugger actor. We can't actually do chrome debugging, because our root actor isn't quite disentangled from the browser code. But at least it dies trying to pause the chrome. Filed as bug 880930. You'll need all the patches attached to
Depends on: 880930
Assignee | ||
Comment 12•11 years ago
|
||
[ahem] With the patches in this bug and its dependencies, the xpcshell test toolkit/devtools/server/tests/unit/test_child_attach.js is able to attach to a content child process, and attempt to debug its chrome. To experience the thrill yourself, you'll need all the patches on these bugs applied, in this order: Bug 874755: Implement nsIContentParent and nsIContentProcessService, for enumerating and controlling content processes. Bug 878901: Create a separate client front object, RootClient, for communicating with root actors. Bug 874753: JS debugger server: Implement the listChildProcesses request in RootActor ... followed by the patches in this bug. I've pushed the current state of my Mercurial Queue here: http://hg.mozilla.org/users/jblandy_mozilla.com/jsdbg2-mq/ That also includes some error-tightening patches.
Assignee | ||
Updated•11 years ago
|
Attachment #760049 -
Flags: review?(dcamp)
Assignee | ||
Updated•11 years ago
|
Attachment #760050 -
Flags: review?(dcamp)
Assignee | ||
Updated•11 years ago
|
Attachment #760052 -
Flags: review?(dcamp)
Assignee | ||
Updated•11 years ago
|
Attachment #760053 -
Flags: review?(dcamp)
Assignee | ||
Updated•11 years ago
|
Attachment #760054 -
Flags: review?(dcamp)
Assignee | ||
Comment 13•11 years ago
|
||
With this patch, toolkit/devtools/server/tests/unit/test_child_attach.js has been observed to attach to a content child process, begin chrome debugging, and list the loaded JS sources.
Assignee | ||
Updated•11 years ago
|
Attachment #760060 -
Attachment is obsolete: true
Updated•11 years ago
|
Attachment #760049 -
Flags: review?(dcamp) → review+
Updated•11 years ago
|
Attachment #760050 -
Flags: review?(dcamp) → review+
Updated•11 years ago
|
Attachment #760052 -
Flags: review?(dcamp) → review+
Updated•11 years ago
|
Attachment #760053 -
Flags: review?(dcamp) → review+
Updated•11 years ago
|
Attachment #760054 -
Flags: review?(dcamp) → review+
Assignee | ||
Comment 14•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/70aac30d291d https://hg.mozilla.org/integration/mozilla-inbound/rev/d26e0070bb65 https://hg.mozilla.org/integration/mozilla-inbound/rev/72dc9a2bbc58 https://hg.mozilla.org/integration/mozilla-inbound/rev/f1ef467a1f18 https://hg.mozilla.org/integration/mozilla-inbound/rev/05183deb734a
Whiteboard: [leave open]
Assignee | ||
Updated•11 years ago
|
Attachment #760049 -
Flags: checkin+
Assignee | ||
Updated•11 years ago
|
Attachment #760050 -
Flags: checkin+
Assignee | ||
Updated•11 years ago
|
Attachment #760052 -
Flags: checkin+
Assignee | ||
Updated•11 years ago
|
Attachment #760053 -
Flags: checkin+
Assignee | ||
Updated•11 years ago
|
Attachment #760054 -
Flags: checkin+
Comment 15•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/70aac30d291d https://hg.mozilla.org/mozilla-central/rev/d26e0070bb65 https://hg.mozilla.org/mozilla-central/rev/72dc9a2bbc58 https://hg.mozilla.org/mozilla-central/rev/f1ef467a1f18 https://hg.mozilla.org/mozilla-central/rev/05183deb734a
Updated•11 years ago
|
Priority: -- → P1
Comment 16•11 years ago
|
||
Comment 17•11 years ago
|
||
Comment on attachment 771310 [details] [diff] [review] b2g18 - Support connections with prefixed actor names, and prefix-based forwarding. Here is the minimal modification required to make tab actors work. This patch is targetting b2g18 branch.
Attachment #771310 -
Attachment description: attachment 760057: Support connections with prefixed actor names, and prefix-based forwarding. → b2g18 - Support connections with prefixed actor names, and prefix-based forwarding.
Attachment #771310 -
Attachment filename: Bug-878958---attachment-760057-Support-connections.patch → Bug-878958-Support-connections.patch
Comment 18•11 years ago
|
||
Comment 19•11 years ago
|
||
Comment on attachment 771313 [details] [diff] [review] b2g18 - Implement ChildDebuggerTransport, a debug protocol transport for communicating with child processes via message managers. Same patch than attachment 760055 [details] [diff] [review], but rebased against b2g18.
Attachment #771313 -
Attachment description: attachment 760055: Implement ChildDebuggerTransport, a debug protocol transport for communicating with child processes via message managers. → b2g18 - Implement ChildDebuggerTransport, a debug protocol transport for communicating with child processes via message managers.
Attachment #771313 -
Attachment filename: Bug-878958---attachment-760055-Implement-ChildDebu.patch → Bug-878958---Implement-ChildDebu.patch
Comment 20•11 years ago
|
||
Comment on attachment 760055 [details] [diff] [review] Implement ChildDebuggerTransport, a debug protocol transport for communicating with content child processes via process message managers. We need two patches from this bug for tab actors on b2g. This one.. and...
Attachment #760055 -
Flags: review?(dcamp)
Comment 21•11 years ago
|
||
Comment on attachment 760057 [details] [diff] [review] Support connections with prefixed actor names, and prefix-based forwarding. ...and this one. (You can also see b2g18 rebased patches in this bug)
Attachment #760057 -
Flags: review?(dcamp)
Comment 22•11 years ago
|
||
Comment on attachment 760055 [details] [diff] [review] Implement ChildDebuggerTransport, a debug protocol transport for communicating with content child processes via process message managers. Review of attachment 760055 [details] [diff] [review]: ----------------------------------------------------------------- r+ when it has tests
Attachment #760055 -
Flags: review?(dcamp) → feedback+
Comment 23•11 years ago
|
||
Comment on attachment 760057 [details] [diff] [review] Support connections with prefixed actor names, and prefix-based forwarding. Review of attachment 760057 [details] [diff] [review]: ----------------------------------------------------------------- r+ when tested
Attachment #760057 -
Flags: review?(dcamp) → feedback+
Comment 24•11 years ago
|
||
Comment on attachment 760055 [details] [diff] [review] Implement ChildDebuggerTransport, a debug protocol transport for communicating with content child processes via process message managers. Review of attachment 760055 [details] [diff] [review]: ----------------------------------------------------------------- Switching to r+ after discussion of our testing options.
Attachment #760055 -
Flags: review+
Assignee | ||
Comment 25•11 years ago
|
||
Now, with tests!
Attachment #760057 -
Attachment is obsolete: true
Attachment #774785 -
Flags: review?(dcamp)
Assignee | ||
Comment 26•11 years ago
|
||
Now, with tests! (And without debugging 'dump' calls!)
Attachment #774785 -
Attachment is obsolete: true
Attachment #774785 -
Flags: review?(dcamp)
Attachment #774787 -
Flags: review?(dcamp)
Assignee | ||
Comment 27•11 years ago
|
||
Comment on attachment 760055 [details] [diff] [review] Implement ChildDebuggerTransport, a debug protocol transport for communicating with content child processes via process message managers. https://hg.mozilla.org/integration/mozilla-inbound/rev/26e08cf5aabe
Attachment #760055 -
Flags: checkin+
Assignee | ||
Comment 28•11 years ago
|
||
Comment on attachment 771313 [details] [diff] [review] b2g18 - Implement ChildDebuggerTransport, a debug protocol transport for communicating with child processes via message managers. Review of attachment 771313 [details] [diff] [review]: ----------------------------------------------------------------- Pre-emptive r=me; the corresponding trunk patch is already landed on inbound.
Attachment #771313 -
Flags: review+
Updated•11 years ago
|
Attachment #774787 -
Flags: review?(dcamp) → review+
Comment 30•11 years ago
|
||
checkin needed for attachment 774787 [details] [diff] [review]
Keywords: checkin-needed
Updated•11 years ago
|
Attachment #774787 -
Flags: checkin+
Comment 31•11 years ago
|
||
https://hg.mozilla.org/projects/birch/rev/fedda0ce50c8
Flags: in-testsuite+
Keywords: checkin-needed
Updated•10 years ago
|
Attachment #771313 -
Attachment is obsolete: true
Comment 33•10 years ago
|
||
What do we still need to be able to resolve this bug?
I am pretty sure this is done, right Alex?
Flags: needinfo?(poirot.alex)
Comment 35•10 years ago
|
||
Thing is that I kind of hijacked Jim's plan for debugging apps in middle of its implementation. The original goal was to implement a process-based abstraction to connect and debug apps. Whereas I ended up implementing a more app-based / iframe-based / message manager-based solution. Patch like attachment 760059 [details] [diff] [review] may still be relevant for advanced debugging of e10s processes where we may share processes between tabs/apps and have a more complex relation between contextes (app/tabs) and processes. I didn't wanted to close all existing bugs just because we were able to debug apps.
Flags: needinfo?(poirot.alex)
Updated•10 years ago
|
Summary: JS debugger: implement child process actors → Implement child process actors
Given that we already have a way to reach the child process through the messageManager and we're also thinking of converting to the Chrome protocol as well, I don't think we would try to change our approach for reaching the child process in our own protocol anymore. If the situation changes, we can always revisit this work later.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
I suppose some pieces did land here... unclear what the correct resolution state is, since we didn't make it all the way to the part described in the summary.
Updated•6 years ago
|
Product: Firefox → DevTools
You need to log in
before you can comment on or make changes to this bug.
Description
•