You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I hit an dead lock on [NSLock lock] yesterday, but it is hard to reproduce. From Xcode console, it indicates that the NSLock has been invoked again on the same thread.
I listed the related code snippet from my source below and the stack trace at the bottom. Is it simply a mistakenly usage of ReactiveCocoa, or is it something wrong with the synchronization internally? Let me know if you guys need more information.
#0 0x084f943a in __psynch_mutexwait ()
#1 0x084c2c21 in _pthread_mutex_lock_wait ()
#2 0x084bd0ef in pthread_mutex_lock ()
#3 0x03518374 in -[NSLock lock] ()
#4 0x0606c47e in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:60
#5 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#6 0x060b2821 in SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/SignalProducer.swift:252
#7 0x060a0b83 in partial apply for SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) ()
#8 0x060d6a8a in specialized Observer.sendNext<A, B where ...>(A) -> () [inlined] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Observer.swift:40
#9 0x060d6a77 in RACSignal.(toSignalProducer(RACSignal) -> (String, line : Int) -> SignalProducer<AnyObject?, NSError>).(closure #1).(closure #1) [inlined] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/ObjectiveCBridging.swift:59
#10 0x060d6a77 in partial apply for RACSignal.(toSignalProducer(RACSignal) -> (String, line : Int) -> SignalProducer<AnyObject?, NSError>).(closure #1).(closure #1) ()
#11 0x060d83be in thunk ()
#12 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#13 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#14 0x06011bbb in __23-[RACSubject sendNext:]_block_invoke at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubject.m:93
#15 0x0601196b in -[RACSubject enumerateSubscribersUsingBlock:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubject.m:85
#16 0x06011b22 in -[RACSubject sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubject.m:92
#17 0x0604ffdb in RACForwardInvocation at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACSelectorSignal.m:55
#18 0x0604fd8d in __RACSwizzleForwardInvocation_block_invoke at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACSelectorSignal.m:79
#19 0x06a4c778 in ___forwarding___ ()
#20 0x06a4c57e in __forwarding_prep_0___ ()
#21 0x0444dc7c in -[UIScrollView(UIScrollViewInternal) _notifyDidScroll] ()
#22 0x166acdfb in -[UIScrollViewAccessibility _notifyDidScroll] ()
#23 0x0443299e in -[UIScrollView setContentOffset:] ()
#24 0x044cf67e in -[UITableView setContentOffset:] ()
#25 0x044556d5 in -[UIScrollView(UIScrollViewInternal) _adjustContentOffsetIfNecessary] ()
#26 0x04432cfb in -[UIScrollView _updateForChangedScrollRelatedInsets] ()
#27 0x04432b23 in -[UIScrollView setContentInset:] ()
#28 0x044cf924 in -[UITableView setContentInset:] ()
#29 0x000917f1 in __51-[VBAutoGeneratedCollageViewController viewDidLoad]_block_invoke_2 at /Users/jifang/visbit/source/pixbrite/experimental/vbit_ios_app/Pixsi/Source/Portfolio/VBAutoGeneratedCollageViewController.m:118
#30 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#31 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#32 0x0601803b in __29-[RACSignal(RACStream) bind:]_block_invoke_2104 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:140
#33 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#34 0x06051921 in __29-[RACReturnSignal subscribe:]_block_invoke at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACReturnSignal.m:85
#35 0x060247d4 in -[RACSubscriptionScheduler schedule:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriptionScheduler.m:40
#36 0x0605183e in -[RACReturnSignal subscribe:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACReturnSignal.m:84
#37 0x0601c6fc in -[RACSignal(Subscription) subscribeNext:error:completed:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:302
#38 0x06017e7c in __29-[RACSignal(RACStream) bind:]_block_invoke94 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:139
#39 0x060185b0 in __29-[RACSignal(RACStream) bind:]_block_invoke131 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:165
#40 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#41 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#42 0x0601803b in __29-[RACSignal(RACStream) bind:]_block_invoke_2104 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:140
#43 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#44 0x06051921 in __29-[RACReturnSignal subscribe:]_block_invoke at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACReturnSignal.m:85
#45 0x060247d4 in -[RACSubscriptionScheduler schedule:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriptionScheduler.m:40
#46 0x0605183e in -[RACReturnSignal subscribe:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACReturnSignal.m:84
#47 0x0601c6fc in -[RACSignal(Subscription) subscribeNext:error:completed:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:302
#48 0x06017e7c in __29-[RACSignal(RACStream) bind:]_block_invoke94 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:139
#49 0x060185b0 in __29-[RACSignal(RACStream) bind:]_block_invoke131 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:165
#50 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#51 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#52 0x05ff49db in __35-[RACSignal(Operations) takeUntil:]_block_invoke584 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal+Operations.m:754
#53 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#54 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#55 0x06048e8c in __84-[NSObject(RACPropertySubscribing) rac_valuesAndChangesForKeyPath:options:observer:]_block_invoke46 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACPropertySubscribing.m:77
#56 0x06041788 in __69-[NSObject(RACKVOWrapper) rac_observeKeyPath:options:observer:block:]_block_invoke81 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACKVOWrapper.m:151
#57 0x060391ce in -[RACKVOTrampoline observeValueForKeyPath:ofObject:change:context:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACKVOTrampoline.m:107
#58 0x06049c04 in -[RACKVOProxy observeValueForKeyPath:ofObject:change:context:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACKVOProxy.m:66
#59 0x03588226 in NSKVONotify ()
#60 0x0351608b in NSKeyValueNotifyObserver ()
#61 0x0351519a in NSKeyValueDidChange ()
#62 0x03603043 in -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:usingBlock:] ()
#63 0x03512812 in -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] ()
#64 0x035bee67 in _NSSetRectValueAndNotify ()
#65 0x000f276a in __31-[VBSegmentedPager viewDidLoad]_block_invoke at /Users/jifang/visbit/source/pixbrite/experimental/vbit_ios_app/Pixsi/Source/Controllers/VBSegmentedPager.m:49
#66 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#67 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#68 0x0601803b in __29-[RACSignal(RACStream) bind:]_block_invoke_2104 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:140
#69 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#70 0x06051921 in __29-[RACReturnSignal subscribe:]_block_invoke at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACReturnSignal.m:85
#71 0x060247d4 in -[RACSubscriptionScheduler schedule:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriptionScheduler.m:40
#72 0x0605183e in -[RACReturnSignal subscribe:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACReturnSignal.m:84
#73 0x0601c6fc in -[RACSignal(Subscription) subscribeNext:error:completed:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:302
#74 0x06017e7c in __29-[RACSignal(RACStream) bind:]_block_invoke94 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:139
#75 0x060185b0 in __29-[RACSignal(RACStream) bind:]_block_invoke131 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal.m:165
#76 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#77 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#78 0x05ff49db in __35-[RACSignal(Operations) takeUntil:]_block_invoke584 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSignal+Operations.m:754
#79 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#80 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#81 0x06048e8c in __84-[NSObject(RACPropertySubscribing) rac_valuesAndChangesForKeyPath:options:observer:]_block_invoke46 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACPropertySubscribing.m:77
#82 0x06041788 in __69-[NSObject(RACKVOWrapper) rac_observeKeyPath:options:observer:block:]_block_invoke81 at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACKVOWrapper.m:151
#83 0x060391ce in -[RACKVOTrampoline observeValueForKeyPath:ofObject:change:context:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACKVOTrampoline.m:107
#84 0x06049c04 in -[RACKVOProxy observeValueForKeyPath:ofObject:change:context:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACKVOProxy.m:66
#85 0x03588226 in NSKVONotify ()
#86 0x0351608b in NSKeyValueNotifyObserver ()
#87 0x0351519a in NSKeyValueDidChange ()
#88 0x03603043 in -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:usingBlock:] ()
#89 0x03512812 in -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] ()
#90 0x03600dea in _NSSetFloatValueAndNotify ()
#91 0x001c0322 in VBSegmentedPager.(observeForChildViewControllerScrollingSignal(VBSegmentedPager) -> (VBBaseViewController) -> ()).(closure #4) at /Users/jifang/visbit/source/pixbrite/experimental/vbit_ios_app/Pixsi/Source/Controllers/VBSegmentedPager+Header.swift:38
#92 0x001be0e4 in partial apply for VBSegmentedPager.(observeForChildViewControllerScrollingSignal(VBSegmentedPager) -> (VBBaseViewController) -> ()).(closure #4) ()
#93 0x001c063e in thunk ()
#94 0x001be18a in partial apply for thunk ()
#95 0x060a0cc0 in thunk [inlined] ()
#96 0x060a0cb4 in partial apply for thunk ()
#97 0x060c8a33 in Observer.(init<A, B where ...> (Observer<A, B>.Type) -> (failed : (B) -> ()?, completed : () -> ()?, interrupted : () -> ()?, next : (A) -> ()?) -> Observer<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Observer.swift:24
#98 0x060c80d2 in partial apply for Observer.(init<A, B where ...> (Observer<A, B>.Type) -> (failed : (B) -> ()?, completed : () -> ()?, interrupted : () -> ()?, next : (A) -> ()?) -> Observer<A, B>).(closure #1) ()
#99 0x0606c5f5 in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:63
#100 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#101 0x060b2821 in SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/SignalProducer.swift:252
#102 0x060a0b83 in partial apply for SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) ()
#103 0x0606c5f5 in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:63
#104 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#105 0x0606e98d in SignalType<A where ...>.(map<A><B where ...> (A) -> ((A.Value) -> B) -> Signal<B, A.Error>).(closure #1).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:228
#106 0x0606a5a9 in partial apply for SignalType<A where ...>.(map<A><B where ...> (A) -> ((A.Value) -> B) -> Signal<B, A.Error>).(closure #1).(closure #1) ()
#107 0x0606c5f5 in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:63
#108 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#109 0x060b2821 in SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/SignalProducer.swift:252
#110 0x060a0b83 in partial apply for SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) ()
#111 0x0606c5f5 in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:63
#112 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#113 0x060c7ed6 in Observer.sendNext<A, B where ...>(A) -> () at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Observer.swift:40
#114 0x0606f061 in SignalType<A where ...>.(filter<A where ...> (A) -> ((A.Value) -> Bool) -> Signal<A.Value, A.Error>).(closure #1).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:250
#115 0x0606a3ac in partial apply for SignalType<A where ...>.(filter<A where ...> (A) -> ((A.Value) -> Bool) -> Signal<A.Value, A.Error>).(closure #1).(closure #1) ()
#116 0x0606c5f5 in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:63
#117 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#118 0x060b2821 in SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/SignalProducer.swift:252
#119 0x060a0b83 in partial apply for SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) ()
#120 0x0606c5f5 in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:63
#121 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#122 0x0606e98d in SignalType<A where ...>.(map<A><B where ...> (A) -> ((A.Value) -> B) -> Signal<B, A.Error>).(closure #1).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:228
#123 0x0606a5a9 in partial apply for SignalType<A where ...>.(map<A><B where ...> (A) -> ((A.Value) -> B) -> Signal<B, A.Error>).(closure #1).(closure #1) ()
#124 0x0606c5f5 in Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Signal.swift:63
#125 0x0605fee4 in partial apply for Signal.(init<A, B where ...> (Signal<A, B>.Type) -> ((Observer<A, B>) -> Disposable?) -> Signal<A, B>).(closure #1) ()
#126 0x060b2821 in SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/SignalProducer.swift:252
#127 0x060a0b83 in partial apply for SignalProducer.(startWithSignal<A, B where ...> (SignalProducer<A, B>) -> ((Signal<A, B>, Disposable) -> ()) -> ()).(closure #2) ()
#128 0x060d6a8a in specialized Observer.sendNext<A, B where ...>(A) -> () [inlined] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/Observer.swift:40
#129 0x060d6a77 in RACSignal.(toSignalProducer(RACSignal) -> (String, line : Int) -> SignalProducer<AnyObject?, NSError>).(closure #1).(closure #1) [inlined] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Swift/ObjectiveCBridging.swift:59
#130 0x060d6a77 in partial apply for RACSignal.(toSignalProducer(RACSignal) -> (String, line : Int) -> SignalProducer<AnyObject?, NSError>).(closure #1).(closure #1) ()
#131 0x060d83be in thunk ()
#132 0x06033e8b in -[RACSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubscriber.m:72
#133 0x060508d7 in -[RACPassthroughSubscriber sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACPassthroughSubscriber.m:78
#134 0x06011bbb in __23-[RACSubject sendNext:]_block_invoke at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubject.m:93
#135 0x0601196b in -[RACSubject enumerateSubscribersUsingBlock:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubject.m:85
#136 0x06011b22 in -[RACSubject sendNext:] at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/RACSubject.m:92
#137 0x0604ffdb in RACForwardInvocation at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACSelectorSignal.m:55
#138 0x0604fd8d in __RACSwizzleForwardInvocation_block_invoke at /Users/jifang/visbit/source/carthage/Carthage/Checkouts/ReactiveCocoa/ReactiveCocoa/Objective-C/NSObject+RACSelectorSignal.m:79
#139 0x06a4c778 in ___forwarding___ ()
#140 0x06a4c57e in __forwarding_prep_0___ ()
#141 0x0444dc7c in -[UIScrollView(UIScrollViewInternal) _notifyDidScroll] ()
#142 0x166acdfb in -[UIScrollViewAccessibility _notifyDidScroll] ()
#143 0x0443299e in -[UIScrollView setContentOffset:] ()
#144 0x044cf67e in -[UITableView setContentOffset:] ()
#145 0x04447132 in -[UIScrollView _smoothScrollWithUpdateTime:] ()
#146 0x044474d3 in -[UIScrollView _smoothScrollDisplayLink:] ()
#147 0x040371d2 in CA::Display::DisplayLinkItem::dispatch() ()
#148 0x0403707b in CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) ()
#149 0x0403758d in CA::Display::TimerDisplayLink::callback(__CFRunLoopTimer*, void*) ()
#150 0x06a57246 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()
#151 0x06a56c42 in __CFRunLoopDoTimer ()
#152 0x06a154aa in __CFRunLoopRun ()
#153 0x06a14956 in CFRunLoopRunSpecific ()
#154 0x06a1476b in CFRunLoopRunInMode ()
#155 0x087e5664 in GSEventRunModal ()
#156 0x087e54a1 in GSEventRun ()
#157 0x04356299 in UIApplicationMain ()
#158 0x001a456a in main at /Users/jifang/visbit/source/pixbrite/experimental/vbit_ios_app/Pixsi/Pixsi/main.m:14
#159 0x081a5a25 in start ()
The text was updated successfully, but these errors were encountered:
Can you try to reproduce this with latest RAC release (4.0.1)? It would also be cleaner to have a backtrace with source code embedded from gist.github.com
I hit an dead lock on [NSLock lock] yesterday, but it is hard to reproduce. From Xcode console, it indicates that the NSLock has been invoked again on the same thread.
I listed the related code snippet from my source below and the stack trace at the bottom. Is it simply a mistakenly usage of ReactiveCocoa, or is it something wrong with the synchronization internally? Let me know if you guys need more information.
I am using v4.0.0-RC.2
VBAutoGeneratedCollageViewController.m:118
VBSegmentedPager.m:49 (vc here is the instance of VBAutoGeneratedCollageViewController)
VBSegmentedPager+Header.swift:38
The text was updated successfully, but these errors were encountered: