Hello Sid, welcome to the list! On Thu, Sep 23, 2021 at 01:04:28 CEST, Sid Agrawal wrote: > - *Running the hello_tutorial*: the hello_tutorial job on qemu does not > finish to completing and times out. Below are my steps on ubuntu 20.04.1. I > am using the Genode development container > <https://genodians.org/skalk/2020-09-29-docker-devel>, so the tools > should not an issue. I also tried it outside the container. > > git clone git://github.com/genodelabs/genode.git > cd genode > tool/ports/prepare_port sel4 > tool/ports/prepare_port grub2 > tool/create_builddir x86_64 > > cd x86_64/build/ > # Change build/x86_64/etc/build.conf. > # Change kernel to sel4 and add hello_tutorial > diff etc/build.conf.old etc/build.conf > > 20c20 > < #KERNEL ?= nova > --- > > KERNEL ?= sel4 > 85a86 > > REPOSITORIES += $(GENODE_DIR)/repos/hello_tutorial > > make > make hello > make run/hello # This times out as shown below. > > [init -> hello_server] creating root component [0m [0m > [init -> hello_client] upgrading quota donation for PD session (0 > bytes, 4 caps) > [0m [0m > [init] child "hello_server" requests resources: cap_quota=3 [0m [0m > [init] child "hello_client" requests resources: ram_quota=0, cap_quota=4 > [0m [0m > Error: Test execution timed out > > Any comments on what I am doing wrong would be very helpful. Secondly, what > would be the best way to go about debugging an issue like this.
I suppose you succeded in running the scenario on Linux and NOVA like follows. make run/hello KERNEL=linux BOARD=linux make run/hello KERNEL=nova For seL4 I can reproduce what you pasted above, so the issue is related to the used platform. As the log output states "hello_server" is requesting more resources and requires cap_quota (capability quota) increased during an operation that requires 3 caps. A look into the init configuration (see hello.run) reveals the following. <!-- all components get 50 capabilities per default --> <default caps="50"/> Now you may grant the component some more caps to make it run successully by changing <start name="hello_server" caps="54"> to the hello_server start node and running make run/hello KERNEL=sel4 This results in additional resource requests [init] child "hello_server" requests resources: ram_quota=0, cap_quota=4 The reason is that the seL4 platforms works quite different from NOVA and expectedly Linux, which results in a higher capability consumption of the used software stack. The following start nodes render the scenario working again. <start name="hello_server" caps="58"> ... <start name="hello_client" caps="51"> Please see Chapters "Resource trading" [1] and "Resource assignment" [2] in the Genode Foundations book for a thorough explanation. [1] https://genode.org/documentation/genode-foundations/21.05/architecture/Resource_trading.html [2] https://genode.org/documentation/genode-foundations/21.05/system_configuration/The_init_component.html#Resource_assignment Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · https://www.genodians.org/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth _______________________________________________ Genode users mailing list [email protected] https://lists.genode.org/listinfo/users
