Skip to content
This repository has been archived by the owner on Oct 12, 2024. It is now read-only.

[Mac OS][arm64][Godot Master Branch] Overriding _unhandled_input immediately crashes game. #53

Open
davidbruce opened this issue Feb 26, 2023 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@davidbruce
Copy link

I was able to get HxGodot to build on my M1 MacBook by modifying the SConstruct to include arm64 as an architecture and pass -D HXCPP_ARM64, but it crashes immediately when overriding _unhandedled_input.

    override function _unhandled_input(event:InputEvent) {
        if (event.is_action_pressed("ui_accept", false, false) && retry.is_visible()) {
            get_tree().reload_current_scene();
        }
    }

Simply commenting out _unhandedled_input from HxMain.hx allows the 3d creeps to run as expected until the retry screen.
An empty override also causes an immediate crash:

    override function _unhandled_input(event:InputEvent) { }

Godot Version: Main branch as of commit 30884ee3cca837f81efd85d68bcc5252976274cf
(I also attempted 4 RC 5)
Renderers tried: Forward+ and Compatibility
HxGodot Version: Main branch as of commit 2bf1bc0
Haxe Version: 4.2.5
Architecture: ARM64

Crash Log:

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.rc.custom_build (c0f1ed57c44253c88a7d27e9727a305fb2155e51)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] 1   libsystem_platform.dylib            0x000000019a72f2a4 _sigtramp + 56
[2] std::__1::mutex::lock()
[3] std::__1::mutex::lock()
[4] Object::get_instance_binding(void*, GDExtensionInstanceBindingCallbacks const*) (in godot.macos.editor.arm64) + 44
[5] stc::HxMain_obj::virtual_HxMain__unhandled_input(cpp::Pointer<void>, cpp::Pointer<void>)
[6] virtual_HxMain__unhandled_input__onVirtualCall(void*, void* const*, void*)
[7] Node::_call_unhandled_input(Ref<InputEvent> const&) (in godot.macos.editor.arm64) + 252
[8] SceneTree::_call_input_pause(StringName const&, SceneTree::CallInputType, Ref<InputEvent> const&, Viewport*) (in godot.macos.editor.arm64) + 564
[9] Viewport::push_unhandled_input(Ref<InputEvent> const&, bool) (in godot.macos.editor.arm64) + 560
[10] Window::_window_input(Ref<InputEvent> const&) (in godot.macos.editor.arm64) + 608
[11] Window::~Window()
[12] DisplayServerMacOS::_dispatch_input_event(Ref<InputEvent> const&) (in godot.macos.editor.arm64) + 448
[13] Input::_parse_input_event_impl(Ref<InputEvent> const&, bool) (in godot.macos.editor.arm64) + 3904
[14] Input::flush_buffered_events() (in godot.macos.editor.arm64) + 76
[15] Input::release_pressed_events() (in godot.macos.editor.arm64) + 28
[16] DisplayServerMacOS::release_pressed_events() (in godot.macos.editor.arm64) + 40
[17] RendererCompositorRD::_create_current()
[18] 18  CoreFoundation                      0x000000019a7d5570 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148
[19] 19  CoreFoundation                      0x000000019a873054 ___CFXRegistrationPost_block_invoke + 88
[20] 20  CoreFoundation                      0x000000019a872f9c _CFXRegistrationPost + 440
[21] 21  CoreFoundation                      0x000000019a7a6b74 _CFXNotificationPost + 708
[22] 22  Foundation                          0x000000019b69472c -[NSNotificationCenter postNotificationName:object:userInfo:] + 88
[23] 23  AppKit                              0x000000019dbbd7cc -[NSWindow resignKeyWindow] + 644
[24] 24  AppKit                              0x000000019dbbd4b0 _NXEndKeyAndMain + 128
[25] 25  AppKit                              0x000000019dbbc5f0 -[NSApplication _handleDeactivateEvent:] + 720
[26] 26  AppKit                              0x000000019db8bfb8 -[NSApplication(NSEvent) sendEvent:] + 1244
[27] Ref<DirAccess> DirAccess::_create_builtin<DirAccessMacOS>()
[28] DisplayServerMacOS::process_events() (in godot.macos.editor.arm64) + 176
[29] OS_MacOS::run() (in godot.macos.editor.arm64) + 104
[30] main (in godot.macos.editor.arm64) + 404
[31] 31  dyld                                0x000000019a3d7e50 start + 2544
-- END OF BACKTRACE --
@dazKind
Copy link
Collaborator

dazKind commented Feb 27, 2023

Thanks for this awesome bug-report! I think there is a problem with the argument pointers, I will have a look.

@dazKind dazKind added the bug Something isn't working label Feb 27, 2023
@dazKind dazKind self-assigned this Feb 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants