Open karino2 opened 3 months ago
ログを挟んで調査した所、NetworkClient.swiftのreceiveDataとresponseReceivedの間にレースコンディションがある模様。
responseReceivedのスレッドをA、receiveDataのスレッドをBとして以下のケースが起こる事を確認
dataPromiseとcachedReceivedDataは複数のスレッドからアクセスされているので何らかの保護が必要のようです。 手元でactorを用いるfixを作った所、直っているようでした。のちほどPRを送ります。
症状
20分程度配信を続けていると、ログに
[HPRTMP] Window size reached, waiting for acknowledgement...
と表示され続けてそれ以後配信されなくなる。再現率
4/12回