Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 341300

Summary: Non-stop mode, toggle same breakpoint frequently will lead to inconsistent state between CDT and backend
Product: [Tools] CDT Reporter: daming <daminggege>
Component: cdt-debug-dsf-gdbAssignee: Project Inbox <cdt-debug-dsf-gdb-inbox>
Status: NEW --- QA Contact: Jonah Graham <jonah>
Severity: normal    
Priority: P3 CC: cdtdoug, daminggege, pawel.1.piech
Version: 8.0   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description daming CLA 2011-03-29 21:52:45 EDT
Build Identifier: 20100917-0705

Non-stop mode, toggle breakpoint, at first user clicks the marker bar to add breakpoint, if he did not wait for the icon changing from 'pending' to 'done', and click the icon again, it will lead to the inconsistent state between GUI and GDB backend, and when terminate debug process will get an error dialog ‘Clear Breakpoint status have encounter a problem’, the detailed message is ‘Breakpoint does not have an associated marker’. It could be easily reproduced under the situation that backend could not response the add breakpoint operation quickly.

It maybe not a problem from the perspective of normal user behavior, while I think it’s also an issue caused by the asynchronous style design, the eclipse debug part and CDI part think that if the call to DSF is returned, the breakpoint should be added successfully, while the MIBreakpointManager will just initiate an asynchronous operation.


Reproducible: Sometimes

Steps to Reproduce:
1.Non-stop mode
2.To make it could be reproduced everytimes, could add a sleep in GDBBackend#interruptAndWait
3.Toggle marker bar to add/delete breakpoint