Request for Approval: Backport of JDK-8205965: SIGSEGV on write to NativeCallStack::EMPTY_STACK
Leslie Zhai
zhaixiang at loongson.cn
Wed Sep 19 23:28:30 UTC 2018
Hi Zhengyu,
Please review the committed patch, thanks a lot!
jtreg test on Linux 4.13.16-100.fc25.x86_64, hotspot base on
8722:16b9bbfaa450
0. applied the patch, compiled with clang-8 [1]
1. without patch, compiled with gcc-9 [2]
2. without patch, compiled with gcc-6.4.3 [3]
jtdiff /home/xiangzhai/project/jtreg-8722-clang-8-dev/hotspot/JTwork/
/home/xiangzhai/project/jtreg-8722-gcc-9-dev/hotspot/JTwork/
/home/xiangzhai/project/jtreg-8722-gcc-6/hotspot/JTwork/
0: /home/xiangzhai/project/jtreg-8722-clang-8-dev/hotspot/JTwork pass:
685; fail: 44; error: 3; not run: 22
1: /home/xiangzhai/project/jtreg-8722-gcc-9-dev/hotspot/JTwork pass:
686; fail: 43; error: 3; not run: 22
2: /home/xiangzhai/project/jtreg-8722-gcc-6/hotspot/JTwork pass: 690;
fail: 38; error: 4; not run: 22
0 1 2 Test
fail fail pass compiler/5091921/Test6559156.java
fail fail pass compiler/5091921/Test6890943.java
pass fail pass gc/g1/TestShrinkAuxiliaryData05.java
pass fail pass gc/g1/TestShrinkAuxiliaryData10.java
pass fail pass gc/g1/TestShrinkAuxiliaryData15.java
fail pass pass gc/g1/TestShrinkAuxiliaryData20.java
fail pass pass gc/g1/TestShrinkAuxiliaryData25.java
fail pass pass runtime/SharedArchiveFile/LimitSharedSizes.java
fail pass pass runtime/SharedArchiveFile/SpaceUtilizationCheck.java
pass pass error serviceability/sa/jmap-hashcode/Test8028623.java
10 differences
jtdiff /home/xiangzhai/project/jtreg-8722-clang-8-dev/langtools/JTwork/
/home/xiangzhai/project/jtreg-8722-gcc-9-dev/langtools/JTwork/
/home/xiangzhai/project/jtreg-8722-gcc-6/langtools/JTwork/
0: /home/xiangzhai/project/jtreg-8722-clang-8-dev/langtools/JTwork pass:
3,111; fail: 2; not run: 11
1: /home/xiangzhai/project/jtreg-8722-gcc-9-dev/langtools/JTwork pass:
3,111; fail: 2; not run: 11
2: /home/xiangzhai/project/jtreg-8722-gcc-6/langtools/JTwork pass:
3,111; fail: 2; not run: 11
No differences
jtdiff /home/xiangzhai/project/jtreg-8722-clang-8-dev/jdk/JTwork/
/home/xiangzhai/project/jtreg-8722-gcc-9-dev/jdk/JTwork/
/home/xiangzhai/project/jtreg-8722-gcc-6/jdk/JTwork/
0: /home/xiangzhai/project/jtreg-8722-clang-8-dev/jdk/JTwork pass:
5,089; fail: 38; error: 15; not run: 1,153
1: /home/xiangzhai/project/jtreg-8722-gcc-9-dev/jdk/JTwork pass: 5,101;
fail: 39; error: 2; not run: 1,153
2: /home/xiangzhai/project/jtreg-8722-gcc-6/jdk/JTwork pass: 5,098;
fail: 39; error: 5; not run: 1,153
0 1 2 Test
pass fail fail java/lang/Runtime/exec/LotsOfOutput.java
error pass error java/net/Socket/LingerTest.java
pass pass error java/nio/Buffer/Basic.java
error pass pass
java/util/concurrent/BlockingQueue/CancelledProducerConsumerLoops.java
error pass pass
java/util/concurrent/BlockingQueue/MultipleProducersSingleConsumerLoops.java
error pass pass
java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java
error pass pass
java/util/concurrent/ConcurrentQueues/ConcurrentQueueLoops.java
error pass pass java/util/concurrent/Exchanger/ExchangeLoops.java
error pass pass
java/util/concurrent/ExecutorCompletionService/ExecutorCompletionServiceLoops.java
error pass pass java/util/concurrent/FutureTask/CancelledFutureLoops.java
error pass pass
java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java
error pass pass
java/util/concurrent/locks/ReentrantLock/LockOncePerThreadLoops.java
error pass pass
java/util/concurrent/locks/ReentrantLock/SimpleReentrantLockLoops.java
error pass pass
java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java
error pass pass
java/util/concurrent/locks/ReentrantReadWriteLock/MapLoops.java
pass pass error sun/tools/jstatd/TestJstatdExternalRegistry.java
16 differences
----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< ---
I will run jtreg test again, and -verbose:all for the error and fail
testcases compiled with clang-8 to reduce false positive.
[1] $ clang -v
LLVM China clang version 8.0.0 (git at github.com:llvm-mirror/clang.git
7f223b8fbf26fa0e4d8f98847a53c4ba457720f0)
(git at github.com:llvm-mirror/llvm.git
841e300fb15be4f9931d18d2f24f48cb59ef24a8) (based on LLVM 8.0.0svn)
Target: x86_64-redhat-linux
Thread model: posix
InstalledDir: /opt/llvm-git/bin
Found candidate GCC installation: /usr/lib/gcc/i686-redhat-linux/6.4.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/6.4.1
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/6.4.1
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
[2] $ gcc -v
Using built-in specs.
COLLECT_GCC=/opt/gcc-git/bin/gcc
COLLECT_LTO_WRAPPER=/opt/gcc-git/libexec/gcc/x86_64-redhat-linux-gnu/9.0.0/lto-wrapper
Target: x86_64-redhat-linux-gnu
Configured with: ../configure --target=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --build=x86_64-redhat-linux-gnu
--with-cpu=generic --prefix=/opt/gcc-git --enable-bootstrap
--enable-shared --enable-threads=posix --enable-checking=release
--enable-languages=c,c++,lto,go,fortran --enable-plugin
--enable-initfini-array --enable-gnu-unique-object
--enable-linker-build-id --with-linker-hash-style=gnu
--enable-__cxa_atexit --enable-gnu-indirect-function --enable-c99
--enable-long-long --enable-libgomp --enable-lto --enable-libsanitizer
--enable-libatomic --enable-libquadmath --enable-libitm
--enable-libcilkrts --enable-libmpx --enable-symvers
--disable-libstdcxx-pch --disable-multilib --disable-libunwind-exceptions
Thread model: posix
gcc version 9.0.0 20180912 (LLVM China experimental) (GCC)
[3] $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/6.4.1/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared
--enable-threads=posix --enable-checking=release --enable-multilib
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-linker-build-id
--with-linker-hash-style=gnu --enable-plugin --enable-initfini-array
--disable-libgcj --with-isl --enable-libmpx
--enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686
--build=x86_64-redhat-linux
Thread model: posix
gcc version 6.4.1 20170727 (Red Hat 6.4.1-1) (GCC)
在 2018年09月19日 07:06, Zhengyu Gu 写道:
> Hi Leslie,
>
> The backport is approved.
>
> Please send me *committed* patch [1] after proper tests, I will
> sponsor it for you.
>
> Thanks,
>
> -Zhengyu
>
> [1] http://openjdk.java.net/sponsor/ Section 3
>
> You should use commit message from original patch and add yourself as
> contributor, ex.
>
> 8205965: SIGSEGV on write to NativeCallStack::EMPTY_STACK
> Summary: Made EMPTY_STACK non-const, so it will not be placed in
> read-only BSS section.
> Reviewed-by: stuefe, martin
> Contributed-by: zhaixiang at loongson.cn
>
>
>
> On 09/18/2018 06:28 PM, Seán Coffey wrote:
>> Approved for jdk8u-dev.
>>
>> regards,
>> Sean.
>>
>>
>> On 18/09/2018 07:48, Leslie Zhai wrote:
>>> Hi Zhengyu,
>>>
>>> I would like to backport the fix for:
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8205965
>>>
>>> To OpenJDK 8 updates dev:
>>>
>>> http://hg.openjdk.java.net/jdk8u/jdk8u-dev
>>>
>>> The fix is mostly the same as the version that was committed in 12,
>>> here is the patch:
>>>
>>> http://cr.openjdk.java.net/~zgu/8205965_8u/webrev.00/
>>>
>>> The patch was reviewed, thanks for your review! Here is the
>>> relevant thread:
>>>
>>> http://mail.openjdk.java.net/pipermail/jdk8u-dev/2018-September/007860.html
>>>
>>>
>>> A patch by Loongson! Please sponsor it, thanks a lot!
>>>
>>
--
Regards,
Leslie Zhai
-------------- next part --------------
A non-text attachment was scrubbed...
Name: JDK-8205965-8u.patch
Type: text/x-patch
Size: 6193 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/jdk8u-dev/attachments/20180920/6fff845d/JDK-8205965-8u.patch>
More information about the jdk8u-dev
mailing list