Norman Feske <norman.feske@...1...> writes:
Hello Marc,
thanks for the first real post on our mailing list! I am really happy that you are experimenting with our project.
I try genode on fiasco and encounter a strange problem in core process. It seems that stack goes over heap. Here is some explanation : After a little while, init child thread from core (4.04) raises an exception into Server_activation_base::entry at _curr_obj->unlock(). After some debugging, I saw that _curr_obj (at 0x647a4) is modified during dispatch at a push assembler instruction. So, I guess, stack goes over the heap, isn't it ?
Indeed, the current version of Genode locates stacks in the heap, which is generally a bad idea because this makes it really hard to detect stack overflows. Hence, we plan to change the stack- allocation scheme for the next release.
Is it possible to use a guard page to detect stack overflow? Having a way to implement guard pages using Bastei primitives would be nice for some other projects I have in mind.
Regards,