RFR: 8307058: Implementation of Generational ZGC [v6]

Stefan Karlsson stefank at openjdk.org
Fri May 5 05:20:30 UTC 2023


On Fri, 5 May 2023 01:54:48 GMT, Fei Yang <fyang at openjdk.org> wrote:

>> Stefan Karlsson has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   undefine glibc major/minor macros
>
> test/hotspot/gtest/gc/z/test_zForwarding.cpp line 68:
> 
>> 66: 
>> 67:     bool reserved = os::attempt_reserve_memory_at((char*)ZAddressHeapBase, ZGranuleSize, false /* executable */);
>> 68:     ASSERT_TRUE(reserved);
> 
> Hi,
> Thanks for the great work!
> I have performed some tests on linux-riscv64 Hifive Unmatched board. So far, I only witnessed one gtest failure:
> 
> 
> $ make test TEST=gtest:ZForwardingTest
> Building target 'test' in configuration 'linux-riscv64-server-release'
> Test selection 'gtest:ZForwardingTest', will run:
> * gtest:ZForwardingTest/server
> 
> Running test 'gtest:ZForwardingTest/server'
> Note: Google Test filter = ZForwardingTest*
> [==========] Running 4 tests from 1 test suite.
> [----------] Global test environment set-up.
> [----------] 4 tests from ZForwardingTest
> [ RUN      ] ZForwardingTest.setup_vm
> test/hotspot/gtest/gc/z/test_zForwarding.cpp:68: Failure
> Value of: reserved
>   Actual: false
> Expected: true
> [  FAILED  ] ZForwardingTest.setup_vm (0 ms)
> [ RUN      ] ZForwardingTest.find_empty_vm
> [       OK ] ZForwardingTest.find_empty_vm (1 ms)
> [ RUN      ] ZForwardingTest.find_full_vm
> [       OK ] ZForwardingTest.find_full_vm (8 ms)
> [ RUN      ] ZForwardingTest.find_every_other_vm
> [       OK ] ZForwardingTest.find_every_other_vm (0 ms)
> [----------] 4 tests from ZForwardingTest (761 ms total)
> 
> [----------] Global test environment tear-down
> ERROR: RUN_ALL_TESTS() failed. Error 1
> [==========] 4 tests from 1 test suite ran. (762 ms total)
> [  PASSED  ] 3 tests.
> [  FAILED  ] 1 test, listed below:
> [  FAILED  ] ZForwardingTest.setup_vm
> 
>  1 FAILED TEST
> Finished running test 'gtest:ZForwardingTest/server'
> Test report is stored in build/linux-riscv64-server-release/test-results/gtest_ZForwardingTest_server
> 
> ==============================
> Test summary
> ==============================
>    TEST                                              TOTAL  PASS  FAIL ERROR
>>> gtest:ZForwardingTest/server                          4     3     1     0 <<
> ==============================
> TEST FAILURE
> 
> 
> The gtest failed this assertion where 'reserved' return by function os::attempt_reserve_memory_at is false.
> I find the reason is that the mmap call at the bottom returns a different address instead of the requested one (ZAddressHeapBase). I think that is possible since we are not sure if the requested address is available before the mmap call, right? So I guess we might need some changes here for this gtest.

Thanks for reporting. It would be interesting to see what address you get and compare it to the range [ZAddressHeapBase, ZAddressHeapBase+ZAddressOffsetMax).

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13771#discussion_r1185707639



More information about the build-dev mailing list