Brad Smith <[email protected]> wrote: > On 12/23/2020 10:35 PM, Alexey Sokolov wrote: > >> Synopsis: getaddrinfo() is not thread-safe in 6.8 > >> Category: system > >> Environment: > > System : OpenBSD 6.8 > > Details : OpenBSD 6.8 (GENERIC.MP) #1: Tue Nov 3 09:06:04 MST 2020 > > > > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > > > Architecture: OpenBSD.amd64 > > Machine : amd64 > >> Description: > > Hi, getaddrinfo() crashes when multiple threads run getaddrinfo() > > concurrently. This didn't happen in 6.7. > > It looks like asr_ctx which is supposed to be thread-local according to > > _asr_use_resolver(), is actually static / shared between threads. > >> How-To-Repeat: > > Compile this code (gcc a.c -pthread), and run. It will segfault in > > several seconds. Happens with both gcc (4.2.1) and egcc (8.4.0). > > Before going any further. Use the system compiler. That is Clang (cc).
I disagree. As the test appears fairly idiomatic threading code, I find it unlikely a compiler change should matter.
