Bond: Crash on AtomicObserver in ReactiveKit

Hi,

After updating pods, my app gets crashing randomly on AtomicObserver.dispose() in ReactiveKit. I think this problem was resolved in version 3.15.3 of ReactiveKit but when I update the pod for Bond, CocoaPods downloads the version 3.15.2 of ReactiveKit. How can I force CocoaPods to download latest version of ReactiveKit? I’ve tried putting both Bond and ReactiveKit in Podfile without success.

And here is the crash log:

Simultaneous accesses to 0x283da9e10, but modification requires exclusive access.
Previous access (a modification) started at ReactiveKit AtomicObserver.dispose() + 152 (0x10d0943bc).
Current access (a read) started at:
0    libswiftCore.dylib                 0x00000001965bbbe0 swift_beginAccess + 560
1    ReactiveKit                        0x000000010d093a58 AtomicObserver.on(_:) + 288
2    ReactiveKit                        0x000000010d0946b8 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 20
3    ReactiveKit                        0x000000010d094964 ObserverProtocol.receive(completion:) + 612
4    ReactiveKit                        0x000000010d0cd6cc closure #2 in closure #1 in SignalProtocol.prefix<A>(untilOutputFrom:) + 748
5    ReactiveKit                        0x000000010d093a58 AtomicObserver.on(_:) + 484
6    ReactiveKit                        0x000000010d0946b8 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 20
7    ReactiveKit                        0x000000010d094964 ObserverProtocol.receive(completion:) + 612
8    ReactiveKit                        0x000000010d0cd4c4 closure #1 in closure #1 in SignalProtocol.prefix<A>(untilOutputFrom:) + 328
9    ReactiveKit                        0x000000010d093a58 AtomicObserver.on(_:) + 484
10   ReactiveKit                        0x000000010d0946b8 protocol witness for ObserverProtocol.on(_:) in conformance AtomicObserver<A, B> + 20
11   ReactiveKit                        0x000000010d0959b8 partial apply + 132
12   ReactiveKit                        0x000000010d093524 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> () + 20
13   ReactiveKit                        0x000000010d0ef668 thunk for @escaping @callee_guaranteed (@in_guaranteed Signal<A, B>.Event) -> (@out ()) + 36
14   ReactiveKit                        0x000000010d0ee89c Subject.on(_:) + 2524
15   ReactiveKit                        0x000000010d0f2278 ReplayOneSubject.on(_:) + 1048
16   ReactiveKit                        0x000000010d0f03c0 protocol witness for ObserverProtocol.on(_:) in conformance Subject<A, B> + 28
17   ReactiveKit                        0x000000010d0ed37c SubjectProtocol.send(completion:) + 636
18   ReactiveKit                        0x000000010d07cd70 DisposeBag.deinit + 252
19   ReactiveKit                        0x000000010d07cf68 DisposeBag.__deallocating_deinit + 60
20   libswiftCore.dylib                 0x00000001965bd4f0 <redacted> + 28
21   libobjc.A.dylib                    0x0000000188e0b2ac <redacted> + 352
22   libobjc.A.dylib                    0x0000000188e07d24 objc_destructInstance + 100
23   libobjc.A.dylib                    0x0000000188e0ed80 _objc_rootDealloc + 48
24   UIKitCore                          0x000000018d162d60 <redacted> + 152
25   UIKitCore                          0x000000018d59d278 <redacted> + 872
26   UIKitCore                          0x000000018cb6dfd4 <redacted> + 68
27   UIKitCore                          0x000000018cb5fc3c <redacted> + 96

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (9 by maintainers)

Most upvoted comments

@srdanrasic we just opened a Pull Request for that.

I just released 7.6.2 that should fix disposing on the non-main threads. @ibrahimkteish @madiguzel