intel / isa-l

Intelligent Storage Acceleration Library
Other
946 stars 300 forks source link

Facing JVM corruption while enable isa-l #60

Open elvys-zhang opened 5 years ago

elvys-zhang commented 5 years ago

I have build a hadoop package with isa-l enabled, using this command

mvn clean package -Pdist -Pnative -DskipTests -Dmaven.javadoc.skip=true -Dtar -Dcontainer-executor.conf.dir=/etc/yarn-executor/ -Drequire.snappy -Dsnappy.prefix=/data0/snappy/ -Drequire.isal=true -Disal.prefix=/usr/include -Disal.lib=/usr/lib64/ -Dbundle.isal=true

And checknative success with isa-l version 2.0.25

Native library checking:
hadoop:  true /software/servers/hadoop/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /lib64/libsnappy.so.1
lz4:     true revision:99
bzip2:   true /lib64/libbz2.so.1
openssl: true /lib64/libcrypto.so
ISA-L:   true /software/servers/hadoop/lib/native/libisal.so.2

But when I started to do some ec convert, something went wrong

[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : #
[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # A fatal error has been detected by the Java Runtime Environment:
[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : #
[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : #  SIGSEGV (0xb) at pc=0x00007f318c0bdc4c, pid=42505, tid=0x00007f318cc49700
[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : #
[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-root_2019_03_13_15_59-b00)
[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # Java VM: OpenJDK 64-Bit Server VM (25.71-b00 mixed mode linux-amd64 compressed oops)
[2019-03-19T17:57:25.672+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # Problematic frame:
[2019-03-19T17:57:25.673+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # C  [libc.so.6+0x7fc4c]  cfree+0x1c
[2019-03-19T17:57:25.673+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : #
[2019-03-19T17:57:25.673+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
[2019-03-19T17:57:25.673+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : #
[2019-03-19T17:57:25.673+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # An error report file with more information is saved as:
[2019-03-19T17:57:25.673+08:00] [INFO] [1552989251478_CONVERT_CMD/test/z/257m(isLogger)] : 1552989251478_CONVERT_CMD/test/z/257m(isLogger) : # /software/servers/hadoop/hs_err_pid42505.log

Here is the hs log hs_err_pid42505.log

Any suggestions? Thanks

gbtucker commented 5 years ago

Do I read the log correctly in it segfaults in the compiled-in libc function free() that was called from libzip? Could this be a double free error? Do we know the pointer loc passed to free?

elvys-zhang commented 5 years ago

@gbtucker Thanks for your reply.
This happened while calling libzip to unzip rt.jar. And it seems that libzip has called libisal causing this crash. Are there anything special while compiling libisal? For example the version of gcc? My gcc version is 4.8.5

gbtucker commented 5 years ago

Hi @elvys-zhang, did you get get this working? There shouldn't be anything special about compiling libisal or with gcc version.

gbtucker commented 5 years ago

Labeling as "question" as we can't reproduce or verify a bug.