Titanium JIRA Archive
Appcelerator Community (AC)

[AC-6396] iOS: JavascriptCore app crash

GitHub Issuen/a
TypeBug
Priorityn/a
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
ComponentsAlloy, Titanium SDK & CLI
Labelsn/a
ReporterJonas Funk Johannessen
AssigneeShak Hossain
Created2019-10-08T10:50:26.000+0000
Updated2021-08-07T16:14:43.000+0000

Description

We have just release our first version with SDK 8 (8.1.0.GA), updating from 7.5.1.GA. We have experienced a significant increase in JavascriptCore crashes with the new version – with no code changed. Going from 0-1 crashes a day to 400 a day. Below is the crash we are seeing. It is not reproducible, so it is difficult for us to provide a test case.
Crashed: Heap Helper Thread
0  JavaScriptCore                 0x1cf7875e0 JSC::SlotVisitor::drain(WTF::MonotonicTime)::$_3::operator()(JSC::MarkStackArray&) const + 328
1  JavaScriptCore                 0x1cf7875bc JSC::SlotVisitor::drain(WTF::MonotonicTime)::$_3::operator()(JSC::MarkStackArray&) const + 292
2  JavaScriptCore                 0x1cf7848f8 JSC::SlotVisitor::drain(WTF::MonotonicTime) + 144
3  JavaScriptCore                 0x1cf785138 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime) + 580
4  JavaScriptCore                 0x1cf767fe4 WTF::SharedTaskFunctor<void (), JSC::Heap::runBeginPhase(JSC::GCConductor)::$_18>::run() + 172
5  JavaScriptCore                 0x1cf10f0e8 WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::DumbPtrTraits<WTF::SharedTask<void ()> > > const&) + 52
6  JavaScriptCore                 0x1cf10fbc0 WTF::ParallelHelperPool::Thread::work() + 28
7  JavaScriptCore                 0x1cf0e4784 WTF::Function<void ()>::CallableWrapper<WTF::AutomaticThread::start(WTF::AbstractLocker const&)::$_0>::call() + 372
8  JavaScriptCore                 0x1cf127b30 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 260
9  JavaScriptCore                 0x1cf12903c WTF::wtfThreadEntryPoint(void*) + 12
10 libsystem_pthread.dylib        0x1c7b612c0 _pthread_body + 128
11 libsystem_pthread.dylib        0x1c7b61220 _pthread_start + 44
12 libsystem_pthread.dylib        0x1c7b64cdc thread_start + 4 

Attachments

FileDateSize
2019-10-08_10-30-40.5371_+0200-fcfbcd6adc465691bd86896bef1e1392ccc071b5.crash2019-10-08T11:51:14.000+0000109919
crashlog.crash2021-08-07T16:14:43.000+0000122328

Comments

  1. Jan Vennemann 2019-10-08

    [~jonasfunk], can you please provide a full crash report of the exception? Thanks!
  2. Jonas Funk Johannessen 2019-10-08

    Attached a crash log
  3. Jonas Funk Johannessen 2019-10-14

    If it's any help, we use a
       setTimeout
       
    to poll an API every 10 secs. I heard that javascriptcore has some issues with setTimeout and setInterval.
  4. Jan Vennemann 2019-10-16

    Thanks for the crash log. It's very hard to tell what's going on since it's all related to the JSC internals. Without a proper reproduction test case we are unfortunately stabbing in the dark here. Can you check for memory leaks using Instruments and try to reproduce the crash in your app. Then send the collected data including the crash report? Maybe that gives some more insight.
  5. Sharif AbuDarda 2019-10-19

    Hello [~jonasfunk], Can you please followup here on Jan's comment? Thanks.
  6. Jonas Funk Johannessen 2019-10-21

    I'm sorry to hear, since the crash count we are seeing are extreme, and as I noted, has come with SDK 8. Can it in any way be related to our use of timers? Unfortunately I'm not able to run Instruments, as the app is closing down, as soon as I start it up. I will try to see if this can be fixed.
  7. Jonas Funk Johannessen 2019-11-07

    I have tried to check for memory leaks in Instruments. When doing that all views seems to be deallocated but all proxies doesn't. Are they not supposed to be deallocated as well? Tried running kitchensinkv2 with allocations - also all proxies persisted here. Testing on device with SDK 8.2.1.
  8. Hans Knöchel 2021-08-07

    Reproducible in 10.0.2 (with the latest fix from TIMOB-27875). Attaching the crash log here.

JSON Source