RFR: 8339648: ZGC: Division by zero in rule_major_allocation_rate

Matthias Baesken mbaesken at openjdk.org
Mon Sep 9 07:46:06 UTC 2024


On Fri, 6 Sep 2024 10:26:19 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:

> The HS jtreg test gc/stringdedup/TestStringDeduplicationAgeThreshold_ZGenerational
> shows this error when running with ubsan enabled 
> 
> src/hotspot/share/gc/z/zDirector.cpp:491:74: runtime error: division by zero
>     #0 0x7f09886401d4 in rule_major_allocation_rate src/hotspot/share/gc/z/zDirector.cpp:491
>     #1 0x7f09886401d4 in start_gc src/hotspot/share/gc/z/zDirector.cpp:822
>     #2 0x7f09886401d4 in ZDirector::run_thread() src/hotspot/share/gc/z/zDirector.cpp:912
>     #3 0x7f098c1404e8 in ZThread::run_service() src/hotspot/share/gc/z/zThread.cpp:29
>     #4 0x7f09897cac19 in ConcurrentGCThread::run() src/hotspot/share/gc/shared/concurrentGCThread.cpp:48
>     #5 0x7f098bb46b0a in Thread::call_run() src/hotspot/share/runtime/thread.cpp:225
>     #6 0x7f098b1a9881 in thread_native_entry src/hotspot/os/linux/os_linux.cpp:858

looks like for clang
https://bugs.llvm.org/show_bug.cgi?id=17000#c1
the float division by 0 became defined behavior, but it might be different for other compilers. I think it depends not only on the platform but also on the compiler. See  the discussion here https://stackoverflow.com/questions/42926763/the-behaviour-of-floating-point-division-by-zero

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

PR Comment: https://git.openjdk.org/jdk/pull/20888#issuecomment-2337366232


More information about the hotspot-gc-dev mailing list