imagej / imagej/imagej2

[modern mode] fail open an image after update

Open
#219 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.4k
Forks
350
PR merge metrics
No merged PRs in 30d

Description

Hello,
I just made an update with the internal update manager and since then time I cannot open an image and receive following error message:

```
[ERROR] Exception during event handling:
[Event] org.scijava.ui.dnd.event.DropEvent
context = org.scijava.Context@3d43fe
consumed = false
display = null
modifiers = null
x = 187
y = 40
data = org.scijava.ui.awt.AWTDragAndDropData@68c9eeb9
successful = false
[Subscriber] org.scijava.ui.dnd.DefaultDragAndDropService [priority = 0.0]
[Method] protected void org.scijava.ui.dnd.DefaultDragAndDropService.onEvent(org.scijava.ui.dnd.event.DropEvent)
java.lang.NullPointerException
at sun.awt.dnd.SunDropTargetContextPeer.getTransferDataFlavors(SunDropTargetContextPeer.java:196)
at sun.awt.datatransfer.TransferableProxy.getTransferDataFlavors(TransferableProxy.java:65)
at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferDataFlavors(DropTargetContext.java:344)
at org.scijava.ui.awt.AWTDragAndDropData.getMIMETypes(AWTDragAndDropData.java:109)
at org.scijava.ui.awt.AWTDragAndDropData.getMIMETypes(AWTDragAndDropData.java:54)
at org.scijava.ui.dnd.DragAndDropData.getMIMEType(DragAndDropData.java:81)
at org.scijava.ui.dnd.DragAndDropData.isSupported(DragAndDropData.java:57)
at org.scijava.ui.dnd.AbstractDragAndDropHandler.supportsData(AbstractDragAndDropHandler.java:56)
at org.scijava.ui.dnd.AbstractDragAndDropHandler.supportsData(AbstractDragAndDropHandler.java:63)
at org.scijava.ui.dnd.DragAndDropService.getHandler(DragAndDropService.java:115)
at org.scijava.ui.dnd.DragAndDropService.supports(DragAndDropService.java:60)
at org.scijava.ui.dnd.DefaultDragAndDropService.onEvent(DefaultDragAndDropService.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:301)
at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:275)
at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971)
at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:57)
at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:191)
at org.scijava.thread.DefaultThreadService.invoke(DefaultThreadService.java:114)
at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:185)
at org.scijava.event.DefaultEventBus.publishNow(DefaultEventBus.java:76)
at org.scijava.event.DefaultEventService.publish(DefaultEventService.java:105)
at org.scijava.ui.awt.AWTDropTargetEventDispatcher.drop(AWTDropTargetEventDispatcher.java:133)
at java.awt.dnd.DropTarget.drop(DropTarget.java:455)
at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:538)
at sun.awt.X11.XDropTargetContextPeer.processDropMessage(XDropTargetContextPeer.java:184)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:852)
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:776)
at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)
at java.awt.Component.dispatchEventImpl(Component.java:4746)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
```
ImageJ 2.0.0-rc-69/.52i
Java 1.8.0_172 [amb64]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at org.scijava.ui.awt.AWTDragAndDropData.getMIMETypes(), following the drop path through DragAndDropData.isSupported() and DefaultDragAndDropService.onEvent(). Reproduce the failure by dropping an image after the reported update; done means the drop no longer raises the NullPointerException and the image opens.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.