Hi,
After patching our Linux servers, hiveMQ CE 2021.1 is unable start, the following stacktrace in the log
java.lang.UnsatisfiedLinkError: /tmp/librocksdbjni6701103395930367917.so: /tmp/librocksdbjni6701103395930367917.so: failed to map segment from shared object: Operation not permitted
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method) | |
---|---|
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430) | |
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487) | |
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684) | |
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617) | |
at java.base/java.lang.Runtime.load0(Runtime.java:767) | |
at java.base/java.lang.System.load(System.java:1831) | |
at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:79) | |
at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:57) | |
at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:67) | |
at org.rocksdb.RocksDB.(RocksDB.java:38) | |
at org.rocksdb.FlushOptions.(FlushOptions.java:14) | |
at com.hivemq.persistence.payload.PublishPayloadRocksDBLocalPersistence.(PublishPayloadRocksDBLocalPersistence.java:48) | |
at com.hivemq.persistence.payload.PublishPayloadRocksDBLocalPersistence$$FastClassByGuice$$bfd4a565.newInstance() | |
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89) | |
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) | |
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) | |
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) | |
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) | |
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168) | |
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39) | |
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62) | |
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) | |
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168) | |
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39) | |
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42) | |
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65) | |
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) | |
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) | |
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) | |
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) | |
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168) | |
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39) | |
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62) | |
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42) | |
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65) | |
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) | |
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) | |
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306) | |
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) | |
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168) | |
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39) | |
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62) | |
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) | |
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168) | |
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39) | |
at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:213) | |
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184) | |
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:111) | |
at com.google.inject.Guice.createInjector(Guice.java:87) | |
at com.hivemq.bootstrap.ioc.GuiceBootstrap.persistenceInjector(GuiceBootstrap.java:142) | |
at com.hivemq.HiveMQServer.main(HiveMQServer.java:139) |
Linux and kernel version
GNU/Linux 2.6.32-754.36.1.el6.x86_64
After trawling the /tmp direct there no librocksdbjni6701103395930367917.so present
Any ideas
Yours
Tim