QuPath 0.2.0 debug logs [resolved]

I am on Win 10, when I launch QuPath 0.2.0 with debug console this is what I get, I see few warnings and a few exceptions ! is this okay to ignore ?


12:37:19.196 [JavaFX Application Thread] [WARN ] qupath.lib.gui.QuPathGUI - No directory set for log files! None will be written.
12:37:19.201 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - QuPath build: Version: 0.2.0
Build time: 2020-05-30, 16:55
Latest commit tag: 'a0375632'
12:37:19.204 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Setting tile cache size to 8184.00 MB (25.0% max memory)
12:37:20.046 [JavaFX Application Thread] [INFO ] q.l.i.s.b.BioFormatsOptionsExtension - Bio-Formats version 6.5.0
12:37:20.049 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Bio-Formats server options (Bio-Formats 6.5.0) (10 ms)
12:37:20.050 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Experimental commands (0 ms)
12:37:20.078 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Experimental commands (28 ms)
12:37:20.117 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension ImageJ extension (38 ms)
12:37:20.131 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension JPen extension (14 ms)
Jun 01, 2020 12:37:20 PM jpen.provider.NativeLibraryLoader$4 run
INFO: loading JPen 2-150301 JNI library: jpen-2-3-64 ...
Jun 01, 2020 12:37:20 PM jpen.provider.NativeLibraryLoader$4 logOnFail
INFO: jpen-2-3-64 couldn't be loaded
Jun 01, 2020 12:37:20 PM jpen.provider.NativeLibraryLoader load
INFO: no suitable JNI library found
Warning: Could not load Loader: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]
12:37:20.304 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Rich script editor extension (173 ms)
12:37:20.305 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension SVG export commands (1 ms)
12:37:20.432 [JavaFX Application Thread] [INFO ] q.l.i.s.o.OpenslideServerBuilder - OpenSlide version 3.4.1
Exception code=0xc0000005 flags=0x0 at 0x000002A3807B59AD. Access violation - attempting to read data at address 0x000002A3EF040008
Warning: Could not load Pointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]
12:37:20.491 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathApp - Starting QuPath with parameters: []
Exception code=0xc0000005 flags=0x0 at 0x000002A380E2E7D7. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A380799159. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A387CEF203. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A380E6373E. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A387D51FA3. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A387DC0F33. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A387DDBE5C. Access violation - attempting to read data at address 0x0000000000000008
Exception code=0xc0000005 flags=0x0 at 0x000002A387BC57DC. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A387EAE3DC. Access violation - attempting to read data at address 0x000002A3EF040008
Exception code=0xc0000005 flags=0x0 at 0x000002A387BB90CF. Access violation - attempting to read data at address 0x000002A3EF040008
Warning: Could not load DoublePointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]
Warning: Could not load IntPointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]

Mostly yes - most of those look normal to me.

Do the access violation messages happen every time? Not sure I’ve seen them before. It might be some weirdness while OpenCV is initialising, but I don’t know for sure.

On the next run, I get fewer exceptions !

12:50:43.834 [JavaFX Application Thread] [WARN ] qupath.lib.gui.QuPathGUI - No directory set for log files! None will be written.
12:50:43.840 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - QuPath build: Version: 0.2.0
Build time: 2020-05-30, 16:55
Latest commit tag: 'a0375632'
12:50:43.842 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Setting tile cache size to 8184.00 MB (25.0% max memory)
12:50:44.664 [JavaFX Application Thread] [INFO ] q.l.i.s.b.BioFormatsOptionsExtension - Bio-Formats version 6.5.0
12:50:44.667 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Bio-Formats server options (Bio-Formats 6.5.0) (10 ms)
12:50:44.668 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Experimental commands (1 ms)
12:50:44.694 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Experimental commands (26 ms)
12:50:44.720 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension ImageJ extension (26 ms)
12:50:44.737 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension JPen extension (17 ms)
Jun 01, 2020 12:50:44 PM jpen.provider.NativeLibraryLoader$4 run
INFO: loading JPen 2-150301 JNI library: jpen-2-3-64 ...
Jun 01, 2020 12:50:44 PM jpen.provider.NativeLibraryLoader$4 logOnFail
INFO: jpen-2-3-64 couldn't be loaded
Jun 01, 2020 12:50:44 PM jpen.provider.NativeLibraryLoader load
INFO: no suitable JNI library found
Warning: Could not load Loader: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]
12:50:44.897 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension Rich script editor extension (160 ms)
12:50:44.898 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathGUI - Loaded extension SVG export commands (0 ms)
12:50:45.028 [JavaFX Application Thread] [INFO ] q.l.i.s.o.OpenslideServerBuilder - OpenSlide version 3.4.1
Warning: Could not load Pointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]
Exception code=0xc0000005 flags=0x0 at 0x000001EC3B27E5BC. Access violation - attempting to read data at address 0x000001EC2FDE0008
12:50:45.086 [JavaFX Application Thread] [INFO ] qupath.lib.gui.QuPathApp - Starting QuPath with parameters: []
Exception code=0xc0000005 flags=0x0 at 0x000001EC3B230E30. Access violation - attempting to read data at address 0x0000000000000008
Exception code=0xc0000005 flags=0x0 at 0x000001EC3B29CB5D. Access violation - attempting to read data at address 0x000001EC2FDE0008
Warning: Could not load DoublePointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]
Warning: Could not load IntPointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\Users\zalavaa\AppData\Local\QuPath-0.2.0\app, C:\Users\zalavaa\AppData\Local\QuPath-0.2.0]

I just tested it on my win10 system and got no errors. The only warnings I got were unsatisfied link errors stating no jnijavacpp in java.library.path.

Warning: Could not load Loader: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\QuPath-0.2.0\app, C:\QuPath-0.2.0]
Warning: Could not load Pointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\QuPath-0.2.0\app, C:\QuPath-0.2.0]
Warning: Could not load DoublePointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\QuPath-0.2.0\app, C:\QuPath-0.2.0]
10:04:04.102 [qupathgui-1] [INFO ] qupath.lib.gui.QuPathGUI - Current version 0.2.0, latest stable release 0.2.0 - nothing to update
Warning: Could not load IntPointer: java.lang.UnsatisfiedLinkError: no jnijavacpp in java.library.path: [C:\QuPath-0.2.0\app, C:\QuPath-0.2.0]

No access violation errors, however.

Curious… does everything seem to work anyway? It does look like the exceptions are thrown by some dependency of QuPath, during initialisation, rather than from within the main QuPath code itself. I think/expect/hope they don’t cause any trouble.

But my experience matches that of @Research_Associate – some eagerly-reported issues, but not all the ones you are seeing.

Haven’t tested everything but have not run in to any issue yet.
I will keep testing ! I will also test on a different Win 10 PC to check if this system specific.

Good news !
@petebankhead congratulations on your v0.2.0 release. There are no exceptions when I test on a different Windows 10 machine. It must be something I configured on this system that is causing these exceptions to occur.

2 Likes

Excellent, thanks @Ajay_Zalavadia for reporting back.

FYI: I was able to narrow down the issue, Once I remove libvips-8.9 binaries from the path I do not get the exception. If I add it back to path I start to see the exception again. I have libvips 8.9.2 dev binaries for windows in the path.

Do you have any explanation why this happens? Is there a way to resolve this !

I looked at each common binaries between QuPath and libvips, it seems like “libffi-7.dll” from libvips is causing the issue. Once I remove that binary from libvips there are no exceptions with QuPath.

Ah, I guess because libvips can include OpenSlide there can be various incompatible dependencies. QuPath should use the local native libraries for its own installation… but I’m afraid it doesn’t necessarily do so on Linux.

I don’t use Linux much and haven’t been able to figure out how to get it to load only those libraries from the distribution and not ‘accidentally’ load others.

In general, there are some horrible platform-dependent problems related to native libraries. Basically, Java’s library path is used for the first specified native library… but not for sub-dependencies of that library.

I can think of two potential ways to handle this:

  • Try to load all the sub-dependencies in ‘reverse order’ (a horrible hack) by explicitly providing the paths to Java… at least then the Java library path should be used
  • Exclude OpenSlide entirely, but (ideally) still enable it if installed locally on any machine

Neither seems ideal - if you or anyone else has suggestions I’d be very happy to try something else :slight_smile: