| Summary: | AIOOB while initializing J2EE classpath container | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [WebTools] WTP Java EE Tools | Reporter: | Hari Shankar <hshanka> | ||||||
| Component: | jst.j2ee | Assignee: | Hari Shankar <hshanka> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | Chuck Bridgham <cbridgha> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | ccc, david_williams, jsholl | ||||||
| Version: | unspecified | Flags: | david_williams:
pmc_approved+
hshanka: pmc_approved? (raghunathan.srinivasan) hshanka: pmc_approved? (naci.dai) hshanka: pmc_approved? (deboer) hshanka: pmc_approved? (neil.hauge) hshanka: pmc_approved? (kaloyan) cbridgha: review+ |
||||||
| Target Milestone: | 3.2.1 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | PMC_approved | ||||||||
| Attachments: |
|
||||||||
|
Description
Hari Shankar
Created attachment 173218 [details]
patch
Looking at the code, the issue seems to be that in org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.data() the size of the data array changes between the point where the size is accessed and an System.arraycopy is called. This patch addresses this situation by re-invoking the org.eclipse.emf.common.notify.impl.BasicNotifierImpl$EAdapterList.data() call, should this occur, so that the second time, we get back a good array.
Patch attached for review.
Created attachment 173248 [details]
updated patch
Attaching a better fix that synchronizes the data() method instead.
approved * Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug" (requested by an adopter) please document it as such.
If a user hits this, exceptions may be surfaced to them, their workspaces will likely have compilation errors, and they may also need to restart the adopter product in order to continue.
* Is there a work-around? If so, why do you believe the work-around is insufficient?
No known workaorunds.
* How has the fix been tested? Is there a test case attached to the bugzilla record? Has a JUnit Test been added?
This is an intermittant issue and was not reproducible. We have added defensive synchronization code that ensures that the potential race condition that led to the issue will not occur. Performed an end to end test (creation of artifacts, closing/opening projects, restarting the IDE) to ensure everything is working fine.
* Give a brief technical overview. Who has reviewed this fix?
This fix has been reviewed by Chuck Bridgham.
* What is the risk associated with this fix?
The fix is simple and risk is minimal.
Committed to HEAD for WTP 3.2.1 and WTP 3.3 |