microsoft / ftl-sdk

Software Development Kit for Mixer's FTL Protocol
MIT License
154 stars 64 forks source link

ftl library crashes in FTL_LOG enqueue_status_msg #71

Open andrewsml opened 6 years ago

andrewsml commented 6 years ago

this happen when internet connection breaks or gets much weak. crash can be reproduced using XSplit Broadcaster. Steps:

  1. Start FTL stream from XSplit Broadcaster to Mixer.
  2. Limit XSplit Broadcaster upload speed to 1kbps using NetBalancer software.
  3. Stop FTL stream.

I debugged this problem and found that ftl->status_q.mutex was deleted by ftl_ingest_disconnect function, while some threads like ping_thread are still alive and continue calling FTL_LOG with deleted ftl->status_q.mutex.

tyiki-badwell commented 5 years ago

This issue occurs when the application does not call ftl_ingest_disconnect before calling ftl_ingest_destroy. It seems to be difficult to care.