Init startup sequence

Steffen Liebergeld steffen at ...37...
Fri May 21 14:44:41 CEST 2010


Hi again,

I am unsure about the startup sequence of the init task (or any other
task other than core, for that matter). The setup looks like this:

Task			Thread
Core			main (initializes core, sleeps)
			activation (used as service provider by core's
			threads)
			pager (pager for all(?) threads started by core)
			init(0) (service thread for init)
Init			init(1)

Now init(1) calls init(0), does some initialization in finally gets
stuck in __cxa_guard_acquire. The stack trace looks like this:
=========================
 1 0x182818 .... 0x159110            __cxa_guard_acquire(T) +   0x20 =
0x1590f0
 2 0x182838   32 0x15d31c                  Genode::env()(T) +   0x2c =
0x15d2f0
 3 0x182868   48 0x1591b5                         malloc(t) +   0x25 =
0x159190
 4 0x182898   48 0x1596c8       __cxa_allocate_exception(T) +   0x28 =
0x1596a0
 5 0x1828d8   64 0x15f00f    Genode::Ipc_client::_call()(T) +  0x11f =
0x15eef0
 6 0x182918   64 0x15dcb3 Genode::Parent_client::session(char const*,
char const*)(W) +  0x183 = 0x15db30
 7 0x1829b8  160 0x15cdf5 Genode::Platform_env::Platform_env()(W) +
0xb5 = 0x15cd40
 8 0x1829d8   32 0x15d32c                  Genode::env()(T) +   0x3c =
0x15d2f0
 9 0x182a08   48 0x1591b5                         malloc(t) +   0x25 =
0x159190
10 0x182a28   32 0x157a2c               __register_frame(T) +   0x2c =
0x157a00
11 0x182a38   16 0x1590e0      init_exception_handling()(T) +   0x20 =
0x1590c0
12 0x182a58   32 0x163168                          _main(T) +   0x28 =
0x163140
13 0x0 .... 0x1631c0                         _start(T) +    0xc = 0x1631b4
===========================
It is unclear to me, why init has to grab a lock. Is it using data
structures that reside in shared memory with core? What should happen next?

Many thanks in advance,
Steffen
-- 
Dipl.-Inf. Steffen Liebergeld <steffen at ...37...>
Security in Telecommunications
TU Berlin/ Deutsche Telekom Laboratories
Ernst-Reuter-Platz 7, 10587 Berlin
Phone: +30 8353 58 263
Web: http://www.t-labs.tu-berlin.de/sect

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 554 bytes
Desc: OpenPGP digital signature
URL: <http://lists.genode.org/pipermail/users/attachments/20100521/01741a41/attachment.sig>


More information about the users mailing list