Community
Participate
Working Groups
Build Identifier: 20110218-0911 The cause of the issue is that when you open the Project Facets Dialog several times (Without closing the (Static or Dynamic) Web Project Wizard), the FacetDetailsDialog is registered a listener in the FacetedProjectWorkingCopy's listeners map. When closed, the FacetDetailsDialog is not removed from this Map for event type FIXED_FACETS_CHANGED, so when you open and close the Project Facets Dialog a couple of times, a couple of disposed FacetDetailsDialog will remain in the listeners map, and when a FIXED_FACETS_CHANGED event occurs, it will notify to all the disposed FacetDetailsDialog, which causes the "Argument not valid" exception for each disposed FacetDetailsDialog. Reproducible: Always Steps to Reproduce: 1. Open the New Static Web Project Wizard 2. Click the Modify button to open the Project Facets Dialog 3. Close it. 4. Open the project Facets Dialog again. This time, add a new project facet and Lock it (Right click > Lock). 5. An Error with message "Argument not valid" will appear in the Error log.
Created attachment 197624 [details] exception Exception stack trace attached.
Will look into this for 3.3.1 release.
Created attachment 203193 [details] Proposed patch for R3_2_maintenance Hello Konstantin, I hope you do not mind, but I took the liberty to create a patch for this exception. I used as a base the R3_2_maintenance branch. Do you think it is possible to change the target to WTP 3.2.5 instead of 3.3.1?
The patch looks pretty good, but since the dispose listener is created in the same context as the listener that needs to be removed, it should be possible to tighten up the code by not creating a new class field and the handleDisposeEvent() method.
Also, don't forget to update the contribution header in the class.
Created attachment 203252 [details] Proposed patch for R3_2_maintenance (v2) Second version of the patch, following Konstantin's suggestions. I updated the contribution header, and removed the class field and the handleDisposeEvent() method.
Hi Konstantin, have you had time to take a look on the second patch? Thank you.
I am going to take a look and hopefully commit the patch when Indigo SR2 opens for development as I want to apply this to all branches at once.
Ok, sounds good. Thank you.
Hi, I think Indigo SR2 is now open, and PMC for 3.2.5 begins next week. It would be great if this defect can be handled this week before PMC.
(In reply to comment #8) > I am going to take a look and hopefully commit the patch when Indigo SR2 opens > for development as I want to apply this to all branches at once. SR2 is open. 3.2.5 starts its shutdown on 10/6, so PMC review would be needed then. Juno is open. So the best time to commit this would be before EOD 10/5.
Released fix to 3.2.x, 3.3.x and HEAD. Thanks!