Hi All,

During testing of circular arc blends, Sam and I have noticed a peculiar
crash in the trajectory planner on RT builds. What seems to happen is that
the velocity of the current segment suddenly jumps to a huge negative
value, despite the many checks in the code against unsafe velocities. To
help debug this, I have a few questions about how the servo loop runs in
the context of motion and the rest of linuxcnc:

   1. Does any other part of the code besides the TP have write access to
   the motion queue? I don't see any, but I could be missing something.
   2. What happens if emcmotController runs too long? Is there a
   higher-priority thread that can interrupt it?
   3. I'm occasionally seeing a "tcqPut Failed" error on simulation runs.
   My understanding was that the queue margin was implemented to fix a race
   condition, and shrinking this margin makes this more frequent. What is the
   sequence of events that causes a new segment to be added to the queue?
   Would this be affected if the kernel processes were hogging CPU time?

The other cause of a huge jump that i can think of is a divide-by-zero or
use of uninitialized data, but this would seem to be an algorithmic issue,
which would show up in the simulator as well. Since I'm only seeing this
problem on RT builds, this seems less likely to me.

Thanks!
Rob
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to