UnsatisfiedLinkError

Great with Java 11 suuport. I immediateliy tried our old desktop app, but quickly ran into these problems with the bundled java libraries. Am I doing somethin wrong, or is this simply corners of the JRE not addressed yet? Here's the stack traces: #1 Caused by: java.lang.UnsatisfiedLinkError: no management_ext in java.library.path: [.] at java.lang.ClassLoader.loadLibrary(Unknown Source) ~[na:na] at java.lang.Runtime.loadLibrary0(Unknown Source) ~[na:na] at java.lang.System.loadLibrary(Unknown Source) ~[na:na] at com.sun.management.internal.PlatformMBeanProviderImpl.lambda$static$0(Unknown Source) ~[na:na] at com.sun.management.internal.PlatformMBeanProviderImpl$$Lambda$46.run(Unknown Source) ~[na:na] at com.sun.management.internal.PlatformMBeanProviderImpl.<clinit>(Unknown Source) ~[na:na] ##2 java.nio.file.FileSystemException: /files: Function not implemented at sun.nio.fs.UnixException.translateToIOException(Unknown Source) ~[na:na] at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) ~[na:na] at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) ~[na:na] at sun.nio.fs.UnixFileStore.readAttributes(Unknown Source) ~[na:na] at sun.nio.fs.UnixFileStore.getUsableSpace(Unknown Source) ~[na:na] ##3 java.lang.UnsatisfiedLinkError: Java_sun_nio_ch_FileKey_initIDs at sun.nio.ch.FileKey.<clinit>(Unknown Source) ~[na:na] at sun.nio.ch.FileLockTable.<init>(Unknown Source) ~[na:na] at sun.nio.ch.FileChannelImpl.fileLockTable(Unknown Source) ~[na:na] at sun.nio.ch.FileChannelImpl.tryLock(Unknown Source) ~[na:na] at java.nio.channels.FileChannel.tryLock(Unknown Source) ~[na:na]
9 Replies
apignotti
apignotti5mo ago
Please provide a complete test case
JacobDK123
JacobDK123OP5mo ago
sorry, I do not have the time to seperate every stacktrace for this app into into seperate example projects, I can only provide the stack trace as indication of what is wrong.
apignotti
apignotti5mo ago
Can you provide access to the whole sample? It is much, much harder for us to fix problems without an example
JacobDK123
JacobDK123OP5mo ago
Unfortunately, I am doing this out of pure interest for the potential of running our Genomic Workbench in a browser, but I do not have any company approval to spend time on such an investigation, thus all I am trying here, is when I have a moment to spare. I am also not in a position to publish or provide you directly with anything, due to policies. But, our public released installers are still available for download, if you would like to get at sense of the complexity of the task at hand, by looking at a standard installation, which I use for the example. This is the last of our releases that used Java 11. The link is for the Linux version, windows and mac versions alreaso exists: https://download.clcbio.com/clcgenomicswb/22.0.3/CLCGenomicsWorkbench_22_0_3_64.sh The main library is CLCWorkbench.jar and the main class is "com.clcbio.framework.general.WorkbenchManagerImpl".
apignotti
apignotti4mo ago
All these issues are also fixed with build: https://cjrtnc.leaningtech.com/3_20250508_1309/loader.js About the whole application, can you clarify if JavaFX is a requirement? CheerpJ does not currently support it but we have plans to fix this in the future @JacobDK123 I have further investigated this application from the publicly available installer. A major blocker for me to correctly identify all possible issues is the licensing manager subsystem which is implemented a native x64 library, which cannot run in the browser. From all that I can see this application should be able to run correctly in CheerpJ. There might be more minor bugs like the ones you found so far, which can all be fixed quite rapidly. My recommendation is to put as in touch with decision makers in your company to move the project forward quickly. You can either use my personal email address (alessandro@leaningtech.com) or the general info@leaningtech.com
JacobDK123
JacobDK123OP4mo ago
Thank you @Alessandro that build got me further. We do use JavaFX but it is not a crucial part of the solution, but I realise that we have a lot of corners in our application that includes native librarires that we would have to find alternative solutions for (in particualar our compressed data format that uses zstd resulting in java.lang.UnsatisfiedLinkError: no zstd-jni-1.5.2-2 in java.library.path) Since I am not sure that this, by this I mean our java app in a browser, at all is a viable or desired path for us, I will make a note of the progress so far and keep in mind that this might be a path for us to consider in future development.
apignotti
apignotti4mo ago
We can offer solutions for binary components, if the source code is available. We can compile JNI modules to Wasm code which is loaded dynamically
apignotti
apignotti4mo ago
We use this technique in our Minecraft demo: https://browsercraft.cheerpj.com
Browsercraft
Unmodified Minecraft running in the browser using CheerpJ. Play Minecraft in your browser!
apignotti
apignotti4mo ago
This feature is not yet released to the public but it's available in preview for commercial users @JacobDK123 Just wanted to let you that since CheerpJ 4.1 there is support for Java 17 as well, which could simplify your efforts to run the Genomic Workbench

Did you find this page helpful?