Sporadic Invalid_clear exception in init

Pirmin Duss pirmin.duss at gapfruit.com
Fri Feb 26 11:10:33 CET 2021

Hi Norman

Thanks for your input.

I have found a combination that produces the error most of the times in
the first dozen or so config changes, this makes testing a lot easier.

I tried your patch, but unfortunately no output was produced, then I
applied it to all other locations where `_revert_quota_and_destroy()` is
called, but I still don't get any output (using raw instead also didn't
help). For debug purposes I therefore added a log output in
`Child::session_closed()` just before the call to
`_revert_quota_and_destroy()` With this I always get the output that the
last closed session, before the exception, is of type `File_system`. I
assumed therefore, that most probably the error happens when a
`File_system` is closed.

With this assumption and the label of the closing connection I replaced
the component in question with a `chroot` component. With this the
exception still occurs.
All of the test up until here were done on 20.08 and 20.11.

Then I started to create a very stripped down version of our scenario
that only uses a few different components [1].

This did not result in the exception being thrown, but there seems to be
a capability leak somewhere along the way, if multiple `chroot`
components in nested sub inits are chained.

In our original scenario there are no two `chroot` components chained.
But as the error also occurred when I replaced the original component
with a `chroot`, I tried to use `chroot` in the test.

Shall I create a issue for this finding?

[1] https://github.com/trimpim/genode/tree/init_bughunt_v2

Regards, Pirmin

More information about the users mailing list