Post

Replies

Boosts

Views

Activity

Reply to pas_panic_on_out_of_memory_error crash on tvOS 15.4 and 15.4.1
@DTS Engineer I think that I got general understanding of the issue that occurs. In our application we still depend on TVML Kit (which is marked as deprecated already). On many screens we use the stackTemplate with collectionList that contains big numer of shelfs (10-20) with lockups that allow to horizontally scroll the rows. Based on investigation of what is going on with memory I see that TVML engine does its best to speedup the process of rendering the lockup elements to provide the best experience while doing the quick scroll through the all shelfs. To handle it, the TVML uses some kind of rasterisation mechanism for TVML elements and display them as a single image in TVStackedImageView. It leads to issues in case of using the first generation of apple TV as rastered elements are kept in memory as long as the template keeps alive. There is a big difference in memory consumptions in case of using 4k display and 1080p. It seems to be related to fact that created images for 4K displays are bigger and in result consumes more memory. I assume that we indeed get the crash from JS context panic_out_of_memory but it is happening because we hit the memory limit. So its not caused by big memory consumptions of JS engine but because of fact that the biggest part of memory is already consumed by ImageIO region. So JS context may crash after doing any update of TVML DOM or after parsing some response from our API So in next step I should focus how to reduce usage of that region which should help to solve that crash. But that may be hard assuming that's something fully managed by TVML Kit.
Topic: Safari & Web SubTopic: General Tags:
Jul ’25
Reply to pas_panic_on_out_of_memory_error crash on tvOS 15.4 and 15.4.1
@DTS Engineer I started checking the crash again and from what I see all issues are related to specific device - AppleTV6,2. This device seems to be the first apple tv device that supports 4K. No crashes for newer devices so I wonder what could be the difference comparing to the newer generation of apple tv's. Does this specific device have some more strict limitations about memory usage comparing to second generation? Unfortunately that's the device that I do not have on my own to check it so maybe that's the reason why I cannot reproduce it.
Topic: Safari & Web SubTopic: General Tags:
Jul ’25
Reply to pas_panic_on_out_of_memory_error crash on tvOS 15.4 and 15.4.1
@DTS Engineer Unfortunately, that crash is our top crash on production and I can’t lock up the ips log files in Xcode Organizer. Our application still relies on TVMLKit so one context is used by me directly. About the second one, I suspect that a third-party framework, such as SmartLib_tvOS, is also using that for its own purposes. thread 16: 11 JavaScriptCore 0x00000001ad6880b8 llint_call_javascript + 8 12 JavaScriptCore 0x00000001acc6692c JSC::Interpreter::executeCall(JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 904 (Interpreter.cpp:1299) 13 JavaScriptCore 0x00000001ac504224 JSObjectCallAsFunction + 752 (JSObjectRef.cpp:740) 14 JavaScriptCore 0x00000001ac4770d0 -[JSValue callWithArguments:] + 364 (JSValue.mm:643) 15 SmartLib_tvOS 0x00000001056c1848 0x1056b8000 + 38984 16 Foundation 0x0000000197a5e320 __NSThread__start__ + 716 (NSThread.m:991)```
Topic: Safari & Web SubTopic: General Tags:
Jul ’25
Reply to pas_panic_on_out_of_memory_error crash on tvOS 15.4 and 15.4.1
I encounter similar issues with our application. In most of cases it crashes with error like this. @DTS Engineer Do you have any hints according that problem? Crashed: ITMLKit 0 JavaScriptCore 0x169bf08 pas_panic_on_out_of_memory_error + 46 1 JavaScriptCore 0x164c9f4 bmalloc_iso_allocate_impl_impl_slow + 18 2 JavaScriptCore 0x165a808 bmalloc_heap_config_specialized_local_allocator_try_allocate_small_segregated_slow + 5424 3 JavaScriptCore 0x164bc20 bmalloc_allocate_impl_casual_case + 728 4 JavaScriptCore 0xdffe10 JSC::LLInt::setupGetByIdPrototypeCache(JSC::JSGlobalObject*, JSC::VM&, JSC::CodeBlock*, JSC::BytecodeIndex, JSC::GetByIdModeMetadata&, JSC::JSCell*, JSC::PropertySlot&, JSC::Identifier const&) + 296 5 JavaScriptCore 0xdd7790 JSC::LLInt::performLLIntGetByID(JSC::BytecodeIndex, JSC::CodeBlock*, JSC::JSGlobalObject*, JSC::JSValue, JSC::Identifier const&, JSC::GetByIdModeMetadata&) + 2748 6 JavaScriptCore 0xdd6b8c llint_slow_path_get_by_id + 480 7 JavaScriptCore 0x16a7c44 pas_reallocation_did_fail + 7218576452 8 JavaScriptCore 0x169c0b8 pas_reallocation_did_fail + 7218528440 9 JavaScriptCore 0xc7a92c JSC::Interpreter::executeCall(JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 904 10 JavaScriptCore 0x11ad884 JSC::ProxyObject::getOwnPropertySlotCommon(JSC::JSGlobalObject*, JSC::PropertyName, JSC::PropertySlot&) + 4944 11 JavaScriptCore 0xdd72a0 JSC::LLInt::performLLIntGetByID(JSC::BytecodeIndex, JSC::CodeBlock*, JSC::JSGlobalObject*, JSC::JSValue, JSC::Identifier const&, JSC::GetByIdModeMetadata&) + 1484 12 JavaScriptCore 0xdd6b8c llint_slow_path_get_by_id + 480 13 JavaScriptCore 0x16a7c44 pas_reallocation_did_fail + 7218576452 14 JavaScriptCore 0x16c470c pas_reallocation_did_fail + 7218693900 15 JavaScriptCore 0x16c470c pas_reallocation_did_fail + 7218693900 16 JavaScriptCore 0x16c31d4 pas_reallocation_did_fail + 7218688468 17 JavaScriptCore 0x169c0b8 pas_reallocation_did_fail + 7218528440 18 JavaScriptCore 0xc7a92c JSC::Interpreter::executeCall(JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 904 19 JavaScriptCore 0xfe8bc4 JSC::runJSMicrotask(JSC::JSGlobalObject*, WTF::ObjectIdentifierGeneric<JSC::MicrotaskIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits<unsigned long long>, unsigned long long>, JSC::JSValue, std::__1::span<JSC::JSValue const, 18446744073709551615ul>) + 532 20 JavaScriptCore 0x126bde0 JSC::VM::drainMicrotasks() + 468 21 JavaScriptCore 0xfe6e9c JSC::JSLock::willReleaseLock() + 136 22 JavaScriptCore 0xfe677c JSC::JSLockHolder::~JSLockHolder() + 136 23 JavaScriptCore 0x48b6ec -[JSValue invokeMethod:withArguments:] + 676 24 ITMLKit 0x58c48 -[IKJSObject invokeMethod:withArguments:] + 152 25 ITMLKit 0x9f304 __43-[IKJSXMLHTTPRequest setRequestReadyState:]_block_invoke + 184 26 ITMLKit 0x44174 -[IKAppContext _doEvaluate:] + 104 27 ITMLKit 0x43f40 -[IKAppContext _evaluate:] + 80 28 ITMLKit 0x40c30 __41-[IKAppContext evaluate:completionBlock:]_block_invoke + 40 29 ITMLKit 0x43d10 -[IKAppContext _sourcePerform] + 204 30 ITMLKit 0x1a290 -[IKConcurrentEvaluator lockSchedulingForEvaluation:] + 96 31 ITMLKit 0x43bfc IKRunLoopSourcePerformCallBack + 108 32 CoreFoundation 0x8399c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 33 CoreFoundation 0x838e4 __CFRunLoopDoSource0 + 168 34 CoreFoundation 0x83064 __CFRunLoopDoSources0 + 220 35 CoreFoundation 0x7d9fc __CFRunLoopRun + 784 36 CoreFoundation 0x7d280 CFRunLoopRunSpecific + 536 37 ITMLKit 0x43a44 -[IKAppContext _jsThreadMain] + 276 38 Foundation 0x716320 __NSThread__start__ + 716 39 libsystem_pthread.dylib 0xf24 _pthread_start + 104 40 libsystem_pthread.dylib 0x9aa8 thread_start + 8
Topic: Safari & Web SubTopic: General Tags:
Jun ’25
Reply to xcode14:Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib
We're facing quite similar issue. Short brief of our situations: we pushed app to appstore connect at 08.11.2022 app was built using Xcode 13.4.1 (Build version 13F100) bitcode enabled Based on latest feedback I understand that apps that are built using the XCode 13.x but published after the XCode 14.1 release should work fine. Anyway we're facing the crashes that occur on devices with iOS 11.x (11.1, 11.2.5) Crashlog: Incident Identifier: A0A546D9-A226-40FA-A274-D3F233CEDE5F Hardware Model: iPhone7,1 Process: myapp [1156] Path: /private/var/containers/Bundle/Application/90DA7BAA-579C-471B-B0FF-39336888B2A8/myapp.app/myapp Identifier: com.myapp.app Version: 1667918418 (9.6.1) Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd [1] Coalition: com.myapp.app [480] Date/Time: 2022-11-13 12:43:12.9491 +0700 Launch Time: 2022-11-13 12:43:12.4916 +0700 OS Version: iPhone OS 11.2.5 (15D60) Baseband Version: 6.30.04 Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Description: DYLD, Library not loaded: /usr/lib/swift/libswiftCoreData.dylib | Referenced from: /var/containers/Bundle/Application/90DA7BAA-579C-471B-B0FF-39336888B2A8/myapp.app/myapp | Reason: image not found Triggered by Thread: 0 Thread 0 Crashed: 0 dyld 0x00000001014d2f48 __abort_with_payload + 8 1 dyld 0x00000001014d271c abort_with_payload_wrapper_internal + 100 (terminate_with_reason.c:71) 2 dyld 0x00000001014d2748 abort_with_payload + 12 (terminate_with_reason.c:93) 3 dyld 0x00000001014a8498 dyld::halt(char const*) + 312 (dyld.cpp:3824) 4 dyld 0x00000001014ab714 dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, un... + 7376 (dyld.cpp:6202) 5 dyld 0x00000001014a521c _dyld_start + 68 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000000000006 x1: 0x0000000000000001 x2: 0x000000016f79a520 x3: 0x0000000000000092 x4: 0x000000016f79a120 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000a60 x8: 0x0000000000000020 x9: 0x0000000000000009 x10: 0x6c504b2f38413242 x11: 0x4b2f7070612e7375 x12: 0x20200a73756c504b x13: 0x203a6e6f73616552 x14: 0x6f6e206567616d69 x15: 0x00646e756f662074 x16: 0x0000000000000209 x17: 0x000000008000001f x18: 0xfffffff00f49925c x19: 0x0000000000000000 x20: 0x000000016f79a120 x21: 0x0000000000000092 x22: 0x000000016f79a520 x23: 0x0000000000000001 x24: 0x0000000000000006 x25: 0x0000000100664000 x26: 0x00000001014e6000 x27: 0x00000001014e5f88 x28: 0x000000016f79bb20 fp: 0x000000016f79a0f0 lr: 0x00000001014d271c sp: 0x000000016f79a0b0 pc: 0x00000001014d2f48 cpsr: 0x00000000 Binary Images: 0x100664000 - 0x100f1bfff myapp arm64 <570e.......
Nov ’22