This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | CME in core.execution.WindowTable | ||
---|---|---|---|
Product: | platform | Reporter: | _ tboudreau <tboudreau> |
Component: | Execution | Assignee: | Petr Nejedly <pnejedly> |
Status: | CLOSED WONTFIX | ||
Severity: | blocker | Keywords: | THREAD |
Priority: | P3 | ||
Version: | 3.x | ||
Hardware: | PC | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: | patch which could prevent the problem |
Description
_ tboudreau
2003-09-27 01:19:36 UTC
Created attachment 11736 [details]
patch which could prevent the problem
The WindowTable.windowMap is not synchronized properly. I attached simple patch adding sychronized keyword to methods modifying this variable which should prevent it. But I do not understand what the code itself does in core/execution so I a bit hesitate to commit it. More info on how to reproduce: - Create a main class that will - Create two JFrames - Attach listeners to each one, each of which will call System.exit(0) when the window is closed Run it with internal execution Close one or both windows (note also that closing one does not close the other, as it would with external execution - there's the underlying problem). You could leave this issue if we do plan to get rid of Internal Execution as a general feature. Probably also you could just not use Iterator, but that's really just hiding the bug and praying - synchronization is needed. What about just changing the code that constructs the list to something like List myList = Collections.synchronizedList(new ArrayList()) or whatever - it should be safe, and you can probably keep all the modifications in one place. changing owner dkonecny -> pnejedly *** Issue 47194 has been marked as a duplicate of this issue. *** Internal execution not supported anymore... closed |