RFR: 8331201: UBSAN enabled build reports on Linux x86_64 runtime error: shift exponent 65 is too large for 64-bit type 'long unsigned int' [v2]

Dean Long dlong at openjdk.org
Mon Jan 6 22:09:42 UTC 2025


On Thu, 19 Dec 2024 16:12:50 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:

>> Afshin Zafari has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   removed extra blank lines
>
> src/hotspot/share/runtime/signature.cpp line 191:
> 
>> 189: 
>> 190:   // Detect overflow.  (We counted _param_size correctly.)
>> 191:   if (_method == nullptr && _param_count > fp_max_size_of_parameters) {
> 
> Seems like `fp_max_size_of_parameters` ought to be renamed.  But I found other uses
> that are comparing to something else, so maybe there are problems elsewhere.
> Also, the use of "size" in both the preceding and following comments needs to be updated.

I agree, the code is confusing.  Comparing _method->size_of_parameters() to fp_max_size_of_parameters is not quite correct but only results in false overflows, so it's mostly harmless and can be fixed in a separate RFE.  I think the correct thing to do is compare either param count or shift count.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22807#discussion_r1904685250


More information about the hotspot-runtime-dev mailing list