Preemptive Thread String Crash

Thanks @William_Yu - is there any chance we could get an official revised statement about what is / is not safe? The forum posts I quoted, the documentation, and other statements are confusing, conflicting, and it seems in many cases, simply wrong.

Some examples: The documentation for Thread says:

Sometimes you may have a resource (data or a file, for example) that needs to be used by multiple threads that are all currently running. An example would be that a Thread tries to open a file for writing that another Thread has already opened for writing. This can cause issues and unwanted exceptions. You can manage this by using a CriticalSection […]

Comment: I’m sure many people don’t think of a String variable as a resource that also needs protection.

Because preemptive threads can execute on any available core, they do not share memory with each other nor with your app as cooperative threads do. This means the code in the thread will have no access to the values of any other objects in your app.

Comment: This is just wrong, and has been reported separately ( Link )

Be aware that stack overflow checks are not performed on preemptive threads. If the thread’s stack overflows, your app will crash.

Is this true? Someone here Cooperative threads: 2023R4 faster than 2024R3 - #8 by Aaron_Hunt says

I’m seeing stack checking in r3 that doesn’t appear in r2.