Hello,
I did a LuaJIT binding for SDL 2.0.10 in GitHub - sonoro1234/LuaJIT-SDL2: autogenerated LuaJIT bindings for SDL2 with threads and audio
I have always compiled with mingw-w64 on windows 7 without MSYS
A simple program calling SDL_CreateThread had always worked:
LuaJIT-SDL2/main.lua at master · sonoro1234/LuaJIT-SDL2 · GitHub
When I updated SDL to 2.0.12 I got a SIGSEGV after the thread has finished.
Thread 3 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 5396.0x1a0c]
0x0fa70ff7 in ?? ()
(gdb) thread apply all bt
Thread 3 (Thread 5396.0x1a0c):
#0 0x0fa70ff7 in ?? ()
#1 0x6769008d in RunThread (data=0x356058) at C:\LuaGL\gitsources\anima\LuaJIT-SDL2\SDL\src\thread\windows\SDL_systhread.c:92
#2 0x676900a5 in RunThreadViaCreateThread (data=0x356058) at C:\LuaGL\gitsources\anima\LuaJIT-SDL2\SDL\src\thread\windows\SDL_systhread.c:99
#3 0x76d4343d in KERNEL32!BaseThreadInitThunk () from C:\Windows\syswow64\kernel32.dll
#4 0x77539812 in ntdll!RtlInitializeExceptionChain () from C:\Windows\SysWOW64\ntdll.dll
#5 0x775397e5 in ntdll!RtlInitializeExceptionChain () from C:\Windows\SysWOW64\ntdll.dll
#6 0x00000000 in ?? ()
Also found with dependency walker: SDL 2.0.10 takes _beginthreadex from MSVCRT.dll but SDL 2.0.12 does not.
I could saw some changes in SDL threads code from 2.0.10 to 2.0.12 but I was not able to find what should be changed. Does anyone have some clue?
Regards
Victor Bombi