While my UI synchronization from the GeDialog to the Attribute Manager parameters and vice versa runs perfectly safe on the main thread (hope so
:-)) , the crash was triggered inside MSG_DESCRIPTION_COMMAND when clicking the "Convert" button. In that moment, my code overwrites the temporary audio file, temporarily flushes the track path with an empty string "" to force C4D to clear its memory buffer, and reloads the track. Without protection it somehow collided with Redshift or MoGraph trying to read the document's audio properties during a redraw cycle, resulting in the access violation inside the audio driver callback (wdmaud.drv).
First of all: I am happy that you found your fix.
But this should not happen, and would imply a severe bug on our side. You should be able to write data as you desire on the MT. I am also not sure if the AI did not misinform you a bit. The stack trace which is found in a bug report contains raw function pointer offsets. Apart from some guesswork based on the DLL names, the offsets are meaningless for a human, even an AI cannot read this. To become meaningful, these stack traces must be resolved by our bug ticket system which then turns the function offset pointers into function and method names and their file and line numbers (it then looks more or less the same as the Python stack traces you know). You can only resolve this when you have access to the debug database /source code of Cinema 4D, which is for obvious reasons not shipped with Cinema 4D.
Did you submit your crash when Cinema 4D asked you to do so? Because I do not see it in our bug tracker when I search for that stack trace. The strack trace in your crash report must be read bottom to top, i.e., the highest item is the stack frame where it crashed.
CINEMA_4D_Crash_Report_WINDOWS
{
Call_Stacks
{
Call_Stack_Thread_57060
{
VCRUNTIME140.dll: _NLG_Return2 + 0x6c0 (SP: 0x0000006CAA3FED68, PC: 0x00007FFEB8DB0CF0) // Here is goes 'poof'
c4d_base.xdl64: 0x00007FFD9CDB07E6 (SP: 0x0000006CAA3FED70, PC: 0x00007FFD9CDB07E6)
c4d_base.xdl64: 0x00007FFD9CDAC864 (SP: 0x0000006CAA3FEDE0, PC: 0x00007FFD9CDAC864)
c4d_base.xdl64: 0x00007FFD9CDAC503 (SP: 0x0000006CAA3FEE80, PC: 0x00007FFD9CDAC503)
c4d_base.xdl64: 0x00007FFD9CDB480F (SP: 0x0000006CAA3FEF60, PC: 0x00007FFD9CDB480F)
c4d_base.xdl64: 0x00007FFD9CDB5914 (SP: 0x0000006CAA3FF500, PC: 0x00007FFD9CDB5914)
c4d_base.xdl64: 0x00007FFD9CDB755C (SP: 0x0000006CAA3FF550, PC: 0x00007FFD9CDB755C)
c4d_base.xdl64: 0x00007FFD9DA833B4 (SP: 0x0000006CAA3FF590, PC: 0x00007FFD9DA833B4)
c4d_base.xdl64: 0x00007FFD9DA82F45 (SP: 0x0000006CAA3FF5F0, PC: 0x00007FFD9DA82F45)
winmmbase.dll: DriverCallback + 0x5a (SP: 0x0000006CAA3FF630, PC: 0x00007FFEB126D38A)
wdmaud.drv: 0x00007FFE1D202A35 (SP: 0x0000006CAA3FF670, PC: 0x00007FFE1D202A35)
wdmaud.drv: 0x00007FFE1D2020F4 (SP: 0x0000006CAA3FF6E0, PC: 0x00007FFE1D2020F4)
wdmaud.drv: 0x00007FFE1D201E45 (SP: 0x0000006CAA3FF970, PC: 0x00007FFE1D201E45)
KERNEL32.DLL: BaseThreadInitThunk + 0x17 (SP: 0x0000006CAA3FF9A0, PC: 0x00007FFED3BAE957)
ntdll.dll: RtlUserThreadStart + 0x2c (SP: 0x0000006CAA3FF9D0, PC: 0x00007FFED52A7C1C)
Registers
{
...
I.e., it crashed in VCRUNTIME140.dll, a Visual C++ Runtime component that is responsible for executing C code. This hints at low level operations such as memory allocation or hardware drivers. And you are right, wdmaud.drv is the Windows Media audio driver. c4d_base.xdl64 is then the base library of the Cinema API, there are a lot of things to be found in there and without resolving the report we cannot know where the problem lies (the stack frame in the Cinema API which then invokes something in VCRUNTIME140.dll). So, this basically goes "Audio Driver -> Cinema Core -> C dinosaur code -> poof".
Python plugin execution modules do not show up at all (which means that this happens quite a bit after any Python code ran). And Mograph and Redshift modules do not show up in the crashing thread (MG shows up one thread before but that does not mean much).
It would be great if you could submit the bug report, so that our crash handler can resolve it. I can also technically add your crash dump manually, but that is always a bit of a hassle. This is pretty much guaranteed to be a severe bug somewhere in the audio memory management.
Cheers,
Ferdinand
edit: I edited out the crash report download link in your posting, as it contains some minor sensitive details about your system we do not want to publish to the world when we do not have to 
PS: And we will of course never shame users for their code, as that would be very counterproductive to what we are trying to do: help developers.
:-)) , the crash was triggered inside MSG_DESCRIPTION_COMMAND when clicking the "Convert" button. In that moment, my code overwrites the temporary audio file, temporarily flushes the track path with an empty string "" to force C4D to clear its memory buffer, and reloads the track. Without protection it somehow collided with Redshift or MoGraph trying to read the document's audio properties during a redraw cycle, resulting in the access violation inside the audio driver callback (wdmaud.drv).
). We sometimes ask people to report a formal bug report so that we can reproduce an issue. This is not necessarily bound to the bug being in Cinema 4D. Although we often do this when we suspect that the bug is on the Cinema side or at least in a grey area where the plugin does something that is not so great but Cinema also drops the ball in some shape or form.