RFR: 8346888: [ubsan] block.cpp:1617:30: runtime error: 9.97582e+36 is outside the range of representable values of type 'int'
Damon Fenacci
dfenacci at openjdk.org
Wed Mar 12 07:57:52 UTC 2025
On Tue, 11 Mar 2025 22:55:42 GMT, Dean Long <dlong at openjdk.org> wrote:
>>> Adding to @dean-long's questions, I was wondering how we can get to a 9.97582e+36 value (since it is a runtime ubsan issue): is this a result of successive rounding-ups or there is perhaps an upstream issue?
>>
>> That's a good question. I could add a bit of tracing or asserts to find out more about this.
>> It seems this is an aarch64 related thing because on (Linux) x86_64/ppc64le I never observed this.
>> Do you think those high values are not expected ?
>
> Also, to compute `from_pct`, we end up multiplying and then dividing by the same value `b->_freq`, which cancel out and simplify to `100 * b->succ_prob(j)`. Furthermore, succ_prob() should always return a value between 0.0 and 1.0, so the real problem is probably only `to_pct` and very small values of `target->_freq`.
> Do you think those high values are not expected ?
Sorry, my mistake. As @dean-long pointed out they are to be expected with very small values of `target->_freq`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23962#discussion_r1990884638
More information about the hotspot-compiler-dev
mailing list