Init startup sequence

Stefan Kalkowski stefan.kalkowski at ...1...
Fri May 21 17:18:44 CEST 2010


Hi,

On Friday, 21. May 2010 16:43:15 Christian Prochaska wrote:
> Hi,
>
> I think we probably need a different malloc() implementation (or a
> Genode-specific __cxa_allocate_exception() implementation) in the cxx
> lib that doesn't cause exceptions to be thrown, because what your stack
> trace shows is that with the current implementation we can get an
> exception thrown inside init_exception_handling() itself and also
> potentially infinite recursive calls of malloc() .

Of course, you're right with your diagnosis, regarding the exception thrown 
during exception initialization - I was blind ;-)

Nevertheless, I don't think Genode needs another malloc implementation here.

In Genode, the child process starts naked, meaning it has no resources 
(except: bss, data and text segment and a capability to communicate to it's 
parent) if it wants some resource or service it has to open a session (e.g.: 
a RAM session) and therefore needs to talk to it's parent. If the initial 
communication to it's parent fails, this is the real problem, which has to be 
solved.

As far as I understood Steffen correctly, he ports Genode to a new platform 
and it looks like init's first IPC call to it's parent (core) fails, probably 
because your platform's IPC code doesn't work fully correct (e.g. some 
trouble with the parent-capability given to init?).

regards Stefan

-- 
Stefan Kalkowski
Genode Labs Developer
http://genode-labs.com




More information about the users mailing list