I can confirm that case2 i386 (see comments 39, 40 by Rostislav Stříbrný (rstribrn) ) produce segmentation fault on
"4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux"
with log:
bash: line 1: 11948 Segmentation fault (core dumped) LD_PRELOAD=/usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/server/libjvm.so ./test_openjdk_i386_case2
Do not forget to install gcc-multilib package before running test.
Here is backtrace with gdb:
(gdb) bt full
#0 0xf77c52c5 in ?? () from /usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/server/libjvm.so
No symbol table info available.
#1 0xf77c7a34 in ?? () from /usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/server/libjvm.so
No symbol table info available.
#2 0xf77d20a0 in ?? () from /usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/server/libjvm.so
No symbol table info available.
#3 0xf790e1a2 in ?? () from /usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/server/libjvm.so
No symbol table info available.
#4 0xf75cbe45 in JNI_CreateJavaVM () from /usr/lib/jvm/java-8-openjdk-i386/jre/lib/i386/server/libjvm.so
No symbol table info available.
#5 0x080485ab in create_vm (jvm=0xffffcebc) at test_case2.c:16
env = 0xf7fe78c2
args = {version = 65544, nOptions = 2, options = 0xffffce6c, ignoreUnrecognized = 0 '\000'}
options = {{optionString = 0x8048730 "-Djava.class.path=.", extraInfo = 0xf7ffd000}, {optionString = 0x8048744 "-Xss2048k", extraInfo = 0xffffce90}}
rv = -142860576
#6 0x08048604 in main (argc=1, argv=0xffffcf84) at test_case2.c:27
jvm = 0x80486fb <__libc_csu_init+75>
env = 0x1
foo_class = 0xffffcf84
test_method = 0xffffcf8c
I can confirm that case2 i386 (see comments 39, 40 by Rostislav Stříbrný (rstribrn) ) produce segmentation fault on /usr/lib/ jvm/java- 8-openjdk- i386/jre/ lib/i386/ server/ libjvm. so ./test_ openjdk_ i386_case2
"4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux"
with log:
bash: line 1: 11948 Segmentation fault (core dumped) LD_PRELOAD=
Do not forget to install gcc-multilib package before running test.
Here is backtrace with gdb: jvm/java- 8-openjdk- i386/jre/ lib/i386/ server/ libjvm. so jvm/java- 8-openjdk- i386/jre/ lib/i386/ server/ libjvm. so jvm/java- 8-openjdk- i386/jre/ lib/i386/ server/ libjvm. so jvm/java- 8-openjdk- i386/jre/ lib/i386/ server/ libjvm. so jvm/java- 8-openjdk- i386/jre/ lib/i386/ server/ libjvm. so class.path= .", extraInfo = 0xf7ffd000}, {optionString = 0x8048744 "-Xss2048k",
extraInfo = 0xffffce90}} csu_init+ 75>
(gdb) bt full
#0 0xf77c52c5 in ?? () from /usr/lib/
No symbol table info available.
#1 0xf77c7a34 in ?? () from /usr/lib/
No symbol table info available.
#2 0xf77d20a0 in ?? () from /usr/lib/
No symbol table info available.
#3 0xf790e1a2 in ?? () from /usr/lib/
No symbol table info available.
#4 0xf75cbe45 in JNI_CreateJavaVM () from /usr/lib/
No symbol table info available.
#5 0x080485ab in create_vm (jvm=0xffffcebc) at test_case2.c:16
env = 0xf7fe78c2
args = {version = 65544, nOptions = 2, options = 0xffffce6c, ignoreUnrecognized = 0 '\000'}
options = {{optionString = 0x8048730 "-Djava.
rv = -142860576
#6 0x08048604 in main (argc=1, argv=0xffffcf84) at test_case2.c:27
jvm = 0x80486fb <__libc_
env = 0x1
foo_class = 0xffffcf84
test_method = 0xffffcf8c