[SHOWTOGROUPS=4,20]
This patch addresses the following issue:
* RSP-27180 64-bit builds crash with threads
Creating and using a thread (eg std::thread) could result in an access violation on some machines.
This was caused by an error setting up the Win64 32-byte shadow space inside the code to clean up TLS (thread-local storage) data, combined with the compiler applying a tail-call optimization to a method call within that cleanup code, which used that space. The patch correctly sets up the shadow space, and the crash with TLS no longer occurs.
English, French, German and Japanese
Available only to registered users of RAD Studio, C++Builder 10.3 and All-Access
MD5: E59C8369FFF20609B4E545D5AD92A82
Download
Как увидеть ссылки? | How to see hidden links?
Additional links:
cc.embarcadero.com
An issue with thread-local storage that could cause AVs on some Win64 machines has been resolved We've just released a patch for C++Builder 10.3.3 that resolves: RSP-27180 64-bit builds crash with threadsCreating and using a thread (eg std::thr...
community.idera.com
C++Builder 10.3.3 Threading and TLS Patch - исправляет баг "RSP-27180 64-bit builds crash with threads"
it-blackcat.blogspot.com
more info
Embarcadero released a patch for RAD Studio 10.3.3 for a problem related to Indy servers with SSL certificates
community.idera.com
An issue with thread-local storage that could cause AVs on some Win64 machines has been resolved We've just released a patch for C++Builder 10.3.3 that resolves: RSP-27180 64-bit builds crash with threadsCreating and using a thread (eg std::thr...
community.idera.com
C++Builder 10.3.3 Threading and TLS Patch
IDERA CommunitySearchUser
David Millington - 29/1/2020
An issue with thread-local storage that could cause AVs on some Win64 machines has been resolved
We've just released a patch for C++Builder 10.3.3 that resolves:
RSP-27180 64-bit builds crash with threads
Creating and using a thread (eg std::thread) could result in an access violation on some machines.
This was caused by an error setting up the Win64 32-byte shadow space inside the assembly code to clean up TLS (thread-local storage) data, combined with the compiler applying a tail-call optimization to a method call (HeapFree) called within that, which meant that with the compiler optimization applied the effective caller of HeapFree was the code that incorrectly set up the shadow space. On some machines, possibly dependent on different Windows builds, HeapFree uses that shadow space, and so the TLS cleanup crashed. The patch correctly sets up the shadow space, and the crash no longer occurs.
The patch is available here:
Как увидеть ссылки? | How to see hidden links? Full installation instructions are included in the readme.
links more info
docwiki.embarcadero.com
Very simply, what is tail-call optimization? More specifically, what are some small code snippets where it could be applied, and where not, with an explanation of why?
stackoverflow.com
cc.embarcadero.com
[/SHOWTOGROUPS]