https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63614
dyle at dyle dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |minor --- Comment #1 from dyle at dyle dot org --- Huh. It ain't std::this_thread::get_id(), it is the assignment! Because this auto nThread = 1; as first statement in the thread crashes also. o.O $ gdb bin/modules/qkd-hardware-pickup/qkd-hardware-pickup core.1327 GNU gdb (Gentoo 7.8 vanilla) 7.8 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://bugs.gentoo.org/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from bin/modules/qkd-hardware-pickup/qkd-hardware-pickup...done. warning: core file may not match specified executable file. [New LWP 1339] [New LWP 1327] [New LWP 1335] [New LWP 1333] [New LWP 1338] [New LWP 1331] warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `/home/dyle/doc/src/ait/qkd/build/bin/qkd-hardware-pickup --debug-core-presiftin'. Program terminated with signal SIGSEGV, Segmentation fault. #0 qkd_hardware_pickup_alice::presifter (this=0x1405bc0) at /home/dyle/doc/src/ait/qkd/bin/modules/qkd-hardware-pickup/qkd-hardware-pickup-alice.cpp:1199 1199 auto nThreadId = 1; (gdb) bt #0 qkd_hardware_pickup_alice::presifter (this=0x1405bc0) at /home/dyle/doc/src/ait/qkd/bin/modules/qkd-hardware-pickup/qkd-hardware-pickup-alice.cpp:1199 #1 0x00007f63182425e0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimized out>) at /var/tmp/portage/sys-devel/gcc-4.8.3/work/gcc-4.8.3/libstdc++-v3/src/c++11/thread.cc:84 #2 0x00007f631849d073 in start_thread (arg=0x7f630c6f8700) at pthread_create.c:309 #3 0x00007f63179c74ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 (gdb) info frame Stack level 0, frame at 0x7f630c6f7ec0: rip = 0x43138b in qkd_hardware_pickup_alice::presifter (/home/dyle/doc/src/ait/qkd/bin/modules/qkd-hardware-pickup/qkd-hardware-pickup-alice.cpp:1199); saved rip = 0x7f63182425e0 called by frame at 0x7f630c6f7ee0 source language c++. Arglist at 0x7f630b5ccef8, args: this=0x1405bc0 Locals at 0x7f630b5ccef8, Previous frame's sp is 0x7f630c6f7ec0 Saved registers: rbx at 0x7f630c6f7e88, rbp at 0x7f630c6f7e90, r12 at 0x7f630c6f7e98, r13 at 0x7f630c6f7ea0, r14 at 0x7f630c6f7ea8, r15 at 0x7f630c6f7eb0, rip at 0x7f630c6f7eb8 (gdb) list /home/dyle/doc/src/ait/qkd/bin/modules/qkd-hardware-pickup/qkd-hardware-pickup-alice.cpp:1199 1194 1195 // this line SIGSEVs for unknown reasons: 1196 // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63614 1197 // 1198 // std::thread::id nThreadId = std::this_thread::get_id(); 1199 auto nThreadId = 1; 1200 1201 // this method is run at start by PRESIFT_THREADS concurrent threads 1202 if (debug_core_presifting()) { 1203 qkd::utility::debug(true) << So: Sorry for the noise. But still I do not know what is happening ...