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

Compiler Hangs on Typing Phase After Update to Version 4.3.6 #11796

Open
FrancisBourre opened this issue Oct 22, 2024 · 1 comment
Open

Compiler Hangs on Typing Phase After Update to Version 4.3.6 #11796

FrancisBourre opened this issue Oct 22, 2024 · 1 comment

Comments

@FrancisBourre
Copy link

Description:

We encountered an issue while updating our project to Haxe 4.3.6. The compiler freezes at the end of the typing phase for the main game, specifically at Typing TypeDescriptionAwareInit.init, and never starts generating the JavaScript file. The same issue occurs with Haxe 4.3.5, but it compiles fine on version 4.3.4.

Steps to Reproduce:

1.	Attempt to compile our project with Haxe 4.3.6 (or 4.3.5).
2.	Observe that the preloader compiles correctly.
3.	The compiler stalls silently during the typing phase for the main game.

Logs:

•	The issue occurs after Typing TypeDescriptionAwareInit.__init__, with no further progress towards generating the JS output (Generating js: ../backend/assets/haxe/js/elvenar-debug.js).
•	Using -D filter-times -D filter-debug, we traced that it stalls after: Running filter: filters.handle_abstract_casts.de.innogames.onyx.city.configs.FeaturesConfiguration.configure.

Logs for both working and failing builds are attached:

•	[4.3.4.log]
•	[4.3.6.log]
•	[Filter Debug Log]

Additional Information:

•	Last known working nightly build: 2024-05-27 15:39:32 (commit: 2d9ed26)
•	First failing nightly build: 2024-06-04 10:30:11 (commit: 245a480)
•	The latest available nightly build fails as well: 39aceb1
•	Tested on multiple machines, including a Windows environment.
•	The issue may be related to a macro call from IInjectable for type description (typedef IInjectable = org.swiftsuspenders.reflection.ITypeDescriptionAware; with --macro org.swiftsuspenders.reflection.TypeDescriptionMacro.use()), though we’re unsure exactly where the issue occurs during the log output.

For reference, here’s the FeaturesConfiguration class involved:

package de.innogames.onyx.city.configs;

class FeaturesConfiguration implements IConfig implements IInjectable {
    @:inject
    public var context: IContext;

    public function configure() {
        context.configure(ResourceConfiguration)
            .configure(RewardsConfiguration)
            .configure(QuestConfiguration)
            // Full configure chain here...
            .configure(TranscendenceConfiguration);
    }
}

Any insights or recommendations on what might cause this issue would be greatly appreciated. Please let me know if further details are required.

@Simn
Copy link
Member

Simn commented Oct 22, 2024

Our initial investigation made us blame 245a480 because it's the first failing commit on dev and is also on the 4.3 branch as bf8028f, which is some strong circumstantial evidence. However, the nature of that commit and the cause of the actual hang seem entirely unrelated, so this remains a bit of a mystery for now.

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

2 participants