Skip to content

8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024#23783

Closed
IvaVladimir wants to merge 1 commit intoopenjdk:masterfrom
IvaVladimir:JDK-8350682
Closed

8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024#23783
IvaVladimir wants to merge 1 commit intoopenjdk:masterfrom
IvaVladimir:JDK-8350682

Conversation

@IvaVladimir
Copy link

@IvaVladimir IvaVladimir commented Feb 25, 2025

Array initialization by parameter was added. Extra constant was used to align cycle step with used arrays.


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue

Issue

  • JDK-8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024 (Enhancement - P4)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/23783/head:pull/23783
$ git checkout pull/23783

Update a local copy of the PR:
$ git checkout pull/23783
$ git pull https://git.openjdk.org/jdk.git pull/23783/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 23783

View PR using the GUI difftool:
$ git pr show -t 23783

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/23783.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Feb 25, 2025

👋 Welcome back vaivanov! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Feb 25, 2025

@IvaVladimir This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024

Reviewed-by: xgong, drwhite, sviswanathan

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 85 new commits pushed to the master branch:

  • c4b516d: 8348322: AOT cache creation crashes with "All cached hidden classes must be aot-linkable" when AOTInvokeDynamicLinking is disabled
  • e470f47: 8350095: RISC-V: Refactor string_compare
  • f53de92: 8350931: RISC-V: remove unnecessary src register for fp_sqrt_d/f
  • e1fc14f: 8350940: RISC-V: remove unnecessary assert_different_registers in minmax_fp
  • 79880e5: 8351033: RISC-V: TestFloat16ScalarOperations asserts with offset (4210) is too large to be patched in one beq/bge/bgeu/blt/bltu/bne instruction!
  • bb70896: 8350903: Remove explicit libjvm.so dependency for libVThreadEventTest
  • 7c187b5: 8338737: Shenandoah: Reset marking bitmaps after the cycle
  • 3602c8c: 8350955: Fix repetitions of the word "the" in runtime component comments
  • c988d7d: 8350767: Fix -Wzero-as-null-pointer-constant warnings in nsk jni stress tests
  • 67dfdfa: 8350623: Fix -Wzero-as-null-pointer-constant warnings in nsk native test utilities
  • ... and 75 more: https://git.openjdk.org/jdk/compare/dea7a9f0d640e5234bafe2157aecd942c71d5de5...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@XiaohongGong, @dwhite-intel, @sviswa7) but any other Committer may sponsor as well.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

@openjdk openjdk bot added the rfr Pull request is ready for review label Feb 25, 2025
@openjdk
Copy link

openjdk bot commented Feb 25, 2025

@IvaVladimir The following label will be automatically applied to this pull request:

  • core-libs

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the core-libs core-libs-dev@openjdk.org label Feb 25, 2025
@mlbridge
Copy link

mlbridge bot commented Feb 25, 2025

Webrevs

@XiaohongGong
Copy link

Hi @IvaVladimir , thank you for fixing this benchmark. Could you please tell more information about the IOOBE crash (e.g. size, benchmark name, arch info, .etc) ? I still cannot figure out why it can fail with IOOBE. Thanks so much!

@XiaohongGong
Copy link

Hi @IvaVladimir , thank you for fixing this benchmark. Could you please tell more information about the IOOBE crash (e.g. size, benchmark name, arch info, .etc) ? I still cannot figure out why it can fail with IOOBE. Thanks so much!

I guess it happens when the parameter size is passed with a larger value than 512?

@IvaVladimir
Copy link
Author

Yes, exceptions reported for runs with size=1024. The test support max size=512 and have no checks for passed params.

@XiaohongGong
Copy link

Yes, exceptions reported for runs with size=1024. The test support max size=512 and have no checks for passed params.

The change makes sense to me. Thanks for your fixing!

@IvaVladimir IvaVladimir changed the title 8350682 [JMH] vector.IndexInRangeBenchmark failed with IOOBE 8350682 [JMH] vector.IndexInRangeBenchmark failed with IOOBE for size=1024 Feb 27, 2025
@IvaVladimir IvaVladimir changed the title 8350682 [JMH] vector.IndexInRangeBenchmark failed with IOOBE for size=1024 8350682 [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024 Feb 27, 2025
@openjdk openjdk bot changed the title 8350682 [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024 8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024 Feb 27, 2025
@Setup(Level.Trial)
public void Setup() {
mask = new boolean[512];
mask = new boolean[size + 64];
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason, for this to be "size + 64" instead of "size"?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This array iterated by steps from 8 to 64. If allocated array less than 64 it throws Exception.
Minimal array size is VectorSpecies for byte class. The constant was used instead of calculation.

Copy link

@sviswa7 sviswa7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@openjdk openjdk bot added the ready Pull request is ready to be integrated label Mar 3, 2025
@IvaVladimir
Copy link
Author

/integrate

Thanks for your review!

@openjdk openjdk bot added the sponsor Pull request is ready to be sponsored label Mar 3, 2025
@openjdk
Copy link

openjdk bot commented Mar 3, 2025

@IvaVladimir
Your change (at version 6f34507) is now ready to be sponsored by a Committer.

@dwhite-intel
Copy link

/sponsor

@openjdk
Copy link

openjdk bot commented Mar 3, 2025

Going to push as commit 768b024.
Since your change was applied there have been 85 commits pushed to the master branch:

  • c4b516d: 8348322: AOT cache creation crashes with "All cached hidden classes must be aot-linkable" when AOTInvokeDynamicLinking is disabled
  • e470f47: 8350095: RISC-V: Refactor string_compare
  • f53de92: 8350931: RISC-V: remove unnecessary src register for fp_sqrt_d/f
  • e1fc14f: 8350940: RISC-V: remove unnecessary assert_different_registers in minmax_fp
  • 79880e5: 8351033: RISC-V: TestFloat16ScalarOperations asserts with offset (4210) is too large to be patched in one beq/bge/bgeu/blt/bltu/bne instruction!
  • bb70896: 8350903: Remove explicit libjvm.so dependency for libVThreadEventTest
  • 7c187b5: 8338737: Shenandoah: Reset marking bitmaps after the cycle
  • 3602c8c: 8350955: Fix repetitions of the word "the" in runtime component comments
  • c988d7d: 8350767: Fix -Wzero-as-null-pointer-constant warnings in nsk jni stress tests
  • 67dfdfa: 8350623: Fix -Wzero-as-null-pointer-constant warnings in nsk native test utilities
  • ... and 75 more: https://git.openjdk.org/jdk/compare/dea7a9f0d640e5234bafe2157aecd942c71d5de5...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Mar 3, 2025
@openjdk openjdk bot closed this Mar 3, 2025
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review sponsor Pull request is ready to be sponsored labels Mar 3, 2025
@openjdk
Copy link

openjdk bot commented Mar 3, 2025

@dwhite-intel @IvaVladimir Pushed as commit 768b024.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core-libs core-libs-dev@openjdk.org integrated Pull request has been integrated

Development

Successfully merging this pull request may close these issues.

4 participants