Task #12232 (closed)
Opened 10 years ago
Closed 10 years ago
BUG: Delete (keyboard shortcut) enabled via insight : <Client crashes>
Reported by: | bramalingam | Owned by: | dlindner |
---|---|---|---|
Priority: | blocker | Milestone: | 5.0.2 |
Component: | Insight | Version: | 5.0.1 |
Keywords: | n.a. | Cc: | ux@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description (last modified by pwalczysko)
1) Create a new Group and a user.
2) Click on the group and press the delete key on the keyboard.
3) A pop-up comes up to check if you want to complete the action.
4) Press OK, and the Group and user gets deleted
Note:
1) If you log out of Admin(root) and then login with the new user once.
2) Then come back to the root user, without doing any actions on the new user.
3) Now if you try to delete the user via the keyboard shortcut, it does not allow you to delete.
*If you delete a user and try to open the 'User' tree, Client crashes, with the following error report (trying to fetch groups and fails)...
Note that you can delete just the user which you just created. (PW)
Also, note that this error has as a consequence corruption of the db - even when you close and reopen Insight and expand "user" group, the same crash happens again.
java.lang.Exception: Abnormal termination due to an uncaught exception.
java.lang.NullPointerException at pojos.ExperimenterData.getGroups(ExperimenterData.java:202) at pojos.ExperimenterData.isActive(ExperimenterData.java:280) at org.openmicroscopy.shoola.agents.treeviewer.util.TreeCellRenderer.setIcon(TreeCellRenderer.java:646) at org.openmicroscopy.shoola.agents.treeviewer.util.TreeCellRenderer.getTreeCellRendererComponent(TreeCellRenderer.java:741) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2718) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342) at javax.swing.tree.VariableHeightLayoutCache.createNodeAt(VariableHeightLayoutCache.java:764) at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted(VariableHeightLayoutCache.java:473) at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesInserted(BasicTreeUI.java:3795) at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted(DefaultTreeModel.java:499) at javax.swing.tree.DefaultTreeModel.nodesWereInserted(DefaultTreeModel.java:296) at javax.swing.tree.DefaultTreeModel.insertNodeInto(DefaultTreeModel.java:223) at org.openmicroscopy.shoola.agents.treeviewer.browser.BrowserUI.buildTreeNode(BrowserUI.java:1121) at org.openmicroscopy.shoola.agents.treeviewer.browser.BrowserUI.setLeavesViews(BrowserUI.java:2092) at org.openmicroscopy.shoola.agents.treeviewer.browser.BrowserComponent.setExperimenters(BrowserComponent.java:2091) at org.openmicroscopy.shoola.agents.treeviewer.AdminLoader.handleResult(AdminLoader.java:107) at org.openmicroscopy.shoola.env.data.events.DSCallAdapter.eventFired(DSCallAdapter.java:90) at org.openmicroscopy.shoola.env.data.views.BatchCallMonitor$1.run(BatchCallMonitor.java:124) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715) at java.awt.EventQueue.access$400(EventQueue.java:82) at java.awt.EventQueue$2.run(EventQueue.java:676) at java.awt.EventQueue$2.run(EventQueue.java:674) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) at java.awt.EventQueue.dispatchEvent(EventQueue.java:685) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Abnormal termination due to an uncaught exception. java.lang.NullPointerException at pojos.ExperimenterData.getGroups(ExperimenterData.java:202) at pojos.ExperimenterData.isActive(ExperimenterData.java:280) at org.openmicroscopy.shoola.agents.treeviewer.util.TreeCellRenderer.setIcon(TreeCellRenderer.java:646) at org.openmicroscopy.shoola.agents.treeviewer.util.TreeCellRenderer.getTreeCellRendererComponent(TreeCellRenderer.java:741) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2718) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342) at javax.swing.tree.VariableHeightLayoutCache.createNodeAt(VariableHeightLayoutCache.java:764) at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted(VariableHeightLayoutCache.java:473) at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesInserted(BasicTreeUI.java:3795) at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted(DefaultTreeModel.java:499) at javax.swing.tree.DefaultTreeModel.nodesWereInserted(DefaultTreeModel.java:296) at javax.swing.tree.DefaultTreeModel.insertNodeInto(DefaultTreeModel.java:223) at org.openmicroscopy.shoola.agents.treeviewer.browser.BrowserUI.buildTreeNode(BrowserUI.java:1121) at org.openmicroscopy.shoola.agents.treeviewer.browser.BrowserUI.setLeavesViews(BrowserUI.java:2092) at org.openmicroscopy.shoola.agents.treeviewer.browser.BrowserComponent.setExperimenters(BrowserComponent.java:2091) at org.openmicroscopy.shoola.agents.treeviewer.AdminLoader.handleResult(AdminLoader.java:107) at org.openmicroscopy.shoola.env.data.events.DSCallAdapter.eventFired(DSCallAdapter.java:90) at org.openmicroscopy.shoola.env.data.views.BatchCallMonitor$1.run(BatchCallMonitor.java:124) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715) at java.awt.EventQueue.access$400(EventQueue.java:82) at java.awt.EventQueue$2.run(EventQueue.java:676) at java.awt.EventQueue$2.run(EventQueue.java:674) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) at java.awt.EventQueue.dispatchEvent(EventQueue.java:685) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Exception in thread "AWT-EventQueue-0" at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.showErrorDialog(UserNotifierImpl.java:191) at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.notifyError(UserNotifierImpl.java:291) at org.openmicroscopy.shoola.env.AbnormalExitHandler.doTermination(AbnormalExitHandler.java:147) at org.openmicroscopy.shoola.env.AbnormalExitHandler.terminate(AbnormalExitHandler.java:85) at org.openmicroscopy.shoola.env.AWTExceptionHanlder.handle(AWTExceptionHanlder.java:99) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.awt.EventDispatchThread.handleException(EventDispatchThread.java:412) at java.awt.EventDispatchThread.processException(EventDispatchThread.java:318) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:312) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Change History (8)
comment:1 Changed 10 years ago by jburel
- Cc ux@… added; jmoore jamoore jmoore pwalczysko removed
- Description modified (diff)
- Milestone changed from Unscheduled to 5.0.3
comment:2 Changed 10 years ago by pwalczysko
- Description modified (diff)
- Milestone changed from 5.0.3 to 5.0.2
comment:3 Changed 10 years ago by pwalczysko
comment:4 Changed 10 years ago by jburel
- Owner changed from jburel to dlindner
Dominik: could you have a look at that one?
comment:5 Changed 10 years ago by dlindner
This would at least fix the NPE being thrown: https://github.com/dominikl/openmicroscopy/tree/delete_user_bug
But the underlying problem still exists: The described scenario could leave users without default group behind, which causes problems in other parts. Allow/Disable? group deletion in this case? Delete affected users as well?
Deletion of users, which have been logged in before: Just speculating, I guess after once being logged in, there are some db references to this user, so deletion from db is impossible. What to do, fiddling out all possible db references or just somehow just hide 'deleted' users?
comment:6 Changed 10 years ago by pwalczysko
@dlindner: You cannot delete a user in omero at all. That was always the case. Always forbidden. I would suggest to stick to the behaviour which is indicated by the contextual right-click menu = do not allow neither of the delete actions described in this ticket via Delete key just like it is the case with the contextual menu.
@jburel : Do I get it right ?
comment:7 Changed 10 years ago by jburel
Petr is right, the only action is to make a user inactive you cannot delete. The keys actions should match the ones of the contextual menu.
comment:8 Changed 10 years ago by dlindner
- Resolution set to fixed
- Status changed from new to closed
@jburel : @bramalingam asked me to revise the ticket - I did not realise you have revised it yourself in between - that is why I changed the Milestone - change back to 5.0.3 if you want, (although the DB is really irretrievably corrupted after this error).