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

Running 'Doom 64: Unseen Evil' on the latest 14.3.0 Flatpak crashes GZDoom #78

Closed
ShadowOne333 opened this issue Oct 15, 2024 · 16 comments

Comments

@ShadowOne333
Copy link

Good day.
Yesterday, I tried playing the recently released "Doom 64: Unseen Evil" mod, which basically converts all the Doom and Doom II assets to play and behave like Doom 64, and I am getting a consistent crash whenever I tried to load any level of any game/episode.

I remember I tried running this on Friday and I was able to get it to run into the first level (E1M1) with the D64 assets, however, I didn't continue playing since I was modifying some controls options and left it there for the weekend. It wasn't until yesterday that I came back to it, and to my surprise, now I couldn't get it to run anymore.

I'm running GZDoom on a Steam Deck, with the Flatpak installed being up to date.
I ran the Flatpak through terminal with flatpak run org.zdoom.GZDoom, and at the very end I got the crash log, here's what I got:

$ flatpak run org.zdoom.GZDoom

GZDoom g4.13.0-m - 2024-10-12 01:28:09 -0400 - SDL version
Compiled on Oct 13 2024

OS: Freedesktop SDK 24.08 (Flatpak runtime), Linux 6.1.52-valve16-1-neptune-61 on x86_64
GZDoom version g4.13.0-m
W_Init: Init WADfiles.
adding /app/share/games/doom/gzdoom.pk3, 679 lumps
adding /app/share/games/doom/game_support.pk3, 3308 lumps
adding /home/deck/.config/gzdoom/doom.wad, 2306 lumps
adding /app/share/games/doom/game_widescreen_gfx.pk3, 214 lumps
adding /home/deck/.var/app/org.zdoom.GZDoom/.config/gzdoom/D64UnseenEvil-v1.0.3.pk3, 3686 lumps
S_Init: Setting up sound.
I_InitSound: Initializing OpenAL
  Opened device ACP/ACP3X/ACP6x Audio Coprocessor Speaker
  EFX enabled
Using video driver x11
Number of detected displays 1 .
Creating window [1024x640] on adapter 0
Vulkan device: AMD Custom GPU 0405 (RADV VANGOGH)
Vulkan device type: integrated gpu
Vulkan version: 1.3.289 (api) 24.2.4 (driver)
Max. texture size: 16384
Max. uniform buffer range: -1
Min. uniform buffer offset alignment: 4
Resolution: 640 x 480
I_Init: Setting up machine state.
CPU Vendor ID: AuthenticAMD
  Name: AMD Custom APU 0405
  Family 23 (23), Model 144, Stepping 2
  Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 F16C FMA3 BMI1 BMI2 HyperThreading
V_Init: allocate screen.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
Invalid data encountered for texture D64UnseenEvil-v1.0.3.pk3:textures/texture_readme.txt
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/enemies/zombies.zsc" line 71:
Accessing deprecated function A_PlaySound - deprecated since 4.3.0, Use A_StartSound() instead
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/enemies/imps.zsc" line 96:
Accessing deprecated function A_PlaySound - deprecated since 4.3.0, Use A_StartSound() instead
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/enemies/brusiers.zsc" line 37:
Truncation of floating point constant 29.268288
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/d64ue/enemies/cyberdemon.zsc" line 34:
Truncation of floating point constant 53.658528
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/d64ue/enemies/cyberdemon.zsc" line 35:
Truncation of floating point constant 32.940000
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/hud.zsc" line 32:
Accessing deprecated function S_Sound - deprecated since 4.3.0, Use S_StartSound() instead
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/d64ue/redemption_denied.zsc" line 146:
Comparison between signed and unsigned value
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/d64ue/redemption_denied.zsc" line 218:
Comparison between signed and unsigned value
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/d64ue/redemption_denied.zsc" line 238:
Comparison between signed and unsigned value
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/enemies/arachnotron.zsc" line 65:
Truncation of floating point constant 17.073168
Script warning, "D64UnseenEvil-v1.0.3.pk3:zscript/enemies/arachnotron.zsc" line 66:
Truncation of floating point constant 14.640000
script parsing took 655.20 ms
Brightmap 'textures/comp/d64_brownlever_bm' not found in texture 'TEXTURES/COMP/D64_BROWNLEVER_ON'
Brightmap 'textures/comp/d64_brownlever_bm' not found in texture 'TEXTURES/COMP/D64_CEMENTLEVER_ON'
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
Script error, "D64UnseenEvil-v1.0.3.pk3:models/maps/map30_map30.obj" line 532:
Material Default (#0) not found.
Script error, "D64UnseenEvil-v1.0.3.pk3:models/maps/map30_map30.obj" line 588:
Material SFALL4 (#2) not found.
Script error, "D64UnseenEvil-v1.0.3.pk3:models/maps/map30_map30.obj" line 626:
Material BFALL1 (#6) not found.
Script error, "D64UnseenEvil-v1.0.3.pk3:models/maps/map30_map30.obj" line 644:
Material Default (#10) not found.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)

----------------------------------------

TITLEMAP - Title Screen


----------------------------------------

E1M1 - Hangar


[PLAYLIST] Resetting playlist to default...
/usr/include/c++/14.2.0/bits/stl_vector.h:1130: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = short int; _Alloc = std::allocator<short int>; reference = short int&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.

It mentions something about stl_vector.h and a wrong assertion.
Not sure if something is missing in the latest Flatpak to get it to run properly, but I downloaded the latest Windows version, ran it through Wine/Proton and I can play the mod just fine, I went all the way from Episode 1 of Doom 1 up to the end of Episode 3 without any issues whatsoever, so it's something specifically with the Flatpak causing the issue.

@Eonfge
Copy link
Collaborator

Eonfge commented Oct 15, 2024

Can you reproduce this issue with the non-flatpak version of GZDoom?

@ShadowOne333
Copy link
Author

ShadowOne333 commented Oct 15, 2024

I could try when I arrive home.
Do you have a link to the non-flatpak?
If it's an AppImage or something similar it would help, since I'm running on Steam Deck.

EDIT:
The .deb from the Ubuntu 64bit download has a data.tar.xz file inside, which contains a folder with /opt/gzdoom, the executable is there. Should I extract that exact /opt/gzdoom folder and use that for testing?

@ShadowOne333
Copy link
Author

I just tested out the executable "gzdoom" from the Ubuntu 64bit package in the official GZDoom site. The executable is the one found within data.tar.xz (/opt/gzdoom/).

I tested with the same files as with the Flatpak version, and with the executable the Unseen Evil mod does run without issues.

@Eonfge
Copy link
Collaborator

Eonfge commented Oct 16, 2024

Then it's likely related to this:
ZDoom/gzdoom#2656

Long story short, GZDoom plays fast-and-loose with some compiler-checks while the Flatpak app demands certain checks for security and reliability.

@Eonfge Eonfge pinned this issue Oct 16, 2024
@ShadowOne333
Copy link
Author

I see, so it's some added checks that could be causing the issue.
What would you recommend me to do in this case?

Should I wait for a plausible fix or should I continue with the EXE through Wine as I am at the moment?

@Eonfge
Copy link
Collaborator

Eonfge commented Oct 16, 2024

Report it upstream, and they can fix it.

If they fix it, I can apply the patch so you can continue fighting demons.

@Eonfge
Copy link
Collaborator

Eonfge commented Oct 21, 2024

Sadly, not fixed with 4.13.1

@UndeadKernel
Copy link

The bug also seems present in 4.13.2.

Where did you report the issue @Eonfge? I'd like to follow it up upstream.

@Eonfge
Copy link
Collaborator

Eonfge commented Nov 22, 2024

I didn't report it. I asked @ShadowOne333 to do it since he has the most concrete logging, experiencing the problem first hand.

@UndeadKernel
Copy link

@ShadowOne333, I suppose you didn't experience the issue when working with wine and the .exe version, correct?

@ShadowOne333
Copy link
Author

Sorry I have been somewhat absent online as of late.
@UndeadKernel that's correct, when I ran the same version of GZDoom through Wine and the EXE version I didn't have any issue.
I ran through the entirety of the mod from start to end for both Doom and Doom II with no problem at all. Extracting the Linux executable from the DEB package for Ubuntu does work as well.

I can make the report later today, but I am not certain on how to properly report this on GZDoom's issue tracker other than to mention the fast-and-loose compiler checks that Eonfge mentioned. Should I add something more in detail?

@Eonfge
Copy link
Collaborator

Eonfge commented Nov 23, 2024

If you give them the log from above, as well as a reference to the previous issue, they'll know what's up.

@ShadowOne333
Copy link
Author

Made the issue report on mainstream:
ZDoom/gzdoom#2834

@Eonfge
Copy link
Collaborator

Eonfge commented Dec 20, 2024

I must sadly inform you all that the bug is not fixed with 14.4.0

@nvllsvm
Copy link

nvllsvm commented Jan 11, 2025

This upstream change should fix things ZDoom/ZMusic#66. In the meantime, setting mod_preferred_player=1 in my gzdoom.ini allows for this mod to work with the current version of the flatpak.

Eonfge added a commit to flathub/shared-modules that referenced this issue Jan 12, 2025
Eonfge added a commit to flathub/shared-modules that referenced this issue Jan 12, 2025
Eonfge added a commit that referenced this issue Jan 12, 2025
@Eonfge
Copy link
Collaborator

Eonfge commented Jan 12, 2025

This should be fixed now. Keep in mind that if you see other Assertion related errors, you should report them here.

@Eonfge Eonfge closed this as completed Jan 12, 2025
@Eonfge Eonfge unpinned this issue Jan 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants