Posts

Post not yet marked as solved
1 Replies
388 Views
Hi,all. My application used the JavaScriptCore framework. What I'm confused about is: Instance of JSContext was created in the work queue, and there was no code that access JSCore in the main thread,but JSC::JSRunLoopTimer::Manager::timerDidFire executed in the main thread. Sometimes,I got a dead-lock.The call stack of the main thread:#0 0x0000000194a4dc94 in __psynch_cvwait ()#1 0x000000019496acf8 in _pthread_cond_wait$VARIANT$mp ()#2 0x00000001a399595c in ***::ThreadCondition::timedWait(***::Mutex&, ***::WallTime) ()#3 0x00000001a397b848 in ***::ParkingLot::parkConditionallyImpl(void const*, ***::ScopedLambda<bool ()> const&, ***::ScopedLambda<void ()> const&, ***::TimeWithDynamicClockType const&) ()#4 0x00000001a396e6e4 in ***::LockAlgorithm<unsigned char, (unsigned char)1, (unsigned char)2, ***::EmptyLockHooks<unsigned char> >::lockSlow(***::Atomic<unsigned char>&) ()#5 0x00000001a4379f68 in JSC::JSLock::lock(long) ()#6 0x00000001a43a4b44 in JSC::JSRunLoopTimer::timerDidFire() ()#7 0x00000001a43a47c8 in JSC::JSRunLoopTimer::Manager::timerDidFire() ()#8 0x0000000194bd503c in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()#9 0x0000000194bd4d78 in __CFRunLoopDoTimer ()#10 0x0000000194bd4448 in __CFRunLoopDoTimers ()#11 0x0000000194bcf584 in __CFRunLoopRun ()#12 0x0000000194bceadc in CFRunLoopRunSpecific ()#13 0x0000000194f0e7f4 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] () device:iPhone 6s iOS:13.3 xcode:11.3 Thanks!
Posted
by yeskert.
Last updated
.