Skip to content

7036144: GZIPInputStream readTrailer uses faulty available() test for end-of-stream #3667

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

toddjonker
Copy link
Contributor

@toddjonker toddjonker commented Jun 19, 2025

This is a clean backport of d3f3011, originally authored by @archiecobbs and reviewed by @jaikiran

The corresponding backport for JDK21 is openjdk/jdk21u-dev#1897

Testing:

  • New regression test fails without the fix, passes with it
  • linux-x86_64-server-release: headless tiers 1-3

Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change requires CSR request JDK-8340729 to be approved
  • JDK-7036144 needs maintainer approval

Issues

  • JDK-7036144: GZIPInputStream readTrailer uses faulty available() test for end-of-stream (Bug - P4 - Requested)
  • JDK-8340729: GZIPInputStream readTrailer uses faulty available() test for end-of-stream (CSR)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk17u-dev.git pull/3667/head:pull/3667
$ git checkout pull/3667

Update a local copy of the PR:
$ git checkout pull/3667
$ git pull https://git.openjdk.org/jdk17u-dev.git pull/3667/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 3667

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk17u-dev/pull/3667.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jun 19, 2025

👋 Welcome back toddjonker! 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 Jun 19, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk openjdk bot changed the title Backport d3f3011d56267360d65841da3550eca79cf1575b 7036144: GZIPInputStream readTrailer uses faulty available() test for end-of-stream Jun 19, 2025
@openjdk
Copy link

openjdk bot commented Jun 19, 2025

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk bot added backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required approval Requires approval; will be removed when approval is received and removed approval Requires approval; will be removed when approval is received labels Jun 19, 2025
@toddjonker toddjonker marked this pull request as ready for review July 2, 2025 17:21
@openjdk
Copy link

openjdk bot commented Jul 2, 2025

⚠️ @toddjonker This change is now ready for you to apply for maintainer approval. This can be done directly in each associated issue or by using the /approval command.

@openjdk openjdk bot added the rfr Pull request is ready for review label Jul 2, 2025
@toddjonker
Copy link
Contributor Author

/approval request This issue has been observed causing data loss.

@toddjonker
Copy link
Contributor Author

/integrate auto

@openjdk
Copy link

openjdk bot commented Jul 2, 2025

@toddjonker
7036144: The approval request has been created successfully.

@openjdk openjdk bot added the approval Requires approval; will be removed when approval is received label Jul 2, 2025
@mlbridge
Copy link

mlbridge bot commented Jul 2, 2025

Webrevs

@GoeLin
Copy link
Member

GoeLin commented Jul 4, 2025

Hi @toddjonker
Have you tested anything besides the jtreg tests mentioned above?
This change modifies behaviour, this might have negative side effects, especially on the many working installations that receive this update. Oracle tried to backport, but they didn't deliver it. Usually, they have a good reason for this.
Do we need to rush this backport? I would rather defer it to the next (January) release to get experience with the change in 21. People can go to 21 or soon 25 if they have an issue.

@toddjonker
Copy link
Contributor Author

Hi @GoeLin, I've not tested further. My expectation was that the "bake time" sufficient to backport to 21 was sufficient for earlier releases.

People can go to 21 or soon 25 if they have an issue.

In the environment I support, we cannot assume that JDK updates, especially from older releases (like 11), are straightforward; in fact they can be quite costly. I'd personally rather prevent the inevitable-at-scale data loss than tell customers they have to update to avoid it.

Anyway, it sounds like you'd prefer we hold off on this for a while, so I'll update our own issue tracking and then pull this back into draft status.

@GoeLin
Copy link
Member

GoeLin commented Jul 8, 2025

Hi @toddjonker
I'm sorry, I'm really getting careful lately because we see too many regressions in every update and the rate of backports seems to go up instead of down. I'll label it defer-next and probably approve for the January update.

@openjdk
Copy link

openjdk bot commented Jul 15, 2025

@toddjonker JCheck configuration is invalid in the target branch of this pull request. Please issue this command again once the problem has been resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approval Requires approval; will be removed when approval is received backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required rfr Pull request is ready for review
Development

Successfully merging this pull request may close these issues.

2 participants