dom/ipc/ContentChild.cpp:631:24: error: no matching function for call to 'mozilla::dom::ContentChild::SetTransport(IPC::Channel*&)'

RESOLVED FIXED

Status

RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: gerard-majax, Assigned: gerard-majax)

Tracking

unspecified
ARM
Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(firefox50 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Comment 2

3 years ago
09:05:20     INFO -  /home/worker/workspace/gecko/dom/ipc/ContentParent.cpp: In constructor 'mozilla::dom::ContentParent::ContentParent(mozilla::dom::ContentParent*, const nsAString_internal&, base::ProcessHandle, nsTArray<mozilla::ipc::ProtocolFdMapping>&&)':
09:05:20    ERROR -  /home/worker/workspace/gecko/dom/ipc/ContentParent.cpp:2321:60: error: no matching function for call to 'mozilla::dom::ContentParent::SetTransport(IPC::Channel*)'
09:05:20     INFO -     IToplevelProtocol::SetTransport(mSubprocess->GetChannel());
09:05:20     INFO -                                                              ^
09:05:20     INFO -  /home/worker/workspace/gecko/dom/ipc/ContentParent.cpp:2321:60: note: candidate is:
09:05:20     INFO -  In file included from ../../ipc/ipdl/_ipdlheaders/mozilla/dom/PNuwa.h:15:0,
09:05:20     INFO -                   from ../../ipc/ipdl/_ipdlheaders/mozilla/dom/PNuwaParent.h:9,
09:05:20     INFO -                   from ../../dist/include/mozilla/dom/NuwaParent.h:11,
09:05:20     INFO -                   from /home/worker/workspace/gecko/dom/ipc/ContentParent.h:10,
09:05:20     INFO -                   from /home/worker/workspace/gecko/dom/ipc/AppProcessChecker.cpp:10,
09:05:20     INFO -                   from Unified_cpp_dom_ipc0.cpp:2:
09:05:20     INFO -  ../../dist/include/mozilla/ipc/ProtocolUtils.h:239:10: note: void mozilla::ipc::IToplevelProtocol::SetTransport(mozilla::UniquePtr<IPC::Channel>)
09:05:20     INFO -       void SetTransport(UniquePtr<Transport> aTrans)
09:05:20     INFO -            ^
09:05:20     INFO -  ../../dist/include/mozilla/ipc/ProtocolUtils.h:239:10: note:   no known conversion for argument 1 from 'IPC::Channel*' to 'mozilla::UniquePtr<IPC::Channel>'
(Assignee)

Comment 4

3 years ago
0:16:17     INFO -  In file included from Unified_cpp_ipc_glue0.cpp:119:0:
10:16:17     INFO -  /home/worker/workspace/gecko/ipc/glue/ProcessUtils_linux.cpp: In function 'void mozilla::ipc::ProcLoaderClientGeckoInit()':
10:16:17    ERROR -  /home/worker/workspace/gecko/ipc/glue/ProcessUtils_linux.cpp:221:67: error: cannot convert 'mozilla::UniquePtr<IPC::Channel>' to 'mozilla::ipc::Transport* {aka IPC::Channel*}' in initialization
10:16:17     INFO -     Transport *transport = OpenDescriptor(fd, Transport::MODE_CLIENT);
10:16:17     INFO -                                                                     ^
10:16:17     INFO -  In file included from Unified_cpp_ipc_glue0.cpp:119:0:
10:16:17     INFO -  /home/worker/workspace/gecko/ipc/glue/ProcessUtils_linux.cpp: In function 'int mozilla::ipc::ProcLoaderServiceRun(pid_t, int, int, const char**, FdArray&)':
10:16:17    ERROR -  /home/worker/workspace/gecko/ipc/glue/ProcessUtils_linux.cpp:572:69: error: cannot convert 'mozilla::UniquePtr<IPC::Channel>' to 'mozilla::ipc::Transport* {aka IPC::Channel*}' in initialization
10:16:17     INFO -       Transport *transport = OpenDescriptor(fd, Transport::MODE_CLIENT);
10:16:17     INFO -                                                                       ^
10:16:17    ERROR -  make[6]: *** [Unified_cpp_ipc_glue0.o] Error 1
(Assignee)

Updated

3 years ago
Duplicate of this bug: 1285210
(Assignee)

Comment 7

3 years ago
/home/worker/workspace/gecko/ipc/glue/ProcessUtils_linux.cpp:226:37: error: no matching function for call to 'mozilla::ipc::PProcLoaderParent::Open(mozilla::RemoveReference<mozilla::UniquePtr<IPC::Channel>&>::Type, pid_t&, MessageLoop*, mozilla::ipc::Side)'
/home/worker/workspace/gecko/ipc/glue/ProcessUtils_linux.cpp:576:74: error: no matching function for call to 'mozilla::ipc::ProcLoaderChild::Open(mozilla::RemoveReference<mozilla::UniquePtr<IPC::Channel>&>::Type, pid_t&, MessageLoop*)'
(Assignee)

Updated

3 years ago
Blocks: 1274295
(Assignee)

Comment 9

3 years ago
green: https://treeherder.mozilla.org/#/jobs?repo=try&revision=a416ee5f8acf&filter-tier=1&filter-tier=2&filter-tier=3&selectedJob=23491255

I applied that on a local build of project tablet (bug 1283744 included of course), and it was booting, so I guess it looks good :)
(Assignee)

Comment 10

3 years ago
Created attachment 8768779 [details]
Bug 1285157 - Remove SetTransport(aChannel) for NUWA

Review commit: https://reviewboard.mozilla.org/r/62830/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/62830/
Attachment #8768779 - Flags: review?(cyu)
(Assignee)

Updated

3 years ago
Assignee: nobody → lissyx+mozillians
(Assignee)

Comment 11

3 years ago
Comment on attachment 8768779 [details]
Bug 1285157 - Remove SetTransport(aChannel) for NUWA

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/62830/diff/1-2/
(Assignee)

Comment 12

3 years ago
Comment on attachment 8768779 [details]
Bug 1285157 - Remove SetTransport(aChannel) for NUWA

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/62830/diff/2-3/
Attachment #8768779 - Flags: review?(cyu) → review?(gsvelto)
(Assignee)

Comment 15

3 years ago
Comment on attachment 8768779 [details]
Bug 1285157 - Remove SetTransport(aChannel) for NUWA

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/62830/diff/3-4/
Attachment #8768779 - Flags: review?(gsvelto) → review?(wmccloskey)
(Assignee)

Comment 16

3 years ago
Had to add bug 1285529 in my try because I rebased on top of current m-c :)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=27b42f525a9d
(Assignee)

Comment 17

3 years ago
I fear this is actually breaking NUWA :/
(Assignee)

Updated

3 years ago
Flags: needinfo?(cyu)
(Assignee)

Comment 19

3 years ago
(In reply to Alexandre LISSY :gerard-majax from comment #17)
> I fear this is actually breaking NUWA :/

Using old debug printf(), I can confirm that ResetTransports() does not gets called after bug 1283744 is applied.
(Assignee)

Updated

3 years ago
Blocks: 1285662
I think the content process crashed after it's forked from Nuwa. ContentChild::Init() calls SetTransport() in the Nuwa process, and the transport is used after it forks a child in ResetTransports(): https://dxr.mozilla.org/mozilla-central/rev/23dc78b7b57e9f91798ea44c242a04e112c37db0/dom/ipc/ContentChild.cpp#548

And because we require that all process forked from Nuwa on b2g, no content process can be created. Instead of removing the SetTransport() calls, what you need is making a Transport instance with an existing file descriptor, like what we do in https://dxr.mozilla.org/mozilla-central/rev/23dc78b7b57e9f91798ea44c242a04e112c37db0/gfx/layers/ipc/CompositorBridgeParent.cpp#2810
Flags: needinfo?(cyu)
(Assignee)

Comment 22

3 years ago
Cervantes, could we at least land this patch ? It will unblock building, and we can fix NUWA later.
Flags: needinfo?(cyu)
(Assignee)

Comment 23

3 years ago
Comment on attachment 8768779 [details]
Bug 1285157 - Remove SetTransport(aChannel) for NUWA

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/62830/diff/4-5/
Attachment #8768779 - Flags: review?(wmccloskey) → review?(cyu)
Comment on attachment 8768779 [details]
Bug 1285157 - Remove SetTransport(aChannel) for NUWA

https://reviewboard.mozilla.org/r/62830/#review60578

r+ for unblocking builds.
Attachment #8768779 - Flags: review?(cyu) → review+

Comment 25

3 years ago
Pushed by alissy@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fcfa26398425
Remove SetTransport(aChannel) for NUWA r=cyu
Flags: needinfo?(cyu)

Comment 26

3 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/fcfa26398425
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox50: --- → fixed
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.