Hello List!

I have an application running rt_task_sleep() in a loop. After a more or
less random number of loops, something up to 5000 cycles, the system
reboots with the following error message:

Kernel panic - not syncing:
<4>BUG: failure at kernel/ipipe/core.c:319/__ipipe_restore_root()!

For me it's not a bigger issue, as I can replace it with usleep() and
everything works fine, but maybe it's something, someone could have a
closer look at. On my system (blackfin537-stamp, uclinux2008, xenomai
2.4.0) it can be reproduced with the following code:

#include <stdio.h>
#include <unistd.h>
#include <rtdm/rtdm.h>
#include <native/task.h>
#include <linux/delay.h>

RT_TASK _rtTask;

int main(int argc, char *argv[]) {
    rt_task_shadow(&_rtTask, "whatever", 1, 0);
    rt_task_set_mode(0, T_PRIMARY, NULL); // primary

    uint32_t n = 0;
    while (1) {
        printf("Loop %u OK. Waiting....\n", n++);
        rt_task_sleep(100000000); // 500MHZ -> 0.2s

Xenomai-core mailing list

Reply via email to