semuxproject / semux-core

Semux Core
https://www.semux.org
MIT License
76 stars 32 forks source link

Wallet is not starting on windows #312

Open terabot0 opened 3 years ago

terabot0 commented 3 years ago

🐛 Bug

(Describe the bug/issue here)

To reproduce

after starting semux-gui, and creating a new wallet, the error hs_err_pid8996 appears. error text:

A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_UNCAUGHT_CXX_EXCEPTION (0xe06d7363) at pc = 0x00007ffe6f5f4f38, pid = 8996, tid = 10664
#
# JRE version: OpenJDK Runtime Environment (11.0.4 + 11) (build 11.0.4 + 11)
# Java VM: OpenJDK 64-Bit Server VM (11.0.4 + 11, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C [KERNELBASE.dll + 0x34f38]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows

Expected Behavior

(Describe the expected behavior here)

System information

terabot0 commented 3 years ago

Operating system: windows 10 64 bit Semux version: 2.2.1

semuxgo commented 3 years ago

Hey @terabot0, I was unable to reproduce the issue with Windows 10. Could you provide the full content in hs_err_pid8996 file?

terabot0 commented 3 years ago

hs_err_pid8996.log

semuxgo commented 3 years ago
Current thread (0x000002c290a4d800):  JavaThread "main" [_thread_in_native, id=10664, stack(0x000000c2abc00000,0x000000c2abd00000)]

Stack: [0x000000c2abc00000,0x000000c2abd00000],  sp=0x000000c2abcfe810,  free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [KERNELBASE.dll+0x34f38]
C  [leveldbjni-64-e8314f7-12725668054707573247.dll+0x5b97c]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.fusesource.leveldbjni.internal.NativeDB$DBJNI.Open(Lorg/fusesource/leveldbjni/internal/NativeOptions;Ljava/lang/String;[J)J+0
j  org.fusesource.leveldbjni.internal.NativeDB.open(Lorg/fusesource/leveldbjni/internal/NativeOptions;Ljava/io/File;)Lorg/fusesource/leveldbjni/internal/NativeDB;+22
j  org.fusesource.leveldbjni.JniDBFactory.open(Ljava/io/File;Lorg/iq80/leveldb/Options;)Lorg/iq80/leveldb/DB;+24
j  org.semux.db.LeveldbDatabase.open(Lorg/iq80/leveldb/Options;)V+9
j  org.semux.db.LeveldbDatabase.<init>(Ljava/io/File;)V+44
j  org.semux.db.LeveldbDatabase$LeveldbFactory.lambda$getDB$0(Lorg/semux/db/DatabaseName;)Lorg/semux/db/Database;+30
j  org.semux.db.LeveldbDatabase$LeveldbFactory$$Lambda$229.apply(Ljava/lang/Object;)Ljava/lang/Object;+8
j  java.util.Map.computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;+19 java.base@11.0.4
j  org.semux.db.LeveldbDatabase$LeveldbFactory.getDB(Lorg/semux/db/DatabaseName;)Lorg/semux/db/Database;+11
j  org.semux.core.BlockchainImpl.upgradeDatabase(Lorg/semux/config/Config;Lorg/semux/db/DatabaseFactory;)V+4
j  org.semux.core.BlockchainImpl.openDb(Lorg/semux/config/Config;Lorg/semux/db/DatabaseFactory;)V+2
j  org.semux.core.BlockchainImpl.<init>(Lorg/semux/config/Config;Lorg/semux/core/Genesis;Lorg/semux/db/DatabaseFactory;)V+51
j  org.semux.Kernel.start()V+145
j  org.semux.gui.SemuxGui.startKernel(Lorg/semux/config/Config;Lorg/semux/core/Wallet;Lorg/semux/crypto/Key;)V+43
j  org.semux.gui.SemuxGui.start([Ljava/lang/String;)V+204
j  org.semux.gui.SemuxGui.main([Ljava/lang/String;)V+49
j  org.semux.Main.main([Ljava/lang/String;)V+94
v  ~StubRoutines::call_stub

siginfo: EXCEPTION_UNCAUGHT_CXX_EXCEPTION (0xe06d7363), ExceptionInformation=0x0000000019930520 0x000000c2abcfe9a0 0x00007ffe319740f0 0x00007ffe318b0000 

The failure is caused by uncaught exception by our underlying LevelDB library. The root cause might be disk IO error or file permission violation.

This seems to be a host environment issue, so no fix can be provided.