Hi Genodians,
I'm stuck with service routing. When I use the default routes the
hello-application works. When I remove the default and create explicit
routes for the ROM-service these fail. Here's my writeup:
I added this line to repos/os/src/init/child.cc:
Init::Child::resolve_session_request(
+ log("child \"", name(), "\" resolves \"",
service_name, "\" label [", label, "]");
It logs which child is resolving what service and label. With default
routing, I get this output (for ROMs) in make run/hello:
Genode 18.05-203-gf4ea50c6f
[init] child "hello_client" resolves "ROM" label [hello_client]
[init] child "hello_client" resolves "ROM" label [ld.lib.so]
[init] child "hello_server" resolves "ROM" label [hello_server]
[init] child "hello_server" resolves "ROM" label [ld.lib.so]
[init] child "hello_server" resolves "ROM" label [hello_server -> config]
[init] child "hello_client" resolves "ROM" label [hello_client -> config]
[init] child "hello_server" resolves "ROM" label [hello_server ->
session_requests]
...
[init -> hello_client] hello test completed
So far so good.
However, when I take out the entry and add explicit
routes to hello.run for the hello-client serivce:
I get these errors: (skipping things that go well)
[init] child "hello_client" resolves "ROM" label [hello_client]
[init] Warning: hello_client: no route to service "ROM"
[init] Error: hello_client: ROM environment session denied
...
[init] child "hello_client" resolves "ROM" label [ld.lib.so]
[init] Warning: hello_client: no route to service "ROM"
[init] Error: hello_client: ROM environment session denied
...
Makefile:312: recipe for target 'run/hello' failed
What's happening here?
Why are my explicit routes to the labels I find in the first log not
working?
How can I make explicit routes work for these services?
Cheers, Guido.
___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users