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

Bug 369130

Summary: Share source line BPs across multiple compilation units can result in walking breakpoints
Product: [Tools] TCF Reporter: Scott Tepavich <scott.tepavich>
Component: AgentAssignee: Project Inbox <tcf.agent-inbox>
Status: CLOSED FIXED QA Contact: Eugene Tarassov <eugene>
Severity: normal    
Priority: P3 CC: cdtdoug, pawel.1.piech, scott.tepavich
Version: 1.0   
Target Milestone: 1.0.0   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Scott Tepavich CLA 2012-01-19 13:30:44 EST
Compiling two linux apps with the same source file, and debugging on the same TCF agent, can result in a walking breakpoint.

Example:
1.) Compile a simple linux application.
2.) Copy the application build dir, to another directory.
3.) Add a couple of comment lines to the source and rebuild.
4.) Launch the TCF agent.
5.) Debug the first application.  Plant a BP at a source line directly after where comment lines where added.
6.) Debug the second application.  Observe that the BP is planted at the line appropriate for that process.
7.) Select the original context.

At this point, the original BP was moved to reflect the planting of the second process.

Looking at the agent, this appears to be a side affect of the property bag used for the source line bp.  These are not context specific BPs, and the property bag does not differ much between the two processes.  This results in BP set when debugging the first process, being reused and updated when debugging the second procress.

This may not be a common workflow, but it can occur in a couple of valid workflow scenerios.
Comment 1 Pawel Piech CLA 2012-01-19 18:46:54 EST
Hi Scott,
Do you need your changes to the TCFAnnotationManager in order to observe this, or do you see it also with unmodifies sources from master?
Comment 2 Scott Tepavich CLA 2012-01-19 20:25:27 EST
Hi Pawel -

I was able to reproduce without modified source, but then I did a pull off master to be sure I was up-to-date.  Now I cannot.  I'll update my developement branch with the latest, and verify this is fixed there too.