Fwd: Debugging system freeze, SIGXCPU
rpm at xenomai.org
Mon Feb 25 17:08:16 CET 2019
On 2/25/19 2:32 PM, Ari Mozes via Xenomai wrote:
> Resending this question with testcase.
> Can someone give the testcase a try to see if it reproduces the problem I
> am seeing? Is more information needed?
> It takes a couple of minutes before I see the issue occur.
The random lockup is due to std::chrono::high_resolution_clock::now()
invoking the vDSO form of clock_gettime().
SIGXCPU aka Xenomai's SIGDEBUG may be sent by the core in various
situations, but since the code does not set the T_WARNSW for any task,
the only explanation is receiving a Xenomai watchdog notification. See
the help information about CONFIG_XENO_OPT_WATCHDOG in your kernel
After a few secs spinning in the vDSO code which may not be called from
real-time context, the Xenomai core pulls the break and sends SIGXCPU to
the offending process, unless the system locks up before the watchdog
could even trigger.
Solution: use clock_gettime(CLOCK_HOST_REALTIME) instead of
std::chrono::high_resolution_clock::now() for getting timestamps.
A related discussion is available at this URL:
More information about the Xenomai