> If you want to do that right now, you could override the initial timer
> setup using xnpod_stop_timer(), then install your primary handler using
> xnpod_start_timer() again from your app init code, then make sure to
> call XNPOD_DEFAULT_TICKHANDLER at the end of your primary handler. It's
> a hack, but this should work, including over the UVM.
Yes, that meanwhile works. Thanks.
So the program behaves much better now. However, I still have two major
problems.
1) The program segfaults sometimes. It's not predictable whether
it'll happen or not. Starting the same program 10 times may
result in some segfaults and some complete runs. Adding a printf
for error checking can massively alter the crash likelyhood. When
it crashes, its always the same picture: A pSOS event is sent
from one task to another. The receiveing task is released from its
blocking ev_receive and continues. However, if this now running task
calls psos_current_task() it gets the id of the task the event has
been sent from! Somehow something seems to be completely mixed up
in the nucleus. After two days of search I'm running out of ideas
what to look for. I'd be thankful for some ideas where to place
some hooks to identify the problem. Things get complicated because
program changes (I tried to reduce the problem to a simple example)
ususally make the problem go away and debugging hardly works, see 2)
2) I have lots of problems with gdb 6.5. When stepping through the program
I sooner or later get the following error:
UVM fatal: attempt to suspend root thread ROOT
CPU PID PRI TIMEOUT STAT NAME
> 0 0 0 0 01000080 ROOT
0 0 50 999 00020084 MAIN
0 0 90 999 00000084 TOSV
0 0 80 999 00000084 LHTX
0 0 80 0 00000082 LHRX
0 0 70 999 00000084 LHWT
Timer: periodic [tickval=1000000 ns, elapsed=4]
Child exited with retcode = 63
Child exited with status 99
GDBserver exiting
Sometimes I also get:
UVM fatal: suspensive call issued while the scheduler was locked
Any ideas, how to avoid this?
Thanks,
Thomas
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help