Hello @SQ Jin ,
That's good information. Thread state (0) means the thread is running or ready to run, it's not suspended. So the only things I can think of are 1) the thread is in an infinite loop somewhere, and never gets back to pull the next event from the queue or 2) A thread of higher priority is running and not allowing the GUIX thread any CPU time. A few other things I am curious about are a) what sort of events are filling the GUIX event queue? Are these just touch and timer events that GUIX is not popping from the queue? and b) Can you go through your other threads and see what other threads might be running at higher priority and blocking the GUIX thread?
You might also put a breakpoint at the end of the function _gx_system_thread_entry, where we call _gx_system_error_process and return. If some sort of error is happening and causing the GUIX thread to terminate that might also explain the situation you are seeing.
Let me know what you find out. We haven't had a report like this to my knowledge so I don't think there is a structural problem but you can never say never.