oshi icon indicating copy to clipboard operation
oshi copied to clipboard

throw java.lang.UnsatisfiedLinkError error , in oshi 6.6.1, Mac OS X, x86_64, 14.5

Open hellozrh opened this issue 1 year ago • 0 comments

runtime environment:

os.name=Mac OS X
os.arch=x86_64
os.version=14.5
java.home=/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home
java.runtime.version=1.8.0_412-internal-b08
java.class.path=my-server.jar
java.ext.dirs=/Users/user03/Library/Java/Extensions:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
sun.boot.class.path=/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/resources.jar:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/rt.jar:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/sunrsasign.jar:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/jsse.jar:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/jce.jar:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/charsets.jar:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/lib/jfr.jar:/Applications/MyApp.app/Contents/server/jre/openlogic-openjdk-jre-8u412-b08-mac-x64/jdk1.8.0_412.jre/Contents/Home/classes
java.io.tmpdir=/var/folders/l4/p53ynlh91gx1fnjq2ypsgzhh0000gn/T/
user.name=user03
user.home=/Users/user03
user.dir=/Applications/MyApp.app/Contents/server

oshi version

6.6.1
    private static String getCpuId() {
       SystemInfo si = new SystemInfo();
       HardwareAbstractionLayer hal = si.getHardware();
        String cpuId = "UnknownCpuId";
        try {
            // CPU ID
            cpuId = hal.getProcessor().getProcessorIdentifier().getProcessorID();// here is line 25
        } catch (Throwable e) {
            StaticLog.error(e,"get CPU ID error");
        }

        return cpuId;
    }

error message

java.lang.UnsatisfiedLinkError: /Users/user03/Library/Caches/JNA/temp/jna6226492912741182982.tmp: dlopen(/Users/user03/Library/Caches/JNA/temp/jna6226492912741182982.tmp, 0x0001): tried: '/Users/user03/Library/Caches/JNA/temp/jna6226492912741182982.tmp' (code signature in <73F5816F-064A-35CA-9DBF-3F4E894E8C88> '/Users/user03/Library/Caches/JNA/temp/jna6226492912741182982.tmp' not valid for use in process: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.), '/System/Volumes/Preboot/Cryptexes/OS/Users/user03/Library/Caches/JNA/temp/jna6226492912741182982.tmp' (no such file), '/Users/user03/Library/Caches/JNA/temp/jna6226492912741182982.tmp' (code signature in <73F5816F-064A-35CA-9DBF-3F4E894E8C88> '/Users/user03/Library/Caches/JNA/temp/jna6226492912741182982.tmp' not valid for use in process: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.)
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1950)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1832)
	at java.lang.Runtime.load0(Runtime.java:783)
	at java.lang.System.load(System.java:1100)
	at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1041)
	at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:1011)
	at com.sun.jna.Native.<clinit>(Native.java:221)
	at com.sun.jna.platform.mac.SystemB.<clinit>(SystemB.java:40)
	at oshi.util.platform.mac.SysctlUtil.sysctl(SysctlUtil.java:52)
	at oshi.util.platform.mac.SysctlUtil.sysctl(SysctlUtil.java:40)
	at oshi.hardware.platform.mac.MacCentralProcessor.initProcessorCounts(MacCentralProcessor.java:138)
	at oshi.hardware.common.AbstractCentralProcessor.<init>(AbstractCentralProcessor.java:68)
	at oshi.hardware.platform.mac.MacCentralProcessor.<init>(MacCentralProcessor.java:51)
	at oshi.hardware.platform.mac.MacHardwareAbstractionLayer.createProcessor(MacHardwareAbstractionLayer.java:42)
	at oshi.util.Memoizer$1.get(Memoizer.java:61)
	at oshi.hardware.common.AbstractHardwareAbstractionLayer.getProcessor(AbstractHardwareAbstractionLayer.java:48)
	at com.my.dsa.system.util.g.a(MachineUtil.java:25)
	at com.my.framework.common.service.BaseScheduledService.scheduleJob(BaseScheduledService.java:153)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	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:750)
    private static String getBaseboardSerialNumber() {
       SystemInfo si = new SystemInfo();
       HardwareAbstractionLayer hal = si.getHardware();
        String baseboardSerialNumber = "UnknownBaseboardSerialNumber";

       try {
            // get SerialNumber
            baseboardSerialNumber = hal.getComputerSystem().getSerialNumber(); // here is line 44
        } catch (Throwable e) {
            StaticLog.error(e,"get SerialNumber error.");
        }

        return baseboardSerialNumber;
    }
java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native
	at com.sun.jna.platform.mac.IOKit.<clinit>(IOKit.java:51)
	at com.sun.jna.platform.mac.IOKitUtil.<clinit>(IOKitUtil.java:39)
	at oshi.hardware.platform.mac.MacComputerSystem.platformExpert(MacComputerSystem.java:68)
	at oshi.util.Memoizer$1.get(Memoizer.java:61)
	at oshi.hardware.platform.mac.MacComputerSystem.getSerialNumber(MacComputerSystem.java:45)
	at com.my.dsa.system.util.g.b(MachineUtil.java:44)
	at com.my.framework.common.service.BaseScheduledService.scheduleJob(BaseScheduledService.java:153)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	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:750)

hellozrh avatar Jun 27 '24 07:06 hellozrh