Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[core] Fix TSBPD thread create/join protection. #2972

Merged

Conversation

maxsharabayko
Copy link
Collaborator

@maxsharabayko maxsharabayko commented Jul 9, 2024

Extracted from PR #2893.

WARNING: ThreadSanitizer: data race (pid=5444)
  Write of size 8 at 0x7ba80005f118 by thread T1 (mutexes: write M226, write M223, write M898885562122236320, write M898604087145525592):
    #0 srt::sync::CThread::join() srt/srtcore/sync_posix.cpp:442 (srt-xtransmit+0x464f2a)
    #1 srt::CUDT::releaseSynch() srt/srtcore/core.cpp:7839 (srt-xtransmit+0x34d600)
    #2 srt::CUDT::closeInternal() srt/srtcore/core.cpp:6332 (srt-xtransmit+0x34c769)
    #3 srt::CUDTSocket::breakSocket_LOCKED() srt/srtcore/api.cpp:127 (srt-xtransmit+0x28d9e1)
    #4 srt::CUDTUnited::garbageCollect(void*) srt/srtcore/api.cpp:3328 (srt-xtransmit+0x28f180)

  Previous read of size 8 at 0x7ba80005f118 by thread T4:
    #0 srt::sync::CThread::joinable() const srt/srtcore/sync_posix.cpp:424 (srt-xtransmit+0x464ce9)
    #1 srt::CUDT::checkLazySpawnTsbPdThread() srt/srtcore/core.cpp:9997 (srt-xtransmit+0x371cd6)
    #2 srt::CUDT::processData(srt::CUnit*) srt/srtcore/core.cpp:10293 (srt-xtransmit+0x376f6b)
    #3 srt::CRcvQueue::worker_ProcessAddressedPacket(int, srt::CUnit*, srt::sockaddr_any const&) srt/srtcore/queue.cpp:1475 (srt-xtransmit+0x3f01f6)
    #4 srt::CRcvQueue::worker(void*) srt/srtcore/queue.cpp:1254 (srt-xtransmit+0x3ecfb7)

Co-authored-by: Sektor van Skijlen <ethouris@gmail.com>
@maxsharabayko maxsharabayko added Type: Bug Indicates an unexpected problem or unintended behavior [core] Area: Changes in SRT library core labels Jul 9, 2024
@maxsharabayko maxsharabayko added this to the v1.5.4 milestone Jul 9, 2024
@maxsharabayko maxsharabayko merged commit 54c002f into Haivision:master Jul 9, 2024
12 checks passed
@maxsharabayko maxsharabayko deleted the hotfix/tsbpdthread-mutex branch July 9, 2024 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[core] Area: Changes in SRT library core Type: Bug Indicates an unexpected problem or unintended behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants