Opened 11 years ago
Last modified 10 years ago
#855 new defect
IZ51: ClassNotFoundException - PEWizardAction
Reported by: | zsiga | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | gui | Version: | 6.2u5 |
Severity: | Keywords: | Sun sge | |
Cc: |
Description
[Imported from gridengine issuezilla http://gridengine.sunsource.net/issues/show_bug.cgi?id=51]
Issue #: 51 Platform: Sun Reporter: zsiga (zsiga) Component: nbgui OS: All Subcomponent: sge Version: 6.2u5 CC: None defined Status: STARTED Priority: P3 Resolution: Issue type: DEFECT Target milestone: 6.2u6 Assigned to: zsiga (zsiga) QA Contact: andre URL: * Summary: ClassNotFoundException - PEWizardAction Status whiteboard: Attachments: Issue 51 blocks: Votes for issue 51: Vote for this issue Opened: Tue Dec 8 09:37:00 -0700 2009 ------------------------ Description: The following exception randomly appears: java.lang.ClassNotFoundException: Will not load classes from default package (PEWizardAction) To produce similar exception: A) Configure the following in layer.xml then run the app: <folder name="Toolbars"> <folder name="SGE Configuration"> <file name="PEWizardAction.instance"> </file> </folder> </folder> B)Let the Inspect run for a while (1/2 hour) without any user interaction. Then open the Customize Toolbars dialog (View -> Toolbars -> Customize...). The exception appears and SGE related actions do not have icons on the dialog. Evaluation: Suggested Fix: Most probably the problem is that the file objects created by the CustomLayerBuilder contains only the instance of the dynamic actions in the instanceCreate attribute and not the description how to create instance from scratch. So if the reference gets lost (WeakReference) there is no instruction in the layer.xml configuration how to recreate the object. It should rather define methodValue as instanceCreate attribute and the arguments needed to construct the proper combined action instance. Work Around: Restart Inspect. Analysis: The CustomLayerBuilder instantiates every action found in the Custom folder and constructs the Dynamic*Action accordingly. Then it passes this Dynamic*Action instance to the instanceCreate attribute of the file object. Instead implement a factory method in the Dynamic*Action classes which accept the related action list as arguments and let the framework instantiate it. How to test: ETC: 3PD ------- Additional comments from zsiga Mon Dec 14 03:13:05 -0700 2009 ------- Change milestone to 62u6.
Note: See
TracTickets for help on using
tickets.