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
