https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82635
--- Comment #4 from Hannes Hauswedell <h2+bugs at fsfe dot org> --- > the complete command line that triggers the bug; /usr/local/bin/g++7 -Wl,-rpath -Wl,/usr/local/lib/gcc7/ -std=c++11 -pthread test_thread.cpp (g++7 could be g++6 g++6 or g++8) > Are you linking to libpthread? I am calling -pthread (or -lpthread), but ldd says: % ldd a.out a.out: libstdc++.so.6 => /usr/local/lib/gcc7//libstdc++.so.6 (0x800825000) libm.so.5 => /lib/libm.so.5 (0x800bba000) libgcc_s.so.1 => /usr/local/lib/gcc7//libgcc_s.so.1 (0x800de5000) libthr.so.3 => /lib/libthr.so.3 (0x800ffc000) libc.so.7 => /lib/libc.so.7 (0x801224000) The broken combinations crash after a few iterations: % ./a.out Hallo Waited successfully. Was joinable: 1 Hallo Waited successfully. Was joinable: 1 Hallo Waited successfully. Was joinable: 1 Hallo Waited successfully. Was joinable: 1 Hallo Waited successfully. Was joinable: 1 Hallo [1] 2613 segmentation fault (core dumped) ./a.out The crash happens when calling .joinable(). If we skip the joinable check it crashes on .join().