-
Notifications
You must be signed in to change notification settings - Fork 197
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
hx::MarkObjectAlloc Android crash. #1138
Comments
-D HXCPP_GC_GENERATIONAL
-D HXCPP_CHECK_POINTER
-D HXCPP_STACK_LINE
-D HXCPP_DEBUG_LINK
-D HXCPP_STACK_TRACE Current define. |
#1085 Will this be helpful? |
I don't think the pinning code is relevant here. |
Hi, I use the OpenFL library, and if I stop using 'HXCPP_GC_GENERATIONAL', there may be a brief pause in GC requests after a few seconds, which can make users uncomfortable. I would prefer to keep 'HXCPP_GC_GENERATIONAL', but you mentioned that 'HXCPP_GC_GENERATIONAL' is a definition that may cause GC problems, and I will try to remove it and test it again. I may not be able to debug it because I rarely encounter this issue and reproducing it is very difficult. |
Yes, without a good way of reproducing, it is hard to know. |
:MarkObjectAllocUnchecked(hx::Object*, hx::MarkContext*) at /Users/rainy/Documents/haxelib/hxcpp/4,3,2/src/hx/gc/Immix.cpp:2200
Stack frame #232 pc 000000000307a130 /data/data/com.sxk.dark/cache/arm64-v8a-8-6-09-13/lib/arm64-v8a/libApplicationMain.so: Routine hx::MarkObjectAllocUnchecked(hx::Object*, hx::MarkContext*) at /Users/rainy/Documents/haxelib/hxcpp/4,3,2/src/hx/gc/Immix.cpp:2200
Stack frame #233 pc 000000000307a130 /data/data/com.sxk.dark/cache/arm64-v8a-8-6-09-13/lib/arm64-v8a/libApplicationMain.so: Routine hx::MarkObjectAllocUnchecked(hx::Object*, hx::MarkContext*) at /Users/rainy/Documents/haxelib/hxcpp/4,3,2/src/hx/gc/Immix.cpp:2200
Stack frame #234 pc 000000000307a130 /data/data/com.sxk.dark/cache/arm64-v8a-8-6-09-13/lib/arm64-v8a/libApplicationMain.so: Routine hx::MarkObjectAllocUnchecked(hx::Object*, hx::MarkContext*) at /Users/rainy/Documents/haxelib/hxcpp/4,3,2/src/hx/gc/Immix.cpp:2200
Stack frame #235 pc 000000000307a130 /data/data/com.sxk.dark/cache/arm64-v8a-8-6-09-13/lib/arm64-v8a/libApplicationMain.so: Routine hx::MarkObjectAllocUnchecked(hx::Object*, hx::MarkContext*) at /Users/rainy/Documents/haxelib/hxcpp/4,3,2/src/hx/gc/Immix.cpp:2200
Stack frame #236 pc 000000000307a130 /data/data/com.sxk.dark/cache/arm64-v8a-8-6-09-13/lib/arm64-v8a/libApplicationMain.so: Routine hx::MarkObjectAllocUnchecked(hx::Object*, hx::MarkContext*) at /Users/rainy/Documents/haxelib/hxcpp/4,3,2/src/hx/gc/Immix.cpp:2200
Stack frame #237 pc 000000000307a130 /data/data/com.sxk.dark/cache/arm64-v8a-8-6-09-13/lib/arm64-v8a/libApplicationMain.so: Routine hx::MarkObjectAllocUnchecked(hx::Object*, hx::MarkContext*) at /Users/rainy/Documents/haxelib/hxcpp/4,3,2/src/hx/gc/Immix.cpp:2200 When I added the loop error that occurred after HXCPP_GC_DEBUG_LEVEL 1, I didn't see any other useful information. |
Yes, that is a bit of a shame. It looks like it is marking a large linked-list, and the important information (which linked list) is missing because of the stack size. It may have crashed because of a stack-overflow too, due to debug marking, which is a weakness of this method. As a side note, it is much better for hxcpp speed to use an Array, rather than a List, for almost every situation, particularly for collection speed. |
I'm not sure, is there any other way I can debug it? like ignore the List? |
After I removed the definition of HXCPP_GC_GENERATIONAL, most crashes have disappeared.
If you have any message, please let me know, thank you. @hughsando |
|
Hi everyone, recently after fixing the interface type crash (HaxeFoundation/haxe#11743), the backend only has a crash related to MarkObject Alloc, which makes me think it may be related to GC. Can you help me see what could be causing this?
This error message is quite random, except for the almost identical call stack above, but the rest below is mostly random.
The text was updated successfully, but these errors were encountered: