Request for Approval: Backport of JDK-8205965: SIGSEGV on write to NativeCallStack::EMPTY_STACK

Zhengyu Gu zgu at redhat.com
Wed Sep 19 23:49:39 UTC 2018


Pushed.

http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/rev/7a6239517d46

-Zhengyu

On 09/19/2018 07:28 PM, Leslie Zhai wrote:
> 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; P
> 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!
>>>>
>>>
> 


More information about the jdk8u-dev mailing list