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

Camera and Event Dispatcher Error on Android Devices #2266

Open
armanhossiny opened this issue Dec 11, 2024 · 1 comment
Open

Camera and Event Dispatcher Error on Android Devices #2266

armanhossiny opened this issue Dec 11, 2024 · 1 comment

Comments

@armanhossiny
Copy link
Contributor

armanhossiny commented Dec 11, 2024

Crash Report:

hi,

I have encountered a crash issue in my application related to Axmol. The crash logs suggest that the issue might be stemming from ax::Camera::initDefault() and ax::EventDispatcher::dispatchEvent(). The SIGSEGV/SEGV_MAPERR error indicates that the application is accessing invalid memory addresses.

Crash Details:

OS: Android 14
Device: Redmi Fire 4.19.191
CPU: arm64
AXMol Version: a4a7564
Description of the Issue:

The ax::Camera::initDefault() crash might be related to incorrect camera resource management.
The ax::EventDispatcher::dispatchEvent() crash appears to be related to incorrect EventListener management or incorrect event dispatching.

Crash details:

Crashed: Thread
SIGSEGV /SEGV_MAPERR
OS: Android: 4.19.191 Redmi/fire_global/fire:14/UP1A.231005.007/V816.0.7.0.UMXMIXM:user/release-keys -perf-g23d0d870bbdb #1 SMP PREEMPT Tue Aug 13 02:21:02 UTC 2024 aarch64
CPU: arm64
GPU: -
0  libDomino.so ax::Camera::initDefault() (Camera.cpp:191)
1  libDomino.so ax::Camera::initDefault() (Camera.cpp:191)
2  libDomino.so ax::Camera::initDefault() (Camera.cpp:190)
3  libDomino.so std::__ndk1::__function::__func<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0, std::__ndk1::allocator<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0>, void (ax::Event*)>::operator()(ax::Event*&&) (functional:1731)
4  libDomino.so std::__ndk1::__function::__func<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0, std::__ndk1::allocator<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0>, void (ax::Event*)>::operator()(ax::Event*&&) (functional:1731)
5  libDomino.so std::__ndk1::__function::__func<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0, std::__ndk1::allocator<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0>, void (ax::Event*)>::operator()(ax::Event*&&) (functional:1731)
6  libDomino.so std::__ndk1::__function::__func<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0, std::__ndk1::allocator<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0>, void (ax::Event*)>::operator()(ax::Event*&&) (functional:1731)
7  libDomino.so std::__ndk1::__function::__func<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0, std::__ndk1::allocator<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0>, void (ax::Event*)>::operator()(ax::Event*&&) (functional:1731)
8  libDomino.so std::__ndk1::__function::__func<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0, std::__ndk1::allocator<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0>, void (ax::Event*)>::operator()(ax::Event*&&) (functional:1731)
9  libDomino.so std::__ndk1::__function::__func<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0, std::__ndk1::allocator<ax::EventListenerCustom::init(std::__ndk1::basic_string_view<char, std::__ndk1::char_traits<char> >, std::__ndk1::function<void (ax::EventCustom*)> const&)::$_0>, void (ax::Event*)>::operator()(ax::Event*&&) (functional:1731)
10 libDomino.so std::__ndk1::__function::__func<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2, std::__ndk1::allocator<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2>, bool (ax::EventListener*)>::operator()(ax::EventListener*&&) (functional:1731)
11 libDomino.so std::__ndk1::__function::__func<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2, std::__ndk1::allocator<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2>, bool (ax::EventListener*)>::operator()(ax::EventListener*&&) (functional:1731)
12 libDomino.so std::__ndk1::__function::__func<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2, std::__ndk1::allocator<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2>, bool (ax::EventListener*)>::operator()(ax::EventListener*&&) (functional:1731)
13 libDomino.so std::__ndk1::__function::__func<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2, std::__ndk1::allocator<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2>, bool (ax::EventListener*)>::operator()(ax::EventListener*&&) (functional:1731)
14 libDomino.so std::__ndk1::__function::__func<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2, std::__ndk1::allocator<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2>, bool (ax::EventListener*)>::operator()(ax::EventListener*&&) (functional:1731)
15 libDomino.so std::__ndk1::__function::__func<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2, std::__ndk1::allocator<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2>, bool (ax::EventListener*)>::operator()(ax::EventListener*&&) (functional:1731)
16 libDomino.so std::__ndk1::__function::__func<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2, std::__ndk1::allocator<ax::EventDispatcher::dispatchEvent(ax::Event*, bool)::$_2>, bool (ax::EventListener*)>::operator()(ax::EventListener*&&) (functional:1731)
17 libDomino.so ax::EventDispatcher::dispatchEventToListeners(ax::EventDispatcher::EventListenerVector*, std::__ndk1::function<bool (ax::EventListener*)> const&) (EventDispatcher.cpp:854)
18 libDomino.so ax::EventDispatcher::dispatchEventToListeners(ax::EventDispatcher::EventListenerVector*, std::__ndk1::function<bool (ax::EventListener*)> const&) (EventDispatcher.cpp:854)
19 libDomino.so ax::EventDispatcher::dispatchEventToListeners(ax::EventDispatcher::EventListenerVector*, std::__ndk1::function<bool (ax::EventListener*)> const&) (EventDispatcher.cpp:854)
20 libDomino.so ax::EventDispatcher::dispatchEvent(ax::Event*, bool) (EventDispatcher.cpp:999)
21 libDomino.so ax::Director::setProjection(ax::Director::Projection) (Director.cpp:671)
22 libDomino.so Java_org_axmol_lib_AxmolRenderer_nativeInit (javaactivity-android.cpp:103)
23 boot.oat     (Missing)
@rh101
Copy link
Contributor

rh101 commented Dec 11, 2024

If possible, please supply a test project that has the minimal amount of code to reproduce the issue.

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