Created attachment 8309 [details] Reproducer Running the attached C++14 program causes the program _AND_ GDB to crash. I tried to debug GDB with GDB to get more details about the crash of GDB, but this does not seem to work properly.
Could you give more details, please? I did not manage to reproduce the segmentation fault here. I tried with a GDB 7.9 tarball, and using our git HEAD. I assume you're using GDB 7.9, but it would be nice to know if you have distro-specific patches on it. What is your distro? Also, what is the version of your g++ compiler? Are you just doing a './gdb binary' and then 'run', or something else? Thanks.
Hi, sorry for the delay in my response. > I assume you're using GDB 7.9, Yes, I was using GDB 7.9, built from the vanilla sources from the GNU web page. GNU gdb (GDB) 7.9 This GDB was configured as "x86_64-unknown-linux-gnu". > but it would be nice to know if you have > distro-specific patches on it. No, no distro packages included in the sources. > What is your distro? My distribution is Ubuntu 14.04, 64-bit. > Also, what is the version > of your g++ compiler? The compiler is a self-built gcc 4.9.2, again from the vanilla GNU sources. We used -std=c++14 as language standard option. > Are you just doing a './gdb binary' and then 'run', or > something else? Thanks. Mhhh, I was trying again to reproduce the bug, but no I fail as well which is strange. I have no real explanation for this, other than that Ubuntu is bogus or - which is obviously less likely - that I did something fundamentally wrong :-) I will try a bit further to reproduce this (we had a second system at work that was crashing) and will let you know if find out how to reproduce this. Sorry for this and thanks, Andi
Hi, ok, here we go: # g++ --version g++ (GCC) 4.9.2 # g++ -std=c++14 random.cpp -o r # gdb r (gdb) run [...] Reading symbols from r...(no debugging symbols found)...done. (gdb) run [...] Program received signal SIGSEGV, Segmentation fault. 0x00000000004010ec in std::uniform_int_distribution<int>::param_type::b() const () (gdb) ... Using the compiler options as above, everything works as expected. I get a _very_ long backtrace resulting from an endless recursion. However, if I use the following options: # g++ -std=c++14 random.cpp -o r -g [...] Reading symbols from r...done. (gdb) run [...] Program received signal SIGSEGV, Segmentation fault. Segmentation fault # ... Here, I don't get a GDB prompt and I am back in the terminal so that I assume that GDB crashed. Could you please try this again on your machine and let me know if you were able to reproduce this and if you need further information? Thanks and best regards, Andi On 22.05.2015 00:04, Andre-Marcel Hellmund wrote: > Hi, > > sorry for the delay in my response. > >> I assume you're using GDB 7.9, > > Yes, I was using GDB 7.9, built from the vanilla sources from the GNU > web page. > GNU gdb (GDB) 7.9 > This GDB was configured as "x86_64-unknown-linux-gnu". > >> but it would be nice to know if you have >> distro-specific patches on it. > > No, no distro packages included in the sources. > >> What is your distro? > > My distribution is Ubuntu 14.04, 64-bit. > >> Also, what is the version >> of your g++ compiler? > > The compiler is a self-built gcc 4.9.2, again from the vanilla GNU > sources. We used -std=c++14 as language standard option. > >> Are you just doing a './gdb binary' and then 'run', or >> something else? Thanks. > > Mhhh, I was trying again to reproduce the bug, but no I fail as well > which is strange. I have no real explanation for this, other than that > Ubuntu is bogus or - which is obviously less likely - that I did > something fundamentally wrong :-) > > I will try a bit further to reproduce this (we had a second system at > work that was crashing) and will let you know if find out how to > reproduce this. > > Sorry for this and thanks, > Andi