Re: [rfc] PR 20569, segv in follow_exec

Luis Machado
2016-10-19T20:19:38Z

On 10/19/2016 11:14 AM, Luis Machado wrote:
> On 10/19/2016 08:37 AM, Pedro Alves wrote:
>> On 10/18/2016 07:11 PM, Luis Machado wrote:
>>
>>> I went through the patch and, although this code as a whole is a bit on
>>> the convoluted side, it looks reasonable to me.
>>>
>>> Segfaults are not supposed to happen, so allowing the session to
>>> continue is a good thing IMO.
>>>
>>> Sounds like a good candidate for master and even stable branches.
>>
>> I didn't look at the patch in detail yet, but I think it'd be
>> very good to have tests?
>>
>> Thanks,
>> Pedro Alves
>>
>
> I fixed a gotcha with the patch and i have a reproducer that makes GDB
> crash on x86-64. I'll craft a test.
>

I was thinking of a way to test this and decided to exercise everything
against an invalid sysroot (by always passing 'set sysroot
<something_invalid>' and i noticed quite a few segmentation faults
ocurring in 10+ tests.

Now we know things are broken and we know how to show that, but i'm
wondering if we want to re-run tests with an invalid sysroot or if the
manual testing with a sysroot override is enough.

I could add a loop to each test that is failing, but, though that
exercises and shows the failure, it sounds like a waste of time to
repeat those tests.

I could also pick one candidate and isolate that in a test, but i'm not
yet sure if all those 10+ failures fail for the same exact reason.

Suggestions?

These are the failing tests:

gdb.base/catch-syscall.exp
gdb.base/execl-update-breakpoints.exp
gdb.base/foll-exec-mode.exp
gdb.base/foll-exec.exp
gdb.base/foll-vfork.exp
gdb.base/pie-execl.exp
gdb.linespec/explicit.exp
gdb.multi/bkpt-multi-exec.exp
gdb.python/py-finish-breakpoint.exp
gdb.threads/execl.exp
gdb.threads/non-ldr-exc-1.exp
gdb.threads/non-ldr-exc-2.exp
gdb.threads/non-ldr-exc-3.exp
gdb.threads/non-ldr-exc-4.exp
gdb.threads/thread-execl.exp