dosbox-libretro
dosbox-libretro copied to clipboard
Crashing on Win10 x64
I'm using retroarch (1.3.6) with the dosbox libretro core (DOSBox Git (5deb)). I can load and start the dosbox libretro core itself, which sends me to the dos prompt. From there, I mount my games directory to C, but as soon as I start any of my games (which work with standard dosbox 0.74 settings), I get the error message "retroarch has stopped working". This is the log file from retroarch: http://pastebin.com/c79HEtyT
However, I don't see anything interesting in there and retroarch doesn't log anything new after starting the libretro dosbox prompt.
I also tried to load game-specific working dosbox config files, but the outcome is the same: libretro dos prompt working, running game crashes retroarch.
What could be the problem and what can I do to find out it's cause?
For reference, I also posted this on libretro forum: http://libretro.com/forums/showthread.php?t=7249 To me, this seems like a bug crashing retroarch as soon as a game changes the resolution.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Sounds like the dynarec is executing data(what it is supposed to do) and windows does not like that.
I had this issue before on mac,reenabling mprotect fixed it.
But windows does not have mprotect and I dont test on windows.(or use it unless I have to)
So you have to wait for someone with windows to fix this.
Disable "Data Execution Prevention" in windows and post if it still crashes.
hmmm, might have to do with the toolchain used. Guess we should build this ith an SJLJ toolchain...
Disable "Data Execution Prevention" in windows and post if it still crashes.
This is not possible with x64.
So you have to wait for someone with windows to fix this.
Is the libretro-dosbox port done by mac-only developers? Maybe you could @somebody from the windows devs?
Could you switch to the linux version using the new linux shim in win10 for now? (Or forever if you don't want to worry about incompatibility with windows anymore.)
I am currently the only one working on dosbox and I use a mac.
I have a windows emulator on my mac but no windows toolchain,nor have I ever developed for windows (or any specific platform/if it wont run on everything I don't care for it).
I don't know who does windows specific stuff but if they see this they can make a pull request or make a suggestion.
Could you switch to the linux version using the new linux shim in win10 for now?
I don't know what that is. Are you talking about the linux shell subsystem in Windows 10?
Could you switch to the linux version using the new linux shim in win10 for now? (Or forever if you don't want to worry about incompatibility with windows anymore.)
I am currently the only one working on dosbox and I use a mac.
I have a windows emulator on my mac but no windows toolchain,nor have I ever developed for windows (or any specific platform/if it wont run on everything I don't care for it).
I don't know who does windows specific stuff but if they see this they can make a pull request or make a suggestion.
Sorry but that is not acceptable. If the dynarec doesn't work then disable it for the windows build.
It's like asking linux users to run RA under wine.
Ok I will disable it for windows.
Can you write here, when the updated libretro-dosbox build can be fetched by retroarch?
In a day or less.(Whenever the buildbot checks for changes next.)
It builds within an hour but due cloudfare cache it may take a few hours for it to actually update. @meepingsnesroms I tried hooking up gdb, I get a segfault and corrupt stack in thread 1 but I get this in thread 2
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) thread 2
[Switching to thread 2 (Thread 7152.0x45dc)]
#0 0x00007ffd51ee87f4 in ntdll!ZwWaitForWorkViaWorkerFactory ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
(gdb) bt
#0 0x00007ffd51ee87f4 in ntdll!ZwWaitForWorkViaWorkerFactory ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x00007ffd51e6b5e8 in ntdll!RtlAcquireSRWLockShared ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0x00007ffd519c8102 in KERNEL32!BaseThreadInitThunk ()
from C:\WINDOWS\system32\kernel32.dll
#3 0x00007ffd51e9c5b4 in ntdll!RtlUserThreadStart ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x0000000000000000 in ?? ()
not sure if it helps
Hmmm seems standalone has the same issue? https://www.vogons.org/viewtopic.php?f=32&t=47286