Hello Genodians, I am attempting to familiarize myself with some of the provided data structures. When playing around with the Registry class, I encountered an interesting error. [1] is a GitHub gist containing the code I am running. I am wanting to use the Registry class to keep track of services announced by children on a parent component. When looking though the Genode repository, this seemed to be the accepted way to do this (please correct me if I am misunderstanding). When I run this code, I get the following output:
Genode 23.11 87 MiB RAM and 63252 caps assigned to init [init -> parent] Child requested session: 'PD' Error: illegal READ at address 0x4 by pager_object: pd='init -> parent' thread='ep' ip=0x7acf4 I would like to pass a reference to the Registry to each instance of Child_policy so I can use services announced by other children. As an additional experiment however, I tried creating a new Registry as a class member for each Child_policy (see the comment at the top of the Tutorial::Child class). This resulted in the following output: Genode 23.11 87 MiB RAM and 63252 caps assigned to init [init -> parent] Child requested session: 'PD' To me, this indicates that the for_each call is blocking. I cannot see, however, what would be holding the mutex before I get to this point. Any pointers in the right direction would be greatly appreciated :) [1] https://gist.github.com/zgzollers/48181fbc2dac6e51015602c6329593f9 Thanks, Zachary Zollers _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-le...@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/message/2XAF6P4DGYYW56IJX4VL27BFG3LQSYGG/