intellij-csv-validator icon indicating copy to clipboard operation
intellij-csv-validator copied to clipboard

During column delete from CSV

Open NaimadTheOne opened this issue 4 years ago • 15 comments

java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 80 at java.base/java.util.Vector.elementData(Vector.java:762) at java.base/java.util.Vector.elementAt(Vector.java:500) at java.desktop/javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:295) at java.desktop/javax.swing.JTable.getCellRenderer(JTable.java:5689) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2184) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintDraggedArea(BasicTableUI.java:2160) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2115) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1883) at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:800) at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:395) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1077) at com.intellij.ui.table.JBTable.paint(JBTable.java:525) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5263) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333) at java.desktop/javax.swing.JComponent.paintForceDoubleBuffered(JComponent.java:1113) at java.desktop/javax.swing.JViewport.blitDoubleBuffered(JViewport.java:1727) at java.desktop/javax.swing.JViewport.windowBlitPaint(JViewport.java:1680) at java.desktop/javax.swing.JViewport.setViewPosition(JViewport.java:1220) at java.desktop/javax.swing.plaf.basic.BasicScrollPaneUI$Handler.vsbStateChanged(BasicScrollPaneUI.java:1147) at java.desktop/javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1136) at java.desktop/javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:371) at java.desktop/javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:309) at java.desktop/javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:175) at java.desktop/javax.swing.JScrollBar.setValue(JScrollBar.java:476) at net.seesharpsoft.intellij.plugins.csv.editor.table.swing.CsvTableEditorMouseWheelListener.mouseWheelMoved(CsvTableEditorMouseWheelListener.java:33) at java.desktop/java.awt.Component.processMouseWheelEvent(Component.java:6740) at java.desktop/java.awt.Component.processEvent(Component.java:6424) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4576) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2784) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:906) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

NaimadTheOne avatar Apr 26 '21 18:04 NaimadTheOne

Tried to delete column too, got the same error stacktrace.txt: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 10 at java.base/java.util.Vector.elementData(Vector.java:762) at java.base/java.util.Vector.elementAt(Vector.java:500) at java.desktop/javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:295) at java.desktop/javax.swing.JTable.getCellRenderer(JTable.java:5689) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2184) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintDraggedArea(BasicTableUI.java:2160) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2115) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1883) at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:800) at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:395) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1077) at com.intellij.ui.table.JBTable.paint(JBTable.java:525) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JViewport.paint(JViewport.java:701) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5263) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333) at java.desktop/javax.swing.JComponent.paintForceDoubleBuffered(JComponent.java:1113) at java.desktop/javax.swing.JViewport.paintView(JViewport.java:1757) at java.desktop/javax.swing.JViewport.windowBlitPaint(JViewport.java:1671) at java.desktop/javax.swing.JViewport.setViewPosition(JViewport.java:1220) at java.desktop/javax.swing.plaf.basic.BasicScrollPaneUI$Handler.vsbStateChanged(BasicScrollPaneUI.java:1147) at java.desktop/javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1136) at java.desktop/javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:371) at java.desktop/javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:309) at java.desktop/javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:175) at java.desktop/javax.swing.JScrollBar.setValue(JScrollBar.java:476) at net.seesharpsoft.intellij.plugins.csv.editor.table.swing.CsvTableEditorMouseWheelListener.mouseWheelMoved(CsvTableEditorMouseWheelListener.java:33) at java.desktop/java.awt.Component.processMouseWheelEvent(Component.java:6740) at java.desktop/java.awt.Component.processEvent(Component.java:6424) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4576) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:906) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

induced.txt: `Following exceptions happened soon after this one, most probably they are induced.

2021-04-26T23:50:56.788 java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 10 at java.base/java.util.Vector.elementData(Vector.java:762) at java.base/java.util.Vector.elementAt(Vector.java:500) at java.desktop/javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:295) at java.desktop/javax.swing.JTable.getCellRenderer(JTable.java:5689) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2184) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintDraggedArea(BasicTableUI.java:2160) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2115) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1883) at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:800) at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:395) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1077) at com.intellij.ui.table.JBTable.paint(JBTable.java:525) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JViewport.paint(JViewport.java:701) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5263) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333) at java.desktop/javax.swing.JComponent.paintForceDoubleBuffered(JComponent.java:1113) at java.desktop/javax.swing.JViewport.paintView(JViewport.java:1757) at java.desktop/javax.swing.JViewport.windowBlitPaint(JViewport.java:1671) at java.desktop/javax.swing.JViewport.setViewPosition(JViewport.java:1220) at java.desktop/javax.swing.plaf.basic.BasicScrollPaneUI$Handler.vsbStateChanged(BasicScrollPaneUI.java:1147) at java.desktop/javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1136) at java.desktop/javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:371) at java.desktop/javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:309) at java.desktop/javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:175) at java.desktop/javax.swing.JScrollBar.setValue(JScrollBar.java:476) at net.seesharpsoft.intellij.plugins.csv.editor.table.swing.CsvTableEditorMouseWheelListener.mouseWheelMoved(CsvTableEditorMouseWheelListener.java:33) at java.desktop/java.awt.Component.processMouseWheelEvent(Component.java:6740) at java.desktop/java.awt.Component.processEvent(Component.java:6424) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4576) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:906) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)`

uselessfire avatar Apr 26 '21 20:04 uselessfire

@NaimadTheOne @uselessfire Thanks for reporting! Unfortunately I can't reproduce the issue.

Can any of you provide some more details, like the used IDE & version, plugin version, and how did you try to delete a column, via keyboard shortcut? or via context menu? Did you select only one column or multiple? What kind of separator was in use? And does this error occur every time when deleting a column? Do your CSV/PSV/TSV settings differ from the defaults?

SeeSharpSoft avatar Apr 28 '21 07:04 SeeSharpSoft

@NaimadTheOne @uselessfire Thanks for reporting! Unfortunately I can't reproduce the issue.

Can any of you provide some more details, like the used IDE & version, plugin version, and how did you try to delete a column, via keyboard shortcut? or via context menu? Did you select only one column or multiple? What kind of separator was in use? And does this error occur every time when deleting a column? Do your CSV/PSV/TSV settings differ from the defaults?

PyCharm 2021.1.1 (Community Edition) Build #PC-211.7142.13, built on April 25, 2021 Runtime version: 11.0.10+11-b1428.2 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Linux 5.11.15-1-ck-haswell GC: G1 Young Generation, G1 Old Generation Memory: 750M Cores: 4 Registry: ide.appIcon.badge=false, ide.appIcon.requestAttention=false Non-Bundled Plugins: DBN (3.2.3225.0), com.intellij.ideolog (203.0.27.0), String Manipulation (8.15.203.000.2), net.seesharpsoft.intellij.plugins.csv (2.16.2), izhangzhihao.rainbow.brackets (6.17) Current Desktop: KDE

First time this bug appered in CSV Plugin 2.16.2, but after update to version 2.16.3 it still remains.

I tried to delete collumn via context menu (Right click on the number of column -> Delete selected collumn). Selected only one collumn. Separator was a comma. Bug occurs every time i tried to delete collumn. First time when error occurs PyCharm showed me window with crash info (i copied the information to this issue), but it never happened again. Now, after click on "Delete selected collumn", grafical interface of "Table editor" tab no longer responds (I can switch to "Text" tab of CSV file and work with it, but when switching to "Table editor", the same picture on screen remains).

The column is actually removed from the file after click, and if i restart PyCharm to fix a stuck interface of "Table editor", i can continue to work with csv file with this collumn deleted.

I can record my screen when bug occurs, if it helps. Sorry for bad English.

uselessfire avatar Apr 28 '21 22:04 uselessfire

T-2021 04 29_01:20:49_1 T-2021 04 29_01:21:20_1 This is my CSV/PSV/TSV settings, I don't know which ones are not default and how to find it out

uselessfire avatar Apr 28 '21 22:04 uselessfire

@uselessfire Thanks a lot! 👍 This is very helpful - I'll double check with PyCharm and the described setup. A screencast would be awesome though.

SeeSharpSoft avatar Apr 29 '21 08:04 SeeSharpSoft

Problem occur when I'm in table editor, delete column and then click on tab 'Text' and going back to 'Table Editor'

image

System info: IntelliJ IDEA 2021.1 (Ultimate Edition) Build #IU-211.6693.111, built on April 6, 2021 Runtime version: 11.0.10+9-b1341.35 amd64 VM: Dynamic Code Evolution 64-Bit Server VM by JetBrains s.r.o. Linux 5.11.15-051115-generic GC: ParNew, ConcurrentMarkSweep Memory: 3012M Cores: 12 Non-Bundled Plugins: com.intellij.plugins.gnomekeymap (203.5981.152), net.seesharpsoft.intellij.plugins.csv (2.16.3) Kotlin: 211-1.4.32-release-IJ6693.72 Current Desktop: ubuntu:GNOME

NaimadTheOne avatar Apr 29 '21 10:04 NaimadTheOne

https://user-images.githubusercontent.com/8333298/116579723-59c18d00-a91b-11eb-85a6-ce978045fcbc.mp4

Here is screen record (with some KDE glitches that are not actually visible on the screen)

uselessfire avatar Apr 29 '21 15:04 uselessfire

this is the file in which I deleted the column on the video shareholders.csv

uselessfire avatar Apr 29 '21 16:04 uselessfire

@uselessfire Thanks for the screencast and the file. However, locally I can handle that file quite fine: https://user-images.githubusercontent.com/3205800/116603138-e163c780-a92c-11eb-9b1b-c5160ef36171.mp4

(the screencast was window based, so the context menu popover wasn't recorded, but I basically did the very same steps)

The column you just deleted in your video wasn't part of the provided file, but I suppose you still experience the issue with the file as it is, right?

@NaimadTheOne Thanks as well for providing the information.

Unfortunately I still can't reproduce the issue, but I noticed that both of you working on Linux.

  • Does any of you have an easy way to give it a try on a Windows system?
  • @NaimadTheOne Do you face the same issue as @uselessfire with the provided -CSV-file](https://github.com/SeeSharpSoft/intellij-csv-validator/files/6400020/shareholders.csv)?

SeeSharpSoft avatar Apr 29 '21 19:04 SeeSharpSoft

@SeeSharpSoft issue occurs with any file (at least with the ones I've tried with). My file is just example. I send it to this issue after screencast record, so column was deleted from it. Anyway, deleting any other column from this file still causes this bug.

Unfortunately, I have no Windows to try with it.

uselessfire avatar Apr 29 '21 19:04 uselessfire

@SeeSharpSoft I can reprocude problem with file shareholders.csv.

After action Add/Delete column in Table editor panel and switch to Text panel and back to Table editor plugin dont response.

Plugin stop working after update intelliJ to 2021.1 -> csv plugin update was required.

[Update] I found idea.log :-)

2021-04-30 15:59:19,133 [111625655] ERROR - llij.ide.plugins.PluginManager - IntelliJ IDEA 2021.1 Build #IU-211.6693.111 2021-04-30 15:59:19,133 [111625655] ERROR - llij.ide.plugins.PluginManager - JDK: 11.0.10; VM: Dynamic Code Evolution 64-Bit Server VM; Vendor: JetBrains s.r.o. 2021-04-30 15:59:19,133 [111625655] ERROR - llij.ide.plugins.PluginManager - OS: Linux 2021-04-30 15:59:19,133 [111625655] ERROR - llij.ide.plugins.PluginManager - Last Action: net.seesharpsoft.intellij.plugins.csv.actions.CsvTableEditorActions$AddColumnAfter 2021-04-30 15:59:19,149 [111625671] ERROR - llij.ide.plugins.PluginManager - Index -1 out of bounds for length 10 java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 10 at java.base/java.util.Vector.elementData(Vector.java:762) at java.base/java.util.Vector.elementAt(Vector.java:500) at java.desktop/javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:295) at java.desktop/javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderRenderer(BasicTableHeaderUI.java:716) at java.desktop/javax.swing.plaf.basic.BasicTableHeaderUI.paintCell(BasicTableHeaderUI.java:732) at java.desktop/javax.swing.plaf.basic.BasicTableHeaderUI.paint(BasicTableHeaderUI.java:708) at com.intellij.ide.ui.laf.darcula.DarculaTableHeaderUI.paint(DarculaTableHeaderUI.java:60) at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:800) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1077) at com.intellij.ui.table.JBTable$JBTableHeader.paint(JBTable.java:1021) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JViewport.paint(JViewport.java:737) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at com.intellij.ui.tabs.impl.JBTabsImpl.paintChildren(JBTabsImpl.java:554) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at com.intellij.ui.tabs.impl.JBTabsImpl.paintChildren(JBTabsImpl.java:554) at com.intellij.openapi.fileEditor.impl.EditorTabbedContainer$EditorTabs.paintChildren(EditorTabbedContainer.java:659) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5263) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5211) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5021) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:868) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:851) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:851) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:826) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:775) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1901) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:969) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:492) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

NaimadTheOne avatar Apr 30 '21 14:04 NaimadTheOne

The bug still appears with CSV plugin version 2.17.1. PyCharm 2021.2.2

uselessfire avatar Oct 12 '21 12:10 uselessfire

I am really sorry, but I don't have any handle on this bug. I can't reproduce it, I don't have an indicator for the root cause, there is nothing in this plugins code that looks suspicious to cause this kind of issue. I suppose this needs someone, who can reproduce this issue, to debug it.

SeeSharpSoft avatar Oct 12 '21 17:10 SeeSharpSoft

The table editor in release 3.* has been reworked, all operations and related data handling changed completely. This issue should be gone for good - can you confirm? Thx! @uselessfire @NaimadTheOne

SeeSharpSoft avatar Nov 14 '22 14:11 SeeSharpSoft

I have updated plugin and it work. Good job @SeeSharpSoft

NaimadTheOne avatar Nov 16 '22 08:11 NaimadTheOne