Integrated: 8366145: G1: Help diagnose ubsan division by zero in computing pause time ratios (g1Analytics.cpp)

Leo Korinth lkorinth at openjdk.org
Thu Aug 28 11:40:47 UTC 2025


On Tue, 26 Aug 2025 11:22:30 GMT, Leo Korinth <lkorinth at openjdk.org> wrote:

> This pull request is created to help diagnose the bug report https://bugs.openjdk.org/browse/JDK-8354430.
> 
> The problem is that we get a ubsan runtime error when dividing by zero. Ubsan is not normally running, so I will add an assert making it easier to catch the problem and printing the value of the two variables that when subtracted will create a zero; it will hopefully help with diagnosis.
> 
> Some comments: 
> 1) the result of `most_recent_gc_end_time_sec()` will not change within the function, thus I will not clutter the code with a new variable, is that okay?
> 2) I added two calls to `fabs` which are most probably not needed (ieee floating point rules seems to say that positive and negative zero equals). However I think my proposed code makes it clear that I have thought about it. 
> 
> I am now running tier1-3

This pull request has now been integrated.

Changeset: b0f5b23e
Author:    Leo Korinth <lkorinth at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/b0f5b23ed2a2f3b9d97754ced5382bb3fb3e8f40
Stats:     1 line in 1 file changed: 1 ins; 0 del; 0 mod

8366145: G1: Help diagnose ubsan division by zero in computing pause time ratios (g1Analytics.cpp)

Reviewed-by: tschatzl, kbarrett

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

PR: https://git.openjdk.org/jdk/pull/26939


More information about the hotspot-gc-dev mailing list