Hi Zachary,
Genode::Env& _env; Tutorial::Child server{_env, "server", _registry }; Tutorial::Child client{_env, "client", _registry}; Main(Genode::Env& env) : _env(env) { }
Disregard if I'm off-base here, as I'm not clear on the C++ semantics of the above... Is it guaranteed that the "env" reference above, will be initialized correctly before being passed to server/client ? I guess what I'm asking is, is the ctor init-list executed first, and the "inline" inits second, or is it the reverse ?
In my code I tend to avoid mixing both types of init in the same class, so I'm not clear on what happens if they're mixed. If that's the culprit and "env" is passed non-initialized to the children, that might explain the null-pointer crash that seems to follow. Though you mention a blockage rather than a crash, so I'm maybe just lookin at this wrong.
Cedric
[1] https://gist.github.com/zgzollers/48181fbc2dac6e51015602c6329593f9