Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abuse (v2.0) crashes on startup in v0.77.0 x32 (but not v0.76.0 x32) #1177

Closed
Banjo-Oz opened this issue Aug 7, 2021 · 9 comments · Fixed by #1182
Closed

Abuse (v2.0) crashes on startup in v0.77.0 x32 (but not v0.76.0 x32) #1177

Banjo-Oz opened this issue Aug 7, 2021 · 9 comments · Fixed by #1182
Labels
bug Something isn't working Windows Issues related to Windows

Comments

@Banjo-Oz
Copy link

Banjo-Oz commented Aug 7, 2021

I just updated DOSBox Staging to the latest stable version (0.77.0) and the game Abuse (v2.0) now crashes when I try to run the game or load SETUP.EXE. The same configuration and settings worked fine (no crash) under v0.76.0). I reverted to the previous Staging version but thought I should submit a bug report in case this wasn't a known issue.

No error appears in the log window on crash.

@Banjo-Oz Banjo-Oz added the bug Something isn't working label Aug 7, 2021
@Wengier
Copy link
Sponsor Collaborator

Wengier commented Aug 7, 2021

@Banjo-Oz Thanks for reporting the issue here! @kcgen and other members of the project have made a lot of improvements to the code recently, so it is possible that some change broke the function of the game. They may want to take a look at which recent PR has caused the said regression. Thanks again!

@kcgen
Copy link
Member

kcgen commented Aug 7, 2021

Hi @Banjo-Oz , can you share your configuration file(s) and game settings to reproduce this?
I'm unable to reproduce it on my side - 0.77.0 and the latest source both load and play it acceptably with default settings.
My conf file is:

[cpu]
cycles=35000

[fluidsynth]
soundfont = AudioGen

[ipx]
ipx = true

[autoexec]
@echo off
imgmount d "cd/Abuse v2.0f.img" -t cdrom
mount c Abuse
c:
cd Abuse
call run

I've also confirmed proper operation with Sound Blaster, MT-32, and FluidSynth.

dosbox-staging version 0.77.0-17-g2fd4cad33
---
CONFIG: Loading primary file dosbox.conf
MAIN: Sized window to 1280x960 with stretched pixels
OPENGL: Pixel buffer object extension: available
SDL: Mouse will move seamlessly without being captured.
MEMORY: Base address: 0x55d76ecbc1f0
MEMORY: Using 4096 DOS memory pages (16 MiB)
MIXER: Negotiated 2-channel 44100-Hz audio in 1024-frame blocks
ALSA: No available MIDI devices found
MIDI: No working MIDI device found/selected.
MIDI: Opened device: none
MIXER: FM channel operating at 44100 Hz without resampling
MIXER: SB channel operating at 22050 Hz and upsampling to the output rate
MIXER: SPKR channel operating at 18939 Hz and upsampling to the output rate
MIXER: DISNEY channel operating at 10000 Hz and upsampling to the output rate
MAPPER: Found one joystick
MAPPER: Initialized Logitech Gamepad F310 with 6 axes, 11 buttons, and 1 hat(s)
MAPPER: Loaded default key bindings
IMGMOUNT: Path 'cd/Abuse v2.0f.img' found
MIXER: CDAUDIO channel operating at 44100 Hz without resampling
MOUNT: Path 'ABUSE' found, while looking for 'Abuse'
MAIN: Draw resolution: 640x400, pixel aspect ratio: 1.20
"default" is not a valid value for variable: mididevice.
It might now be reset to the default value: auto
ALSA: No available MIDI devices found
MIDI: No working MIDI device found/selected.
MIDI: Opened device: none
SB16: DSP was reset
MAIN: Draw resolution: 320x200, double-width, double-height, pixel aspect ratio: 1.20

2021-08-07_11-08

2021-08-07_11-13

@kcgen
Copy link
Member

kcgen commented Aug 7, 2021

The more info you can provide the better - maybe you can package up your entire game directory and conf settings in a stand-alone "crashable" package?

@Banjo-Oz
Copy link
Author

Banjo-Oz commented Aug 8, 2021

My apologies, I neglected to specify that this is the SHAREWARE version I am trying to run. I've not tested the full version with DOSbox Staging (I use a different fork for my own main DosBox but am trying help a friend with Staging).

I've attached a zip file of a stripped-down install that has just he versions of Abuse SW v2.0 and DOSBox Staging 0.77.0 I am testing with. Hope this helps! Note I am using stable builds, not experimental/testing so there's every chance this got fixed in an unreleased-as-stable version too.

In my attached version, running either setup or abuse will hard crash.

I also tried deleting the config files created in a different session (using Staging 0.76.0) in case they were the reason for the crash. Still crashed running setup. Copying the game folder back to a different 0.76.0 install worked fine.

Shareware version acquired from the closest official/legal/original source I could find: https://www.classicdosgames.com/game/Abuse.html

Crash_ABUSE.zip

@kklobe
Copy link
Collaborator

kklobe commented Aug 8, 2021

Thank you for the report @Banjo-Oz - I can confirm that this crashes on the specified config (Windows x32) with 0.77.0.

Windows x64 seems to be fine (as is macOS).

I am investigating now, my hunch is the W^X functionality is causing issues on x32.

@kcgen kcgen added the Windows Issues related to Windows label Aug 8, 2021
kklobe added a commit that referenced this issue Aug 8, 2021
@kklobe
Copy link
Collaborator

kklobe commented Aug 8, 2021

@Banjo-Oz please download the x86 binary available here:

https://github.com/dosbox-staging/dosbox-staging/actions/runs/1110182814

and let us know how it works, thanks.

kklobe added a commit that referenced this issue Aug 8, 2021
kcgen pushed a commit that referenced this issue Aug 8, 2021
kcgen pushed a commit that referenced this issue Aug 11, 2021
kcgen pushed a commit that referenced this issue Aug 11, 2021
@Banjo-Oz
Copy link
Author

Thank you for the report @Banjo-Oz - I can confirm that this crashes on the specified config (Windows x32) with 0.77.0.

Windows x64 seems to be fine (as is macOS).

I am investigating now, my hunch is the W^X functionality is causing issues on x32.

Thanks. Yes, the x86 exe from the link works for both setup and running the game when I replace the 0.77.0 build I tested with. Awesome work! :)

I presume this means it's best to wait for 0.78.0 stable if I want to update my main Staging version from 0.76.0?

@kklobe
Copy link
Collaborator

kklobe commented Aug 12, 2021

I presume this means it's best to wait for 0.78.0 stable if I want to update my main Staging version from 0.76.0?

Bumping this to get on @kcgen 's radar - I think this warrants a hotfix/cherrypick since it's a critical flaw for our Windows x86 users. Let me know what you think!

@kcgen
Copy link
Member

kcgen commented Aug 12, 2021

I presume this means it's best to wait for 0.78.0 stable if I want to update my main Staging version from 0.76.0?

Bumping this to get on @kcgen 's radar - I think this warrants a hotfix/cherrypick since it's a critical flaw for our Windows x86 users. Let me know what you think!

Got it! #1192

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Windows Issues related to Windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants