You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sometimes when working on a class that inherits from nnet.layer.Layer (that's how MATLAB wants us to make custom layers1 for neural networks) some Java error appears (see details below). From what I can gather, it's related to a custom properties attribute that is derived in the parent class. I'd expect MEP to ignore it gracefully.
Long stack trace
java.lang.IllegalArgumentException: No enum constant at.mep.editor.tree.EAttributes.LEARNABLE
at java.lang.Enum.valueOf(Unknown Source)
at at.mep.editor.tree.EAttributes.valueOf(EAttributes.java:10)
at at.mep.editor.tree.MFile$Attributes$Attribute.getAttributeAsEAttribute(MFile.java:316)
at at.mep.gui.fileStructure.NodeFS.setAttributes(NodeFS.java:103)
at at.mep.gui.fileStructure.NodeFS.populateProperties(NodeFS.java:356)
at at.mep.gui.fileStructure.NodeFS.constructForClassDef(NodeFS.java:306)
at at.mep.editor.EditorWrapper.getNodeClass(EditorWrapper.java:747)
at at.mep.editor.EditorWrapper.updateFieldsForActiveEditor(EditorWrapper.java:150)
at at.mep.editor.EditorWrapper.getActiveEditorMTree(EditorWrapper.java:92)
at at.mep.editor.EditorWrapper.getMTreeFast(EditorWrapper.java:773)
at at.mep.editor.tree.MFile.construct(MFile.java:93)
at at.mep.gui.fileStructure.NodeFS.constructForClassDef(NodeFS.java:283)
at at.mep.gui.fileStructure.FileStructure.populate(FileStructure.java:325)
at at.mep.gui.fileStructure.FileStructure.populateTree(FileStructure.java:350)
at at.mep.editor.EditorApp.lambda$setCallbacks$0(EditorApp.java:220)
at com.mathworks.mde.editor.MatlabEditor.fireEditorEvent(MatlabEditor.java:538)
at com.mathworks.mde.editor.EditorViewClient$13.clientActivated(EditorViewClient.java:852)
at com.mathworks.widgets.desk.DTClient.fireClientEvent(DTClient.java:1440)
at com.mathworks.widgets.desk.DTClient.itemStateChanged(DTClient.java:1630)
at com.mathworks.widgets.desk.DTInternalFrame.setSelected(DTInternalFrame.java:364)
at com.mathworks.widgets.desk.DTClient.setSelected(DTClient.java:488)
at com.mathworks.widgets.desk.DTOccupant.setSelected(DTOccupant.java:822)
at com.mathworks.widgets.desk.DTDocumentContainer.setSelected(DTDocumentContainer.java:1070)
at com.mathworks.widgets.desk.DTDocumentContainer.setSelected(DTDocumentContainer.java:1036)
at com.mathworks.widgets.desk.DTGroup.setSelected(DTGroup.java:1077)
at com.mathworks.widgets.desk.DTSelectionManager.eventDispatched(DTSelectionManager.java:396)
at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit.notifyAWTEventListeners(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
1 No need to read the entire thing, just run this in the MATLAB command prompt:
@GavriYashar Are you sure that adding Learnable to the enum is a good idea? Learnable is merely an example of a a custom attribute that can appear in a MATLAB class (I say it's "custom" because it's not found in this list). I suspect there can be an endless amount of such attributes using the same mechanism (which is undocumented, as far as I can judge):
It's not necessary to add them. These are only used in FileStructure to display certain icons next to properties and functions. Currently only a small amount of these enumerations are used. Maybe I'll use more in the future, maybe not.
It does no harm if it is not used. Also if there is no attribute in these enumerations it will return INVALID and just keeps working. As it already did, but without displaying any errors regarding some missing Attributes.
This is a problem I encountered on R2018b.
Sometimes when working on a class that inherits from
nnet.layer.Layer
(that's how MATLAB wants us to make custom layers1 for neural networks) some Java error appears (see details below). From what I can gather, it's related to a customproperties
attribute that is derived in the parent class. I'd expect MEP to ignore it gracefully.Long stack trace
1 No need to read the entire thing, just run this in the MATLAB command prompt:
and look at the first
properties
block.The text was updated successfully, but these errors were encountered: