intellij-avro-parquet-plugin icon indicating copy to clipboard operation
intellij-avro-parquet-plugin copied to clipboard

Loading new file does not work

Open stelek opened this issue 2 years ago • 2 comments

On MAC, IntelliJ IDEA 2022.2.3 (Community Edition) Build #IC-222.4345.14, built on October 5, 2022 Runtime version: 17.0.4.1+7-b469.62 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 12.6 GC: G1 Young Generation, G1 Old Generation Memory: 8192M Cores: 10 Metal Rendering is ON Non-Bundled Plugins: uk.co.hadoopathome.intellij.avro.intellijavroviewer (3.0.0) org.jetbrains.kotlin (222-1.7.20-release-201-IJ4167.29) idea.plugin.protoeditor (222.4345.14) PythonCore (222.4345.14) org.intellij.scala (2022.2.16) org.asciidoctor.intellij.asciidoc (0.37.52)

Kotlin: 222-1.7.20-release-201-IJ4167.29

First time drag and drop for avro file works but consecutive attempts fail and you need to restart IDE for it to work again. Happens after this exception:

java.lang.NullPointerException: Cannot invoke "java.util.List.get(int)" because the return value of "java.awt.datatransfer.Transferable.getTransferData(java.awt.datatransfer.DataFlavor)" is null
	at uk.co.hadoopathome.intellij.viewer.FileViewerToolWindow$1.drop(FileViewerToolWindow.java:107)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:548)
	at java.desktop/sun.lwawt.macosx.CDropTargetContextPeer.processDropMessage(CDropTargetContextPeer.java:129)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:864)
	at java.desktop/sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:788)
	at java.desktop/sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4887)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4649)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4511)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2802)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:754)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:752)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:751)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:840)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:763)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

stelek avatar Oct 12 '22 15:10 stelek

Hello I'm afraid I can't recreate this with the same version of IntelliJ. Maybe it's something to do with Mac? Sadly I don't have any way of testing on Macs.

benwatson528 avatar Oct 13 '22 16:10 benwatson528

Hey Ben. Thanks for taking a look! This happens when you drag and drop file with the path that no longer exists (that happened to me when I tried to visualize some data and it was regenerated). In any case - I think you just need to catch an exception that is thrown from FileViewerToolWindow if file does not exist.

stelek avatar Oct 14 '22 22:10 stelek