Thanks for the rapid reply Norman. I'll try your instrumentations patch. I'll also create a run script that does not invoke the the platform client which ran ok without the ctl_module being invoked.
Bob
Sent from my android device.
-----Original Message----- From: Norman Feske <norman.feske@...1...> To: genode-main@lists.sourceforge.net Sent: Tue, 28 Jun 2016 9:23 AM Subject: Re: 16.05 custom kernel call fails to get session capability.
Hello Bob,
[init -> ctrl_module] Uncaught exception of type 'Genode::Parent::Service_denied' [init -> ctrl_module] Warning: abort called - thread: ep
...
The uncaught exception is being generated in my "pinmux_session" connection code when a capability for a session is requested, as shown the following in the following code snippet from pinmux_connection.h
I think you are observing a rather indirect symptom. The actual problem is that the 'ctrl_module' aborted for some reason. E.g., it requested a service for which no route is configured and got the 'Service_denied' exception you see in the log. After aborting, the 'ctrl_module' exits. Now, when the '437x_platform_client' tries open a session to this service, it is no longer there. So init responds to the session request with another 'Service_denied' exception. This is the one that you observed in the 'Pinmux_connection' constructor.
You need to find out which kind of session 'ctrl_module' tried to open when it aborted. I would instrument the code at base/src/lib/base/child.cc like in the attached patch. With the patch applied, you will see a nice log of session requests. Look for the one that appears immediately before the 'ctrl_module' aborts. It might be helpful to also print the session 'args'.
Cheers Norman