Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sources not released from HDD when removed from Fiji #77

Open
martinschorb opened this issue Jan 27, 2020 · 33 comments
Open

Sources not released from HDD when removed from Fiji #77

martinschorb opened this issue Jan 27, 2020 · 33 comments
Labels
bug Something isn't working

Comments

@martinschorb
Copy link
Collaborator

Hi,

When I run SpimDataset > Open XML/HDF5 files it always add these to the existing sources list.
This is a bit annoying if I want to look at two different experiments at the same time. I have to do a full Fiji restart to get rid of the previous sources. When I try to delete all of them to get an empty sources list I get the following crash:

java.lang.IllegalArgumentException: node does not have a parent.
	at javax.swing.tree.DefaultTreeModel.removeNodeFromParent(DefaultTreeModel.java:254)
	at sc.fiji.bdvpg.scijava.services.ui.BdvSourceServiceUI.lambda$updateSpimDataFilterNodes$10(BdvSourceServiceUI.java:329)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at sc.fiji.bdvpg.scijava.services.ui.BdvSourceServiceUI.updateSpimDataFilterNodes(BdvSourceServiceUI.java:327)
	at sc.fiji.bdvpg.scijava.services.ui.BdvSourceServiceUI.remove(BdvSourceServiceUI.java:418)
	at sc.fiji.bdvpg.scijava.services.BdvSourceAndConverterService.remove(BdvSourceAndConverterService.java:162)
	at sc.fiji.bdvpg.scijava.command.source.SourcesRemoverCommand.run(SourcesRemoverCommand.java:23)
	at org.scijava.command.CommandModule.run(CommandModule.java:199)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
	at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

killing the whole BDV and requiring a Fiji restart.

@NicoKiaru
Copy link
Collaborator

Thanks for reporting. Removing all sources should work indeed. I can have a look on wednesday.

@NicoKiaru
Copy link
Collaborator

Found the bug. I'll try to release to the update site today. Again, thanks for reporting

@NicoKiaru
Copy link
Collaborator

When Imagej.net will be up, I'll release v0.1.1 that solves this issue -> all sources can be deleted

@martinschorb
Copy link
Collaborator Author

I just updated from the Fiji update site and still get an error:

[ERROR] Module threw exception
java.lang.IllegalArgumentException: node does not have a parent.
	at javax.swing.tree.DefaultTreeModel.removeNodeFromParent(DefaultTreeModel.java:254)
	at sc.fiji.bdvpg.scijava.services.ui.BdvSourceServiceUI.lambda$updateSpimDataFilterNodes$10(BdvSourceServiceUI.java:329)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at sc.fiji.bdvpg.scijava.services.ui.BdvSourceServiceUI.updateSpimDataFilterNodes(BdvSourceServiceUI.java:327)
	at sc.fiji.bdvpg.scijava.services.ui.BdvSourceServiceUI.remove(BdvSourceServiceUI.java:418)
	at sc.fiji.bdvpg.scijava.services.BdvSourceAndConverterService.remove(BdvSourceAndConverterService.java:162)
	at sc.fiji.bdvpg.scijava.command.source.SourcesRemoverCommand.run(SourcesRemoverCommand.java:23)
	at org.scijava.command.CommandModule.run(CommandModule.java:199)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
	at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

@NicoKiaru
Copy link
Collaborator

NicoKiaru commented Feb 5, 2020

Hum weird, which version do you have ? If you go to jars folder ?

@NicoKiaru NicoKiaru reopened this Feb 5, 2020
@martinschorb
Copy link
Collaborator Author

that's
fiji-plugin-bigDataProcessor2-0.3.10
bigdataviewer-playground-0.1.1

@NicoKiaru
Copy link
Collaborator

I can't reproduce it. Check that you take bigdataviewer-playground-0.1.1 from the update site (test with a fresh fiji if necessary). Maybe upload the dataset somewhere, to share it with me (one where you are sure it's failing).

What I do exactly:

  • I open 2 xml hdf5 files
  • show them in a window
  • select with ctrl + a all sources in the tree
  • right-click select Delete Sources

And that works in my hands

Otherewise we can try to schedule a small skype session. Maybe tomorrow ?

@NicoKiaru
Copy link
Collaborator

NicoKiaru commented Feb 6, 2020

@martinschorb I've pushed a new version to the update site . Please try it and let me know.

Just FYI : there was really a version issue because the line mentioned in your error is not correct. It was the correct line in version 0.1.0 but not in 0.1.1.

After FIJI update you should have the version 0.1.2 of bdv-playground.

Please check this and if you still have this error, please report.

@martinschorb
Copy link
Collaborator Author

It seems to go further now. All sources are deleted,

however I still get errors for some...

SourceAndConverterBdvDisplayService:Removing converter setup ...
SourceAndConverterBdvDisplayService:Remove source bdv.viewer.SourceAndConverter@71f53dd2 indexed 1 in BdvHandle null
SourceAndConverterBdvDisplayService:Removing converter setup ...
Exception in thread "AWT-EventQueue-0" SourceAndConverterBdvDisplayService:Remove source bdv.viewer.SourceAndConverter@39eb197 indexed 1 in BdvHandle null
java.lang.ArrayIndexOutOfBoundsException: 14 >= 14
SourceAndConverterBdvDisplayService:Removing converter setup ...	at java.util.Vector.elementAt(Vector.java:477)

	at javax.swing.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:245)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextIndex(VariableHeightLayoutCache.java:1758)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextObject(VariableHeightLayoutCache.java:1708)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1699)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1653)
	at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1183)
	at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:169)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(JComponent.java:780)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	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:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	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)
SourceAndConverterBdvDisplayService:Remove source bdv.viewer.SourceAndConverter@7c106b1a indexed 1 in BdvHandle null
SourceAndConverterBdvDisplayService:Removing converter setup ...
SourceAndConverterBdvDisplayService:Remove source bdv.viewer.SourceAndConverter@71292e43 indexed 1 in BdvHandle null
SourceAndConverterBdvDisplayService:Removing converter setup ...
SourceAndConverterBdvDisplayService:Remove source bdv.viewer.SourceAndConverter@1f4dfc00 indexed 1 in BdvHandle null
SourceAndConverterBdvDisplayService:Removing converter setup ...
SourceAndConverterBdvDisplayService:Remove source bdv.viewer.SourceAndConverter@23c8f346 indexed 1 in BdvHandle null
SourceAndConverterBdvDisplayService:Removing converter setup ...
SourceAndConverterBdvDisplayService:Remove source bdv.viewer.SourceAndConverter@225f1870 indexed 1 in BdvHandle null
SourceAndConverterBdvDisplayService:Removing converter setup ...

@NicoKiaru
Copy link
Collaborator

Thanks for testing.

If the sources are not displayed, do you still get the error ?

Can you share a minimal dataset making this bug or is it too complicated ?

@martinschorb
Copy link
Collaborator Author

martinschorb commented Feb 7, 2020

OK,

SourceAndConverterBdvDisplayService:Create locations display of sourceandconverter of m_120
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
	at java.util.Vector.elementAt(Vector.java:477)
	at javax.swing.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:245)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextIndex(VariableHeightLayoutCache.java:1758)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextObject(VariableHeightLayoutCache.java:1708)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1699)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1653)
	at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1183)
	at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:169)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(JComponent.java:780)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	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:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	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)

@martinschorb
Copy link
Collaborator Author

Hold on,

does not happen with a naked Fiji.

I need to test which other Plugin causes the Problem. I hope it's none of @tischi 's

@NicoKiaru
Copy link
Collaborator

It's one of those terrible random bug. I think it still comes from the playground. I experience some issues also.

I think it's a problem of synchronization between the rendering and the data modification.

I'll try to see what can be done.

@martinschorb
Copy link
Collaborator Author

Well,
at least I had it working for once ;-) without an error. So there is progress...

@NicoKiaru
Copy link
Collaborator

I've done some modifications and pushed to the update site @martinschorb . Let me know how that goes!

Best

@martinschorb
Copy link
Collaborator Author

Hi,

no huge progress...

java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
	at java.util.Vector.elementAt(Vector.java:477)
	at javax.swing.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:245)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextIndex(VariableHeightLayoutCache.java:1758)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextObject(VariableHeightLayoutCache.java:1708)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1699)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1653)
	at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1183)
	at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:169)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(JComponent.java:780)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	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:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	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)

@NicoKiaru
Copy link
Collaborator

Just make sure that you restarted FIJI after the update and that you have version 0.1.4. I encounteered some errors, but not of this kind. weird.

@martinschorb
Copy link
Collaborator Author

OK,

tried now several times including restarts...

It seems to work now without errors.

However, if I delete the sources while they are still shown in a bdv window, I get:

Exception in thread "PainterThread" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
	at java.util.ArrayList.rangeCheck(ArrayList.java:657)
	at java.util.ArrayList.get(ArrayList.java:433)
	at java.util.Collections$UnmodifiableList.get(Collections.java:1311)
	at bdv.viewer.render.MultiResolutionRenderer.createProjector(MultiResolutionRenderer.java:648)
	at bdv.viewer.render.MultiResolutionRenderer.paint(MultiResolutionRenderer.java:496)
	at bdv.viewer.ViewerPanel.paint(ViewerPanel.java:485)
	at net.imglib2.ui.PainterThread.run(PainterThread.java:86)

or when I delete the sources with the right click inside the bdv window:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3 >= 3
	at java.util.Vector.elementAt(Vector.java:477)
	at javax.swing.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:245)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextIndex(VariableHeightLayoutCache.java:1758)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.updateNextObject(VariableHeightLayoutCache.java:1708)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1699)
	at javax.swing.tree.VariableHeightLayoutCache$VisibleTreeStateNodeEnumeration.nextElement(VariableHeightLayoutCache.java:1653)
	at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1183)
	at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:169)
	at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(JComponent.java:780)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	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:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	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)

@NicoKiaru
Copy link
Collaborator

But you can still continue to work ?

Indeed I have been struggling to avoid this issue, but I couldn't find a proper (or even a dirty) solution. But if you can continue to work, I think I will let it like that and hopefully this will be solved with the new interface by Tobias.

@martinschorb
Copy link
Collaborator Author

That's OK I guess...

@NicoKiaru
Copy link
Collaborator

Now so the new interface is there, can you check if this but still occurs @martinschorb ?

I don't remember exactly what was the issue, but with a bit of luck this should be solved now

@NicoKiaru
Copy link
Collaborator

Closing this, just reopen it if it occurs again, I hope the new UI and state solved it

@martinschorb
Copy link
Collaborator Author

One slightly annoying behaviour:

  • it crashes when sources are deleted that are still shown in a BDV window.

Can you check this before deleting and then show a warning?

@NicoKiaru
Copy link
Collaborator

One slightly annoying behaviour:
😄

Yep I will maintain this open because it's not nice.

@NicoKiaru
Copy link
Collaborator

And the new UI and state didn't solve it, it's the tree UI in bdv playground which is the issue

@martinschorb
Copy link
Collaborator Author

Hi,

I also noticed that deleting sources from BDV does not remove the data from memory.

  • I delete all sources
  • I cannot delete the h5 file, because ImageJ/Java is still accessing it
  • I can however modify the h5 (weird..?) and write new stuff into it.
  • When I then try to load the modified file, BDV crashes (full Java freeze), because it tries to read from the old structure that no longer exists.

So deleting sources from the BDV sources lists needs to make sure that the file is released/closed from Java.

@martinschorb
Copy link
Collaborator Author

Only fully closing Fiji releases the files btw...

@NicoKiaru NicoKiaru reopened this Apr 30, 2020
@NicoKiaru
Copy link
Collaborator

Hi @martinschorb ,

Can you try to see if you have the same behaviour with a fresh Fiji and using the original BigDataViewer plugin ? If yes, that's something we need to report in bigdataviewer-core.

Thanks!

@martinschorb
Copy link
Collaborator Author

I don't quite understand how I can add multiple source to "traditional" BDV. I had a thorough look. Also there is no option of deleting them...

@NicoKiaru
Copy link
Collaborator

Sorry, just a single dataset. Just open it and close the window. Are the files released then ?

If the window is closed, the files should be released, but I fear they aren't released, even in such a simple case.

@martinschorb
Copy link
Collaborator Author

Hi,

I did some testing...

  • On Mac it looks like release is not important. (deleting works with both built-in BDV and Playground).

  • On Windows, you are right. Even "normal" BDV does not release the file when you close the window.

@NicoKiaru
Copy link
Collaborator

Good to know! That's something we need to mention in bdv-core. I'll post an issue

@NicoKiaru
Copy link
Collaborator

@NicoKiaru NicoKiaru changed the title adding/deleting sources Sources not released from HDD when removed from Fiji Sep 27, 2021
@NicoKiaru NicoKiaru added the bug Something isn't working label Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants