Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8302511: HitInfo.toString() throws IllegalArgumentException #1154

Conversation

andy-goryachev-oracle
Copy link
Contributor

@andy-goryachev-oracle andy-goryachev-oracle commented Jun 14, 2023

A recent change in JDK-8304831 ensured that insertionIndex is always computed prior to HitInfo construction, making it possible to remove buggy logic in HitInfo. This change also allows for removal of the 'text' field.

There should be no impact since the constructor is package protected.


Progress

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

Issue

  • JDK-8302511: HitInfo.toString() throws IllegalArgumentException (Bug - P4)

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1154

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jfx/pull/1154.diff

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jun 14, 2023

👋 Welcome back angorya! 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.

@andy-goryachev-oracle andy-goryachev-oracle marked this pull request as ready for review June 14, 2023 16:06
@openjdk openjdk bot added the rfr Ready for review label Jun 14, 2023
@mlbridge
Copy link

mlbridge bot commented Jun 14, 2023

Webrevs

@kevinrushforth
Copy link
Member

Reviewers: @prrace @karthikpandelu

/reviewers 2

@openjdk
Copy link

openjdk bot commented Jun 14, 2023

@kevinrushforth
The total number of required reviews for this PR (including the jcheck configuration and the last /reviewers command) is now set to 2 (with at least 1 Reviewer, 1 Author).

@kevinrushforth
Copy link
Member

The fix looks good to me, but I'll let Phil and Karthik formally review it.

Copy link
Member

@karthikpandelu karthikpandelu left a comment

Choose a reason for hiding this comment

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

The fix looks good to me.
Can we add a test to verify the changes?
Another minor comment: copyright year can be updated in Text.java as well.

@andy-goryachev-oracle
Copy link
Contributor Author

thank you for the suggestions, @karthikpandelu !

  • modified TextFlowSurrogatePaitInsertionIndexTest to test for invariants
  • added a similar test for Text
  • updated copyright year

@openjdk openjdk bot removed the rfr Ready for review label Jun 15, 2023
Copy link
Member

@karthikpandelu karthikpandelu left a comment

Choose a reason for hiding this comment

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

Thanks for updating the test and adding new test @andy-goryachev-oracle.
Please check the jcheck failure.
I have one minor comment added inline.

@BeforeClass
public static void initFX() {
long seed = new Random().nextLong();
System.out.println("seed=" + seed);
Copy link
Member

Choose a reason for hiding this comment

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

Do we need this print statement?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes. I've added a brief comment, but let me explain in more detail:

these tests use random patterns to avoid hitting the same values each time. for example, in TextFlowSurrogatePairInsertionIndexTest many tests incremented the x coordinate by 5 prior to this change, but what if we had an error condition happening with x = 21?. the old test never hit that value, but the new one might (at some point). so we effectively extending the test coverage every time the test runs.

and, if we ever encounter a failure, it will be possible to reproduce the exact failure scenario by setting the same seed as found in the failed log.

Copy link
Member

Choose a reason for hiding this comment

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

Thanks for the details @andy-goryachev-oracle

@openjdk openjdk bot added the rfr Ready for review label Jun 16, 2023
Copy link
Collaborator

@aghaisas aghaisas left a comment

Choose a reason for hiding this comment

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

LGTM.

@openjdk
Copy link

openjdk bot commented Jun 23, 2023

@andy-goryachev-oracle 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:

8302511: HitInfo.toString() throws IllegalArgumentException

Reviewed-by: kpk, aghaisas

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 7 new commits pushed to the master branch:

  • c224615: 8180066: Convert package.html files to package-info.java
  • a17a714: 8299348: Size-restricted window can be observed with incorrect dimensions
  • 77c43e0: 8304290: Some JNI calls made without checking exceptions in media
  • 0d9dcf3: 8264449: Enable reproducible builds with SOURCE_DATE_EPOCH
  • 4232183: 8307542: Call to FcConfigAppFontAddFile uses wrong prototype, arguments
  • 7eb9a1c: 8306121: Scene not rendered initially when changing scenes after fix for JDK-8296621
  • 8d13ba9: 8310024: Skip failing scene change tests on macOS

Please see this link for an up-to-date comparison between the source branch of this pull request and the master branch.
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.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready Ready to be integrated label Jun 23, 2023
@andy-goryachev-oracle
Copy link
Contributor Author

/integrate

@openjdk
Copy link

openjdk bot commented Jun 23, 2023

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

  • 152a43e: 8310667: Normalize comment blocks in newly-converted package-info.java files
  • c224615: 8180066: Convert package.html files to package-info.java
  • a17a714: 8299348: Size-restricted window can be observed with incorrect dimensions
  • 77c43e0: 8304290: Some JNI calls made without checking exceptions in media
  • 0d9dcf3: 8264449: Enable reproducible builds with SOURCE_DATE_EPOCH
  • 4232183: 8307542: Call to FcConfigAppFontAddFile uses wrong prototype, arguments
  • 7eb9a1c: 8306121: Scene not rendered initially when changing scenes after fix for JDK-8296621
  • 8d13ba9: 8310024: Skip failing scene change tests on macOS

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Jun 23, 2023
@openjdk openjdk bot closed this Jun 23, 2023
@openjdk openjdk bot removed ready Ready to be integrated rfr Ready for review labels Jun 23, 2023
@openjdk
Copy link

openjdk bot commented Jun 23, 2023

@andy-goryachev-oracle Pushed as commit d2683b9.

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

@andy-goryachev-oracle andy-goryachev-oracle deleted the 8302511.hit.info branch June 23, 2023 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integrated Pull request has been integrated
4 participants