Microstream one.microstream.storage.exceptions.StorageException: Problem in channel #0

huangapple go评论53阅读模式
英文:

Microstream one.microstream.storage.exceptions.StorageException: Problem in channel #0

问题

Microstream 在 Mac 上正常工作,但在 Linux 上出现问题。最初可能考虑权限问题,但已使用 root 执行 Java 代码。是否有人知道 Microstream 在 Mac 和 Linux 上的行为差异原因?

Microstream 在不同操作系统上出现问题可能是由于多种因素引起的,包括操作系统的不同配置和依赖项。要解决此问题,您可以尝试以下步骤:

  1. 确保 Linux 系统上的 Java 版本与 Mac 上的相同,并且已正确配置。

  2. 检查 Linux 系统上的文件系统权限,确保您有足够的权限来执行所需的文件操作。

  3. 确保 Linux 系统上已正确安装 Microstream 和相关依赖项。您可以尝试重新安装或更新 Microstream。

  4. 检查您的代码,确保它与 Linux 上的特定配置兼容。某些文件路径或系统调用可能需要根据不同的操作系统进行调整。

  5. 查看 Microstream 的文档和社区,看是否有人遇到类似的问题并找到了解决方法。

请注意,问题的根本原因可能需要更深入的调查,可能需要检查具体的 Microstream 和 Linux 配置以找到解决方案。如果问题仍然存在,您可以考虑联系 Microstream 社区或支持团队以获取更多帮助。

英文:

I have following code:

 return vertx.fileSystem().exists(storeFile).onSuccess(isExists -> {
        try {
            if (isExists) {
                this.storageManager = EmbeddedStorage.start(NioFileSystem.New().ensureDirectoryPath(this.filePath));
                this.model = tClass.cast(this.storageManager.root());
                log.atDebug().log("[PROVIDER] DB {} Model load successfully!", this.storageManager.databaseName());
            } else {
                this.model = tClass.getDeclaredConstructor().newInstance();
                this.storageManager = EmbeddedStorage.start(this.model, NioFileSystem.New().ensureDirectoryPath(this.filePath));
                log.atDebug().log("[PROVIDER] DB {} Create new model!", this.storageManager.databaseName());
            }
        } catch (InvocationTargetException | InstantiationException | IllegalAccessException |
                 NoSuchMethodException e) {
            log.atError().withThrowable(e).log("Store file {} cannot be created", storeFile);
        }
    });

on Mac the code is working, but on Raspberry Pi Linux, I receive the message

one.microstream.storage.exceptions.StorageException: Problem in channel #1
at one.microstream.storage.types.StorageChannelTask$Abstract.checkForProblems(StorageChannelTask.java:114) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannelTask$Abstract.waitOnCompletion(StorageChannelTask.java:173) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageSystem$Default.startThreads(StorageSystem.java:336) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageSystem$Default.internalStartUp(StorageSystem.java:516) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageSystem$Default.start(StorageSystem.java:600) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageSystem$Default.start(StorageSystem.java:78) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:245) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorageManager$Default.start(EmbeddedStorageManager.java:97) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorage.createAndStartStorageManager(EmbeddedStorage.java:615) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorage.start(EmbeddedStorage.java:559) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.embedded.types.EmbeddedStorage.start(EmbeddedStorage.java:392) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at tools.vlab.alpha.core.DataProviderAsync.start(DataProviderAsync.java:33) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:106) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$5(DeploymentManager.java:196) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:246) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.vertx.core.impl.EventLoopContext.lambda$runOnContext$0(EventLoopContext.java:43) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.InternalError: a fault occurred in a recent unsafe memory access operation in compiled Java code
at one.microstream.storage.types.StorageTransactionsAnalysis$Logic.setEntryCommon(StorageTransactionsAnalysis.java:189) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageTransactionsAnalysis$Logic.setEntryFileCreation(StorageTransactionsAnalysis.java:199) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageFileManager$Default.writeTransactionsEntryFileCreation(StorageFileManager.java:1133) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageFileManager$Default.createNewStorageFile(StorageFileManager.java:513) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageFileManager$Default.addFirstFile(StorageFileManager.java:312) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageFileManager$Default.initializeForNoFiles(StorageFileManager.java:1040) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageFileManager$Default.initializeStorage(StorageFileManager.java:866) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannel$Default.initializeStorage(StorageChannel.java:738) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannelTaskInitialize$Default.succeed(StorageChannelTaskInitialize.java:201) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannelTaskInitialize$Default.succeed(StorageChannelTaskInitialize.java:36) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannelSynchronizingTask$AbstractCompletingTask.synchronizedComplete(StorageChannelSynchronizingTask.java:84) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannelSynchronizingTask$AbstractCompletingTask.complete(StorageChannelSynchronizingTask.java:132) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannelTask$Abstract.processBy(StorageChannelTask.java:268) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannel$Default.work(StorageChannel.java:409) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
at one.microstream.storage.types.StorageChannel$Default.run(StorageChannel.java:492) ~[alpha-ressource-1.0-SNAPSHOT-jar-with-dependencies.jar:?]
... 1 more

So Microstream just work on Mac not on Linux. At first I thought because of the permission, but i execute the Java code with root. Do some knows why the behavior of Microstream on Mac is different than on Linux?

答案1

得分: 0

请检查您是否在树莓派上使用的是64位系统。默认是32位,在32位系统上Microstream不可用。

英文:

Please check, that you are using 64 bit system on Rasberry. Default is 32 bit and under 32 bit Microstream does not work.

huangapple
  • 本文由 发表于 2023年6月22日 00:32:50
  • 转载请务必保留本文链接:https://go.coder-hub.com/76525426.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定