Not signed in
Copyright © 2026 Unity Technologies
Cancelling this 2023.2 tech release issue since the support for this release has come to end of life. Cancelling this 2023.2 port case does not affect any LTS or Unity 6 Beta/Preview that remain open.
This is not a Unity bug. There are multiple issues with the repro project, specifically related to the attempt to use the myS7ProSimLib.dll which is a native wrapper (generated by Tlbimp.exe) for the native COM DLL s7wspsmx.dll (which comes from Siemens originally): Firstly, the 32 bit native COM DLL s7wspsmx.dll cannot work on MacOS - it's a native Windows DLL. This is the cause of the crash on that platform when we try to interop. Secondly, the essence of the code (myS7ProSimLib.dll wrapping s7wspsmx.dll) appears to be from https://github.com/TheFern2/myS7ProSimLib and as the author mentions there, this will only work in a 32 bit Unity Editor, where we no longer have a supported 32 bit Editor. Thirdly, according to DependencyWalker s7wspsmx.dll depends on MFC71.DLL and msvcr71.dll. These are very old Microsoft DLLs and are not easily obtainable anymore, are not likely to be present on modern Windows machines and are not present in the repro project. The DLL could not be used (even in a 32 bit Unity Editor) without these.
This is not a Unity bug. There are multiple issues with the repro project, specifically related to the attempt to use the myS7ProSimLib.dll which is a native wrapper (generated by Tlbimp.exe) for the native COM DLL s7wspsmx.dll (which comes from Siemens originally): Firstly, the 32 bit native COM DLL s7wspsmx.dll cannot work on MacOS - it's a native Windows DLL. This is the cause of the crash on that platform when we try to interop. Secondly, the essence of the code (myS7ProSimLib.dll wrapping s7wspsmx.dll) appears to be from https://github.com/TheFern2/myS7ProSimLib and as the author mentions there, this will only work in a 32 bit Unity Editor, where we no longer have a supported 32 bit Editor. Thirdly, according to DependencyWalker s7wspsmx.dll depends on MFC71.DLL and msvcr71.dll. These are very old Microsoft DLLs and are not easily obtainable anymore, are not likely to be present on modern Windows machines and are not present in the repro project. The DLL could not be used (even in a 32 bit Unity Editor) without these.
This is not a Unity bug. There are multiple issues with the repro project, specifically related to the attempt to use the myS7ProSimLib.dll which is a native wrapper (generated by Tlbimp.exe) for the native COM DLL s7wspsmx.dll (which comes from Siemens originally): Firstly, the 32 bit native COM DLL s7wspsmx.dll cannot work on MacOS - it's a native Windows DLL. This is the cause of the crash on that platform when we try to interop. Secondly, the essence of the code (myS7ProSimLib.dll wrapping s7wspsmx.dll) appears to be from https://github.com/TheFern2/myS7ProSimLib and as the author mentions there, this will only work in a 32 bit Unity Editor, where we no longer have a supported 32 bit Editor. Thirdly, according to DependencyWalker s7wspsmx.dll depends on MFC71.DLL and msvcr71.dll. These are very old Microsoft DLLs and are not easily obtainable anymore, are not likely to be present on modern Windows machines and are not present in the repro project. The DLL could not be used (even in a 32 bit Unity Editor) without these.
Reproduction steps:
1. Open the attached “CrashRepro” project
2. Enter the Play Mode
Reproducible with: 2020.3.48f1, 2021.3.25f1, 2022.2.19f1, 2023.1.0b16, 2023.2.0a14
Reproducible on: macOS Ventura 13.3.1 (M1 Max, Intel)
Not reproducible on: Windows 10
First few lines of stack trace:
#0 0x0000019344c724 in __pthread_kill
#1 0xbe69000193391ae8 in abort
#2 0x6f5200016a4a416c in monoeg_g_printv
#3 0x0000016a489584 in mono_log_write_logfile
#4 0x0000016a4a4384 in monoeg_g_logv_nofree
#5 0x0000016a4a4440 in monoeg_assertion_message
#6 0x0000016a4a44a0 in monoeg_log_default_handler
#7 0x0000016a3f814c in mono_marshal_get_native_wrapper
#8 0x0000016a2b1098 in mono_method_to_ir
#9 0x0000016a28f66c in mini_method_compile
#10 0x0000016a291b80 in mono_jit_compile_method_inner
#11 0x0000016a29578c in mono_jit_compile_method_with_opt
#12 0x0000016a2992a0 in mono_jit_runtime_invoke
#13 0x0000016a41f654 in do_runtime_invoke
#14 0x0000016a41f574 in mono_runtime_invoke
#15 0x00000101631a74 in scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool)
#16 0x0000010160f930 in ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)
Sign in to see your voted issues