The issue happens in both 2022.33910 and 2023.11340 running on Windows 11
We have 6 identical computers running the same project files. Each computer is running two instances of touchdesigner. One of those instances crashes frequently on one machine (after anywhere from a minute to ~8hrs), infrequently on another machine, and never at all on the remaining 4 computers.
Of the two projects running, only one of them crashes and the other remains stable.
The crashing scene is pretty simple, there are videodevicein and ndiin TOPs that bring in camera feeds, which are then formatted, have text overlaid and then are sent out via NDI.
I’ve seen a crash window pop up that says ‘Failed inside operator: /project1/…/text2’. This text TOP just has the video as an input and it is comping text onto of it, doesn’t seem like it could be responsible for a crash in usual circumstances.
The CPU and memory usage remain stable and low, both under 15%.
The dmp files seem to indicate a failure to write to memory:
EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00007ffa85094a1b (libTD+0x0000000000cc4a1b)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000001
Parameter[1]: 00007ffa877113a0
Attempt to write to address 00007ffa877113a0PROCESS_NAME: TouchDesigner.exe
WRITE_ADDRESS: 00007ffa877113a0
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
EXCEPTION_CODE_STR: c0000005
EXCEPTION_PARAMETER1: 0000000000000001
EXCEPTION_PARAMETER2: 00007ffa877113a0
STACK_TEXT:
000000c2ed3fab90 00000000
00000000 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : libTD+0xcc4a1bSTACK_COMMAND: ~0s; .ecxr ; kb
SYMBOL_NAME: libTD+cc4a1b
MODULE_NAME: libTD
IMAGE_NAME: libTD.dll
FAILURE_BUCKET_ID: INVALID_POINTER_WRITE_c0000005_libTD.dll!Unknown
TouchDesignerCrash.2022.33910.3.dmp (1.1 MB)
Could this be TD bug or is this more likely a memory hardware issue? It is strange to get such different behavior on identical setups.
Would damaged memory result in a “The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s” error? Is there any other information I should collect to reveal more clues?