Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants