You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fedora 41 podman container, also on Fedora 41 GNOME desktop
Issue description
There seems to be a new bug in Godot 4.4 where my game export process inside a container just hangs indefinitely when it tries to import some .ttf font files (I've left it be for over an hour with no new terminal output). I kept deleting the files as the process got stuck and after about 10 I stopped testing so I think this isn't specific to any font file (unless all NotoSans family fonts have the issue).
If I delete all of the .ttf font files before running --export-release then that makes the problem go away (i.e. the export process doesn't get stuck indefinitely and completes normally other than errors about the missing fonts).
Also what I found works is running godot . --import --headless --quit-after 5 before the export. That was from some earlier issues about the export process being stuck, but I personally didn't have to put those in my project for 4.3 as I didn't experience the getting stuck issue there. But now in 4.4 it seems like I do need the workaround.
Also to narrow things down I confirmed the same problem on my desktop outside the container environment and even running in non-headless mode. What I saw was that if I deleted the imported fonts from my .godot folder and opened the Godot Editor window to my project, that would forever hang like this as well:
So yeah to my eyes this seems to be a general bug with font importing in Godot 4.4 where it for some reason gets stuck when it is depended on to complete.
Steps to reproduce
Here is a Dockerfile which when run with podman build should show the issue of getting stuck:
FROM fedora:41
RUN dnf install -y --setopt=deltarpm=false git git-lfs unzip wget dotnet-sdk-9.0 \
gettext p7zip fontconfig && dnf clean all
RUN git lfs install
# Godot installENV GODOT_VERSION "4.4"RUN wget https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_mono_linux_x86_64.zip \
&& wget https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_mono_export_templates.tpz \
&& mkdir .p ~/.cache \
&& mkdir -p ~/.config/godot \
&& mkdir -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable.mono \
&& unzip Godot_v${GODOT_VERSION}-stable_mono_linux_x86_64.zip \
&& mv Godot_v${GODOT_VERSION}-stable_mono_linux_x86_64 godot_dir \
&& mv godot_dir/* /usr/local/bin/ \
&& ln -s /usr/local/bin/Godot_v${GODOT_VERSION}-stable_mono_linux.x86_64 /usr/local/bin/godot \
&& unzip Godot_v${GODOT_VERSION}-stable_mono_export_templates.tpz \
&& mkdir -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable.mono \
&& mv templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable.mono/ \
&& rm Godot_v${GODOT_VERSION}-stable_mono_export_templates.tpz Godot_v${GODOT_VERSION}-stable_mono_linux_x86_64.zip \
&& rm -rf templates godot_dir
# Godot pck toolENV PCK_TOOL_VERSION "v2.1"RUN wget https://github.com/hhyyrylainen/GodotPckTool/releases/download/${PCK_TOOL_VERSION}/godotpcktool -O /usr/bin/godotpcktool && \
chmod +x /usr/bin/godotpcktool
# Start of the sample project showing the issueRUN git clone https://github.com/Revolutionary-Games/Thrive.git /Thrive
RUN cd /Thrive && git checkout 5bd14292c3000b66cf46d83e881eebc3a53c4a00
RUN cd /Thrive && git submodule update --init
RUN cd /Thrive && dotnet run --project Scripts -- native Fetch Install --debug false
# Uncomment the following line to stop the problem with getting stuck:# RUN rm -rf /Thrive/assets/fonts# Or uncomment the following line, which also seems to fix the problem:# RUN cd /Thrive && godot . --import --headless --quit-after 5# This gets stuck when trying to import the fonts for exporting with GodotRUN cd /Thrive && dotnet run --project Scripts -- package --dehydrated Linux
I included the two workarounds as well which can be uncommented to see how the podman build doesn't get stuck with those workarounds enabled.
For me running that Dockerfile always ends with it being stuck like this:
The Dockerfile I included demonstrates the problem when it is built.
The font files are pretty big so even just including those in a test project might make it too big to upload.
The text was updated successfully, but these errors were encountered:
I've run into a similar issue trying to load a project in Godot 4.4. There appeared to be an endless asset reimport:
Deleting the font .import files made the editor load normally, however.
After Godot remade the .import files, I reverted the changes done to them (using Git), and the editor was still able to load normally - with the same files as when it was stuck reimporting assets.
I had a team member who converted our fonts to .woff format to try and that runs in the same issue. So the problem doesn't seem to be specifically in .ttf parsing but font importing in general.
I have narrowed down the problem to being an issue with the font fallbacks system in Godot during import. If the fallbacks are removed in the project for each font's .import file, then the issue goes away. This PR shows what this temporary fix looks like for a project: Revolutionary-Games/Thrive#6008
We are currently unable to use this temporary fix in our project however, as the fallbacks are necessary for us.
Seems to be caused by #96593, font fallbacks connect changed signal, and all resource loader threads get stuck writing for semaphore post on main thread, while main thread is waiting for resources to load and not processing events.
Tested versions
System information
Fedora 41 podman container, also on Fedora 41 GNOME desktop
Issue description
There seems to be a new bug in Godot 4.4 where my game export process inside a container just hangs indefinitely when it tries to import some .ttf font files (I've left it be for over an hour with no new terminal output). I kept deleting the files as the process got stuck and after about 10 I stopped testing so I think this isn't specific to any font file (unless all NotoSans family fonts have the issue).
If I delete all of the .ttf font files before running
--export-release
then that makes the problem go away (i.e. the export process doesn't get stuck indefinitely and completes normally other than errors about the missing fonts).Also what I found works is running
godot . --import --headless --quit-after 5
before the export. That was from some earlier issues about the export process being stuck, but I personally didn't have to put those in my project for 4.3 as I didn't experience the getting stuck issue there. But now in 4.4 it seems like I do need the workaround.Also to narrow things down I confirmed the same problem on my desktop outside the container environment and even running in non-headless mode. What I saw was that if I deleted the imported fonts from my .godot folder and opened the Godot Editor window to my project, that would forever hang like this as well:
So yeah to my eyes this seems to be a general bug with font importing in Godot 4.4 where it for some reason gets stuck when it is depended on to complete.
Steps to reproduce
Here is a
Dockerfile
which when run withpodman build
should show the issue of getting stuck:I included the two workarounds as well which can be uncommented to see how the podman build doesn't get stuck with those workarounds enabled.
For me running that Dockerfile always ends with it being stuck like this:
Minimal reproduction project (MRP)
The Dockerfile I included demonstrates the problem when it is built.
The font files are pretty big so even just including those in a test project might make it too big to upload.
The text was updated successfully, but these errors were encountered: