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

Emulator crashes with on-screen keyboard - 64-bit Retropie - Raspberry Pi 5

Open vopmms opened this issue 2 months ago • 5 comments

dosbox version: 1.0 preview 4 (this issue also occurs on previous versions) OS: 64-bit Retropie hardware: Raspberry Pi 5

For some games, for example Jazz Jackrabbit, when you use the on-screen keyboard, the emulator crashes. The command log only shows a "2071 Segmentation fault" error. As soon as you trigger the on-screen keyboard, the emulator will exit.

I've noticed that this crash doesn't occur on games that are higher resolution like 640x480 games. I don't have this issue on the 32-bit RetroPie OS on my Raspberry Pi 4.

Would be very grateful if this issue can be fixed because dosbox-pure is awesome.

vopmms avatar Nov 04 '25 21:11 vopmms

Do you use a pre-built .so of the core or do you compile your own? If you compile your own, can you compile it with make BUILD=DEBUG -j4 and then run RetroArch via gdb? This way it would print the exact line of code that causes the crash. Without that, you'd need to wait until I have a device that can reproduce this crash. It indeed does not happen on a Pi 4 (running 64-bit kernel but 32-bit userland) and it also doesn't happen on a Arm64 Android device.

schellingb avatar Nov 07 '25 17:11 schellingb

@schellingb I'm using the pre-built.so. I'll try to follow your instructions and get more information. Thank you. And thanks for this additional information:

... It indeed does not happen on a Pi 4 (running 64-bit kernel but 32-bit userland) and it also doesn't happen on a Arm64 Android device.

vopmms avatar Nov 07 '25 17:11 vopmms

@schellingb I was able to get this additional information in the gdb.log. I hope that's helpful

thread 7 "retroarch" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fe124e580 (LWP 2067)]
0x0000007fd93796ac in DBP_MenuMouse::Draw (this=0x7fd97c9ce0 <DBP_OSD+24>, buf=..., joykbd=true) at /home/pure/dosbox-pure/dosbox_pure_osd.h:283
283 if (c < midc) *pp = ccol; // line right

vopmms avatar Nov 07 '25 20:11 vopmms

Thank you so much, that is infinitely helpful. I couldn't reproduce the issue there but I think I found and fixed something that potentially could be the cause here. Are you able to either build the very latest revision of the code yourself or grab the output of the GitHub Action here and test it again?

schellingb avatar Nov 11 '25 15:11 schellingb

I built the latest code and the issue is fixed! wooooot. Thank you so much! Now I can use your awesome dosbox-pure again finally. If there is anything else I can do to help, please let me know but the issue is fixed.

vopmms avatar Nov 11 '25 17:11 vopmms