On Sun, 19 May 2024 14:59:16 +0200 Helge Deller <del...@kernel.org> wrote:
> I did some analysis, and this bug was quite interesting...
> Patch which fixes it (and probably armel too) is below.
>
> a) The "unit-test-server: no process found" error is misleading.
> It does not indicate that the server or client test program did
> not start, but it just means the "killall" program in the unit-tests.sh
> shell script could not find the "unit-test-server" process any longer
> (which is correct, since it executed and exited quite fine).
> The patch below pipes errors of killall to /dev/null to avoid it.
>
> b)
> The main problem, is the timeout of 7ms in unit-test-client.c around
> line 681.
> On SMP parisc machines where more than one CPU is running, the internal
> timers are not as fine-grained as on single-CPU machines, or as x86
> machines. That leads that it's not guaranteed, that chars gets delivered
> in a 2ms boundary timeframe (7ms total - 5ms wait time = 2ms delivery
time max).
> I increased the timeout to 15ms, and now the tests succeed.
>
> Can you please include the patch below and bring it upstream?
Thanks for your investigation
I did forward this bug upstream:
https://github.com/stephane/libmodbus/issues/815
The failure on hurd-* seems to be related to that too.
I tested on the hurd porterbox and increasing the timeout to 30ms is
fixing the build (15ms was not enough)
Would be nice is this could be fixed
Kind regards,
Laurent Bigonville