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

Bug 360286

Summary: IOStatementGenerator is not thread safe
Product: z_Archived Reporter: Justin Spadea <jspadea>
Component: EDTAssignee: Project Inbox <edt.compiler-inbox>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: pharmon
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Justin Spadea CLA 2011-10-07 17:06:31 EDT
If I have a build running for A.egl, and at the same time I have the VE compile a working copy of this file (click refresh on the preview tab), the same instance of an IOStatementGenerator gets used by both concurrent compiles and the last one in "wins" in terms of setting its environment, context, current part, etc.

Either a new instance needs to be created for these contributed statement generators, their usage needs to be synchronized, or all their fields must be made ThreadLocal.
Comment 1 Paul Harmon CLA 2011-10-18 12:37:06 EDT
I have updated:

Egl2MofStatement
IOStatementGenerator

A new IO statement generator is now instantiated for each IO statement.
Comment 2 Justin Spadea CLA 2011-11-01 16:01:05 EDT
Verified