[2025.32280] Win11, Engine COMP File Corruption (XML Loop) & Zombie Semaphore Wait

Hi Derivative Team,

I have isolated a issue where the Engine COMP permanently corrupts .tox files into an infinite XML parsing loop (TiXmlNode::NextSibling).

The Setup:

  • Context: Using an Engine COMP to run a Slamtec CHOP.

  • Settings: Engine Clock set to Independent. There is no viewer or ./out1, made it empty.

  • Internal: The .tox contains no Out TOPs (visuals are handled via Spout).

The Bug: Despite setting the Clock to Independent and disabling Texture Output, the Engine process eventually deadlocks. WinDbg analysis confirms the thread is waiting on: libTD!TER_TouchInstance::hasExportableTimelineSemaphoresmsvcp140!_Cnd_timedwait

Observation:

  1. The “Zombie” Check: The Engine continues to block waiting for a Timeline/Texture Semaphore even though I have explicitly disabled Texture Output and set the clock to Independent. It seems the Engine does not correctly disengage this check, leading to a deadlock when the Slamtec driver introduces timing irregularities.

  2. Corruption: Once this deadlock occurs, the .tox file structure becomes corrupt. Both the Main Process and the Engine subsequently freeze in an infinite loop at libTD!TiXmlNode::NextSibling. genAI says I need to rebuild the engine file from scratch to prevent this error from happening again.

The freeze is triggered every 40 minutes or so only when I try to go in and out of bases or work on the project, it never occured when I did a dry run for 16 hours+. So I hope this won’t happen in production haha. Can’t really share a tox since the project is pretty massive with a lot of assets :frowning:

Best,
Robert

Hi Robert

There’s some AI cruft in this which confuses things. Can you tell me without using any AI analysis what the actual issue is? You see TouchEngine hanging using an Engine COMP?

If you can attach a project & component which reproduces the issue, and/or a .dmp file (you can compress it to make it a manageable size), that would help. If you’d rather not share them here, send them to support@derivative.ca and reference this forum thread.

Thanks