Bug 18406 - GDB crashes after segmentation fault in program
Summary: GDB crashes after segmentation fault in program
Status: WAITING
Alias: None
Product: gdb
Classification: Unclassified
Component: gdb (show other bugs)
Version: 7.9
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-13 07:56 UTC by Andi Hellmund
Modified: 2015-05-21 22:12 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
Reproducer (146 bytes, text/x-c++src)
2015-05-13 07:56 UTC, Andi Hellmund
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andi Hellmund 2015-05-13 07:56:26 UTC
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.
Comment 1 Sergio Durigan Junior 2015-05-15 22:20:30 UTC
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.
Comment 2 Andi Hellmund 2015-05-21 22:05:18 UTC
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
Comment 3 Andi Hellmund 2015-05-21 22:12:41 UTC
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