ChangbaDevs / KTVHTTPCache

A powerful media cache framework.
MIT License
2.35k stars 435 forks source link

Collection <__NSArrayM: 0x282724660> was mutated while being enumerated. #108

Open LonfeyLi opened 5 years ago

LonfeyLi commented 5 years ago
CoreFoundation ___exceptionPreprocess + 228
1 libobjc.A.dylib objc_exception_throw + 56
2 CoreFoundation -[__NSSingleObjectEnumerator initWithObject:]
3 xxx -[KTVHCDataUnitQueue unitWithKey:] (KTVHCDataUnitQueue.m:57)
4 xxx -[KTVHCDataUnitPool unitWithURL:] (KTVHCDataUnitPool.m:0)
5 xxxx -[KTVHCDataReader initWithRequest:] (KTVHCDataReader.m:33)
6 xxx -[KTVHCDataStorage readerWithRequest:] (KTVHCDataStorage.m:48)
7 xxx -[KTVHCHTTPResponse initWithConnection:dataRequest:] (KTVHCHTTPResponse.m:29)
8 xxx -[KTVHCHTTPConnection httpResponseForMethod:URI:] (KTVHCHTTPConnection.m:36)
9 xxx -[HTTPConnection replyToHTTPRequest] (HTTPConnection.m:992)
10 xxx -[HTTPConnection socket:didReadData:withTag:] (HTTPConnection.m:0)
zhangjirui commented 4 years ago

@property (nonatomic, strong) NSMutableArray<KTVHCDataUnit > unitArray; 该property不支持多线程,加锁即可

sunshineuoow commented 3 years ago

请教一下,KTVHCDataUnitPool 这里面调用到[KTVHCDataUnitQueue unitWithKey:]的地方都加了锁,还是可能会出现多线程的问题吗