Skip to content

Crash with packed file access in GDExtension with Godot 4.5-dev1+ #109830

Description

@raggy

Tested versions

  • Reproducible in Godot 4.5-dev1 and above
  • Not reproducible in Godot 4.4.1

System information

Windows 11, macOS Sequoia 15.5 - Godot 4.5-dev1+

Issue description

We've been experiencing crashes with the FMOD addon while playing looping audio, but they only occur in Godot 4.5, so it seems potentially like an issue on the Godot-side. It seems to be occuring in the code that lets FMOD access files from the pack.

I have a Mac crash log with some information about the crash:

Thread 30 Crashed:
0   Spooky Express                	       0x105ec99d0 RefCounted::unreference() + 28
1   Spooky Express                	       0x105aca62c FileAccessPack::FileAccessPack(String const&, PackedData::PackedFile const&) + 532
2   Spooky Express                	       0x105ac9cb8 PackedSourcePCK::get_file(String const&, PackedData::PackedFile*) + 60
3   Spooky Express                	       0x105aafae8 FileAccess::open(String const&, int, Error*) + 512
4   Spooky Express                	       0x105aafc74 FileAccess::_open(String const&, FileAccess::ModeFlags) + 36
5   Spooky Express                	       0x105abc448 0x102aa8000 + 50414664
6   libGodotFmod.macos.template_release	       0x10dc3114c 0x10db8c000 + 676172
7   libGodotFmod.macos.template_release	       0x10dbd6320 0x10db8c000 + 303904
8   libfmod.dylib                 	       0x10fa454b8 0x10f9f8000 + 316600
9   libfmod.dylib                 	       0x10fa4602c 0x10f9f8000 + 319532
10  libfmod.dylib                 	       0x10fa76464 0x10f9f8000 + 517220
11  libfmod.dylib                 	       0x10f9ff27c 0x10f9f8000 + 29308
12  libfmod.dylib                 	       0x10fa67db8 0x10f9f8000 + 458168
13  libfmod.dylib                 	       0x10f9fd1e4 0x10f9f8000 + 20964
14  libsystem_pthread.dylib       	       0x19b12bc0c _pthread_start + 136
15  libsystem_pthread.dylib       	       0x19b126b80 thread_start + 8

I've also created an issue on the FMOD Godot addon repo: utopia-rise/fmod-gdextension#351

Steps to reproduce

I have managed to create a MRP that recreates the crash. Open the project in the editor, play the game and let it run for 4-5 minutes and it will crash.

Minimal reproduction project (MRP)

https://github.com/raggy/godot-4.5-fmod-looping-crash-test

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    Needs further info

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions