This content has been marked as final. Show 4 replies
I keep getting the following:I don't understand what you mean by this statement. How do you 'keep getting the following'?
So my process is multithreaded and only some of the threads are realtime threads. From within a realtime thread i can execute a full thread dump no problem. However, if i were to attempt to execute a thread dump on a realtime thread (within a different thread) i get that log statement stating i need to enable stack tracing.
That's not a statement, it's a single line from a stack trace. Where's the rest of it?
There is no stack trace. At least that's what im getting from the output. My guess is RTSJ sees pausing the thread to get a full stack trace causes jitter and makes the system just that much more undeterministic. Therefore by default they disable stack tracing for realtime threads (when called from a different thread). Here is the entire output:
INFO [ProcessMonitor InputQ-1 Cell] stax.StackTraceAspect: (21/Dec/2010 17:47:22.177) 21/Dec/2010 17:47:22.177
Missed Heartbeat Trace for CELL [ShapeCell]
Strack Trace Dump
"ShapeCell InputQ-1 Cell" id  priority  state [WAITING] alive [true] daemon [false] native [false] suspended [false]
queue: depth  max size 
The "ProcessMonitor InputQ-1" is a non-realtime thread attempting to get a stack trace of "ShapeCell InputQ-1" thread (which is a realtime thread)
I believe the developers of RTSJ are probably going to have to answer this question. I have a followup meeting with them in the near future and will post their response.