facebook / rocksdb

A library that provides an embeddable, persistent key-value store for fast storage.
http://rocksdb.org
GNU General Public License v2.0
27.83k stars 6.2k forks source link

A fatal error has been detected by the Java Runtime Environment: EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d) #12786

Open SanketArdalkar opened 1 week ago

SanketArdalkar commented 1 week ago

It shows problematic frame as C [librocksdbjni14464789980629058905.dll+0x546c29] what should i do. i created jar file of project containing database operation and inserted into another projects extension i.e hivemq brokers extension and this error occured even if i deleted jar file still problem persist.

A fatal error has been detected by the Java Runtime Environment:

#  EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d) at pc=0x00007ffb94946c29, pid=9408, tid=11796
#
# JRE version: Java(TM) SE Runtime Environment 18.9 (11.0.22+9) (build 11.0.22+9-LTS-219)
# Java VM: Java HotSpot(TM) 64-Bit Server VM 18.9 (11.0.22+9-LTS-219, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [librocksdbjni14464789980629058905.dll+0x546c29]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
adamretter commented 1 week ago

There is not enough information here to act on. Can you provide the stack trace please?

SanketArdalkar commented 1 week ago

hs_err_pid12608.log check above file. Do you think it would work if i delete hivemq and again download it ? librocksdb files are present in hivemq application or they are part of java? TIA

stefan-zobel commented 1 week ago

That CPU is a Westmere-EP microarchitecture from 2010 (before Sandy Bridge) which only has SSE4.2 instruction set extensions. It's almost impossible that a recent rocksdbjni build can run on this CPU. You'd need a portable build with flags -DPORTABLE=1 (and possibly also -DSNAPPY_HAVE_BMI2=0).

See https://github.com/facebook/rocksdb/issues/11096 which is a very similar issue.

SanketArdalkar commented 1 week ago

before inserting jar in the application it was running fine and i have removed the jar and i want that application should run like it was running before inserting the jar i dont want that jar containing database to run with application. help me so that i can run my application like it was running before insertion of jar. TIA

adamretter commented 1 week ago

That CPU is a Westmere-EP microarchitecture from 2010 (before Sandy Bridge) which only has SSE4.2 instruction set extensions. It's almost impossible that a recent rocksdbjni build can run on this CPU. You'd need a portable build with flags DPORTABLE=1 (and possibly also -DSNAPPY_HAVE_BMI2=0)

@stefan-zobel All RocksJava releases published to Maven central are already built with PORTABLE=1

adamretter commented 1 week ago

Do you think it would work if i delete hivemq and again download it ? librocksdb files are present in hivemq application or they are part of java?

@SanketArdalkar We cannot comment on the HiveMQ project - I suggest you contact them.

RocksJava includes the RocksDB native library. I don't know what HiveMQ do.

stefan-zobel commented 1 week ago

That CPU is a Westmere-EP microarchitecture from 2010 (before Sandy Bridge) which only has SSE4.2 instruction set extensions. It's almost impossible that a recent rocksdbjni build can run on this CPU. You'd need a portable build with flags DPORTABLE=1 (and possibly also -DSNAPPY_HAVE_BMI2=0)

@stefan-zobel All RocksJava releases published to Maven central are already built with PORTABLE=1

@adamretter That means AVX2 is disabled for the builds on Maven central?

adamretter commented 1 week ago

If that is blocked by PORTABLE=1, then yes

stefan-zobel commented 1 week ago

If that is blocked by PORTABLE=1, then yes

@adamretter Thanks for the confirmation. According to https://github.com/facebook/rocksdb/wiki/Building-on-Windows the /arch:AVX2 flag is blocked by -DPORTABLE=1.