| Summary: | Unreliable GDB termination | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Vladimir Prus <vladimir.prus> | ||||
| Component: | cdt-debug-dsf-gdb | Assignee: | Marc Khouzam <marc.khouzam> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Marc Khouzam <marc.khouzam> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | pawel.1.piech, ted | ||||
| Version: | 8.0 | ||||||
| Target Milestone: | 8.0 | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Vladimir Prus
Created attachment 180420 [details]
The patch to make the bug more reproducable
I think the problem is that the concept of inferior was not properly updated (by me) to deal with Multi-process. If you run the same test with gdb 6.8, you will not see the problem. The reason is that GDBControl.eventDispatched(ContainerExitedDMEvent) blindly terminates GDB since it only deals with a single process. If I remember correctly, it is because GDBControl_7_0.eventDispatched(ContainerExitedDMEvent) deals with multi-process, that we have to call isConnected() to make sure that the ContainerExitedDMEvent is for the last process. Thing is, right now, multi-process only works for remote-attach sessions, so I think the call to isConnect() is unnecessary. Once we properly handle multi-process on Linux, we will have to deal with this better. Until then, this may be a good workaround for you. Fixed by Bug 338319. Volodya, with HEAD of March 2nd I expect this problem to be gone. I've tried with your attach patch which allows to reproduce and I can't see it anymore. If I'm wrong, feel free to re-open. Comment on attachment 180420 [details]
The patch to make the bug more reproducable
This patch was just a test patch and was never committed.
|