dosbox-libretro icon indicating copy to clipboard operation
dosbox-libretro copied to clipboard

Crashing on Win10 x64

Open Schroedingers-Cat opened this issue 9 years ago • 11 comments

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.

Schroedingers-Cat avatar Oct 14 '16 19:10 Schroedingers-Cat

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.

meepingsnesroms avatar Oct 17 '16 02:10 meepingsnesroms

hmmm, might have to do with the toolchain used. Guess we should build this ith an SJLJ toolchain...

andres-asm avatar Oct 17 '16 03:10 andres-asm

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?

Schroedingers-Cat avatar Oct 17 '16 10:10 Schroedingers-Cat

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.

meepingsnesroms avatar Oct 17 '16 17:10 meepingsnesroms

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?

Schroedingers-Cat avatar Oct 17 '16 17:10 Schroedingers-Cat

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.

andres-asm avatar Oct 17 '16 18:10 andres-asm

Ok I will disable it for windows.

meepingsnesroms avatar Oct 17 '16 19:10 meepingsnesroms

Can you write here, when the updated libretro-dosbox build can be fetched by retroarch?

Schroedingers-Cat avatar Oct 17 '16 19:10 Schroedingers-Cat

In a day or less.(Whenever the buildbot checks for changes next.)

meepingsnesroms avatar Oct 17 '16 19:10 meepingsnesroms

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

andres-asm avatar Oct 18 '16 00:10 andres-asm

Hmmm seems standalone has the same issue? https://www.vogons.org/viewtopic.php?f=32&t=47286

andres-asm avatar Oct 18 '16 00:10 andres-asm