Hi Sid,
Sid Hussmann sid.hussmann@gapfruit.com writes:
to debug pthreads it might be worth considering running the scenario on base-linux and attach gdb directly [1]. Even though the ssh run-scripts currently don't support base-linux, I'm pretty sure there is nothing substantial that prevents us doing so, as fork/execve are now supported in linux as well. Maybe all you need to do is change nic_drv and rtc_drv with the linux counterparts and add `ld="no"` to their start nodes.
Actually I did that yesterday and in that case even more important for me was article by Christian Helmuth [2].
Currently I tend to believe that diagnosis of Alexander Böttcher [3] about memory corruption is accurate (I can observe that structure with file descriptor numbers is changing during call to 'select' so probably another thread overwrites this memory).
Probably it would be much easier to find root cause if ubsan could be used (on whichever of platforms) but as I mentioned at the end of [4] I think it is not possible currently.
Anyway I'll continue investigation in the evening.
Regards, Tomasz
[2] https://genodians.org/chelmuth/2019-01-31-network-dev [3] https://github.com/genodelabs/genode/issues/4095#issuecomment-829913604 [4] https://github.com/genodelabs/genode/issues/4095#issuecomment-835312180