With that background information, and using a --enable-symbols=mem
build of Tcl, run this demo script:

package require Thread

proc myScript mainTid {
    package require Thread
    thread::send -async $mainTid [list puts "ThreadRunning = [tsv::get sharedArray ThreadRunning]"]
    tsv::set sharedArray ThreadRunning 1
    thread::send -async $mainTid [list puts "ThreadRunning = [tsv::get sharedArray ThreadRunning]"]
}

proc installProc {tid procName} {
    set procBody [info body $procName]
    set procArgs [info args $procName]
    thread::send $tid [list proc $procName $procArgs $procBody]
}

tsv::set sharedArray ThreadRunning 0
set _threadHandle [thread::create]
installProc $_threadHandle myScript
thread::send -async $_threadHandle [list myScript [thread::id]]

after 1000

puts "\t Completed tests"


With any luck, one of those Panic safeguards will be triggered.