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

Address melting-pot incompatibilities to facilitate 32.0.0 final release #199

Closed
6 of 8 tasks
ctrueden opened this issue May 10, 2022 · 14 comments
Closed
6 of 8 tasks
Assignees
Milestone

Comments

@ctrueden
Copy link
Member

ctrueden commented May 10, 2022

This is a catch-all issue to keep track of problems across the SciJava component collection which must be resolved in order to regain harmony across the bill of materials. Please edit this summary with issues as they are discovered.

@ctrueden ctrueden added this to the next-release milestone May 10, 2022
@scijava scijava deleted a comment from tischi May 19, 2022
@ctrueden ctrueden modified the milestones: next-release, 32.0.0 Jul 25, 2022
@imagesc-bot
Copy link

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/timeline-for-the-next-fiji-update/69640/3

@imagesc-bot
Copy link

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/timeline-for-the-next-fiji-update/69640/4

@ctrueden
Copy link
Member Author

ctrueden commented Aug 16, 2022

2022-08-16 status update

Fixed but release needed

Compile errors (API breakage)

Test errors (behavior breakage)

  • net.imagej/imagej-legacy -- ij version skew -- ImageJ 1.53h breaks line bounds imagej/imagej-legacy#279
  • org.janelia.saalfeldlab/n5-aws-s3 -- The specified bucket does not exist
  • org.scijava/scripting-kotlin -- kotlin version skew
  • sc.fiji/KymographBuilder -- ij or imagej-legacy version skew -- javassist.NotFoundException: ij.plugin.MacAdapter
  • sc.fiji/labkit-pixel-classification -- CLIJ2 problem: Error while checking the CLIJ2 installation: null
  • org.janelia.saalfeldlab/n5-viewer_fiji -- java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
    • HACK: add xml-apis dependency (just depending on new pom-scijava 32 doesn't fix it, maybe because some dependency upstream already has xml-apis excluded by its use of an older pom-scijava)

EJML 0.24 -> 0.25

  • net.imglib2/imglib2-realtransform -- java.lang.NoSuchMethodError: org.ejml.factory.LinearSolverFactory.linear(I)Lorg/ejml/factory/LinearSolver
  • jitk/jitk-tps -- no such class org.ejml.factory.LinearSolver

502 Bad Gateway from dl.bintray.com

  • sc.fiji/FS_Align_TrakEM2
  • sc.fiji/Reconstruct_Reader
  • sc.fiji/T2-NIT
  • sc.fiji/T2-TreelineGraph
  • sc.fiji/TrakEM2_
  • sc.fiji/TrakEM2_Archipelago
  • sc.fiji/blockmatching_
  • sc.fiji/register_virtual_stack_slices
  • sc.fiji/z_spacing

@tpietzsch
Copy link
Member

@ctrueden trackmate-sc/MaMuT#31 fixes trackmate-sc/MaMuT#30

I released MaMuT-7.0.6 with the fix.

@ctrueden
Copy link
Member Author

@tpietzsch Do you have time to fix bigdataviewer-server today or tomorrow?

@tpietzsch
Copy link
Member

@tpietzsch Do you have time to fix bigdataviewer-server today or tomorrow?

Sure!

@ctrueden
Copy link
Member Author

@tpietzsch Thanks! This diff should be enough to find the problems:

diff --git a/pom.xml b/pom.xml
index 5643f41..09d9b1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
        <parent>
                <groupId>org.scijava</groupId>
                <artifactId>pom-scijava</artifactId>
-               <version>28.0.0</version>
+               <version>32.0.0-beta-5</version>
                <relativePath />
        </parent>

@@ -86,12 +86,6 @@

                <commons-cli.version>1.2</commons-cli.version>
                <stringtemplate.version>3.2.1</stringtemplate.version>
-
-               <!-- TODO: Remove these version pins and update the code. -->
-               <bigdataviewer-core.version>9.0.3</bigdataviewer-core.version>
-               <imglib2.version>5.9.0</imglib2.version>
-               <imglib2-cache.version>1.0.0-beta-13</imglib2-cache.version>
-               <spim_data.version>2.2.4</spim_data.version>
        </properties>

        <repositories>

@ctrueden
Copy link
Member Author

2022-08-18 status update

SOLVED

  • scifio-ome-xml -- released 0.17.1
  • imagej-omero -- released 1.0.0-5.5
  • imagej-omero-legacy -- released 1.0.0-5.5
  • sc.fiji:MaMuT -- released 7.0.6
  • org.janelia.saalfeldlab/n5-aws-s3 -- SKIP TESTS (The specified bucket does not exist)
  • sc.fiji/labkit-pixel-classification -- SKIP TESTS (Error while checking the CLIJ2 installation: null)
  • org.janelia.saalfeldlab/n5-blosc -- SKIP TESTS (java.lang.UnsatisfiedLinkError: Unable to load library 'blosc')
  • org.janelia.saalfeldlab/n5-zarr -- SKIP TESTS (java.lang.UnsatisfiedLinkError: Unable to load library 'blosc')

Fixed but release needed

Compile errors (API breakage)

  • sc.fiji/bigdataviewer-server -- missing dependencies: net.imglib2:imglib2-ui, commons-lang:commons-lang

Test errors (behavior breakage)

  • net.imagej/imagej-legacy -- ij version skew -- ImageJ 1.53h breaks line bounds imagej/imagej-legacy#279
  • org.scijava/scripting-kotlin -- kotlin version skew
  • sc.fiji/KymographBuilder -- ij or imagej-legacy version skew -- javassist.NotFoundException: ij.plugin.MacAdapter (affects macOS ONLY)
  • org.janelia.saalfeldlab/n5-viewer_fiji -- java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal -- needs to inherit xml-apis as a dependency

EJML 0.24 -> 0.25

  • net.imglib2/imglib2-realtransform -- java.lang.NoSuchMethodError: org.ejml.factory.LinearSolverFactory.linear(I)Lorg/ejml/factory/LinearSolver
  • jitk/jitk-tps -- no such class org.ejml.factory.LinearSolver

502 Bad Gateway from dl.bintray.com (see morphonets/SNT#108)

  • sc.fiji/FS_Align_TrakEM2
  • sc.fiji/Reconstruct_Reader
  • sc.fiji/T2-NIT
  • sc.fiji/T2-TreelineGraph
  • sc.fiji/TrakEM2_
  • sc.fiji/TrakEM2_Archipelago
  • sc.fiji/blockmatching_
  • sc.fiji/register_virtual_stack_slices
  • sc.fiji/z_spacing

@tpietzsch
Copy link
Member

@ctrueden I fixed bigdataviewer-server and released bigdataviewer-server-3.1.0

@ctrueden
Copy link
Member Author

2022-08-23 status update

  • org.morphonets:SNT:4.1.2 has rejoined the SciJava BOM (dd8ee11)
  • sc.fiji:H5J_Loader_Plugin has been updated to FFMPEG 4.2.1-1.5.2 (fiji/H5J_Loader_Plugin@ed78e51) – this was necessary because scenery depends on that version of FFMPEG, whereas previously this plugin (and therefore Fiji) depended on the older FFMPEG version 4.1-1.4.4. New release of the plugin is forthcoming, pending a fix for the project's Linux-based CI.
  • org.scijava:pom-scijava-base:15.0.3 (should have been 15.1.0, oops) released with new platform properties.
  • org.scijava:pom-scijava:32.0.0-beta-6 released based on the new pom-scijava-base, and with version updates bigdataviewer-server 3.1.0, n5-hdf5 1.4.2, and SNT readded.

Next on my list is to examine TrakEM2 and its dependency on SNT, and decide the best way forward there.

@ctrueden
Copy link
Member Author

2022-08-25 status update

Today I fixed TrakEM2 to depend on SNT only optionally, and at version 4.1.2, updating the TrakEM2 code to account for backwards-incompatible changes in SNT (trakem2/TrakEM2@6f979cb). I could not test runtime behavior because I do not know how to create a situation in TrakEM2 where the SNT tracer gets invoked. I think it has something to do with left mouse clicking with the pencil tool, but I was not able to trigger the logic with a few minutes of experimentation. I would appreciate help from others (@tferr @acardona @axtimwalde) in testing this update.

List of new releases today facilitating BOM harmony:

  • sc.fiji:SPIM_Registration:5.0.23
  • jitk:jitk-tps:3.0.3
  • org.scijava:scripting-kotlin:0.2.1
  • net.imagej:ij:1.53t
  • sc.fiji:TrakEM2:1.3.7

Here are all the components which still fail the mega-melt, why, and how to fix them:

Component What's wrong How to fix
net.imagej:imagej-legacy Still two ROI-bounds-related failing tests, despite the merger of imagej/ImageJ#171 and subsequent release of net.imagej:ij:1.53t including that fix. Needs further investigation.
org.janelia.saalfeldlab:n5-viewer_fiji java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal Needs to inherit xml-apis:xml-apis as a dependency; already released sc.fiji:SPIM_Registration:5.0.23 to facilitate this, but sc.fiji:n5-viewer_fiji needs an update to pom-scijava 32.0.0-beta-7 (forthcoming) and subsequent release
org.morphonets:SNT Melted against a too-old version of ffmpeg: 4.1-1.4.4 instead of 4.2.1-1.52 Release new version of sc.fiji:H5J_Loader_Plugin, which has already been updated to the newer ffmpeg; but we need to fix H5J_Loader_Plugin's CI build first (no jniavdevice in java.library.path)
sc.fiji:Trainable_Segmentation three failing tests Needs further investigation to determine which component update broke behavior.
sc.fiji:fiji java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal Same problem as n5-viewer_fiji; needs an update to pom-scijava 32.0.0-beta-7 and subsequent release
sc.fiji:labkit-ui java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal Same problem as n5-viewer_fiji; needs xml-apis:xml-apis on its runtime classpath

@ctrueden
Copy link
Member Author

The pom-scijava 32.0.0 release is complete! Released in conjunction: net.imagej:imagej:2.6.0 and sc.fiji:fiji:2.6.0. 🍻

Here's how the remaining BOM harmony issues were resolved, plus other new releases that happened today along the way:

Component Resolution
imagej-legacy 0.39.0 released with fixed unit tests (thanks @hinerm)
n5-viewer filed saalfeldlab/n5-viewer#26; no release needed in the meantime
SNT released H5J_Loader_Plugin 1.1.4 updating FFMPEG version; no new SNT release needed
Trainable_Segmentation ImageJ 1.53t breaks three tests; the problematic patch is imagej/ImageJ@0f942ad; no resolution yet, TWS results with ImageJ 1.53t may be impacted
labkit-ui filed juglab/labkit-ui#94; no release needed in the meantime
scripting-beanshell 0.4.1 released fixing erroneous claim on .java source files
batch-processor 0.4.2 released with SciJava task service integration (thanks @NicoKiaru)
imagej-legacy 0.39.0 released with SciJava task service integration (thanks @NicoKiaru) and various fixes (thanks @hinerm @maarzt @imagejan @gselzer)
scijava-ui-swing 0.15.0 released with SciJava task service integration (thanks @NicoKiaru) and enum fix (thanks @imagejan) plus number widget step size fix

Next, I will create tarballs of Fiji 2.6.0 for user & developer testing, before uploading JARs to the production update site. Please follow this forum thread if you are interested in being part of that.

@tferr
Copy link
Contributor

tferr commented Aug 30, 2022

@ctrueden, @axtimwalde , @acardona :
I tested very quickly the latest trakEM2 and SNT master branches and everything seems to work as expected. Here is a snapshot of a trakEM2 polyline traced by SNT:

image

For reference, this is what I did after compiling both projects:

  1. Import the Seg.tar.bz2 demo project into TrakEM2
  2. In the "Template" pane: Right-click on "brain" and choose "New child -> polyline"
  3. In the "Project objects pane: Right-click on "brain" and choose "add... -> polyline"
  4. Locate a layer with something to trace (you may need to hide existing annotations using H)
  5. Select the Pencil tool. In the Tool options tab, select 'invert image' under "semiautomatic neurite tracer"
  6. Click along the structure
  7. The log window will report SNT path finding (this zealous logging seems quite distracting, but I think it has always been like that!?)

TLDR;: I would consider this fully functional. Awesome work Curtis (like always), on behalf of all the neuroanatomists out there, thank you so much for keeping all this alive!

@acardona
Copy link
Contributor

And again, thanks so much for testing this feature and keeping it alive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants