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

[JENKINS-72579] Adjust heap dump file name for compatibility with OpenJDK file suffix requirements #8881

Merged
merged 1 commit into from
Jan 24, 2024

Conversation

balaji-sivasakthi
Copy link
Contributor

@balaji-sivasakthi balaji-sivasakthi commented Jan 19, 2024

See JENKINS-72579

Testing done

Done

Proposed changelog entries

  • Adjust heap dump file name for compatibility with OpenJDK file suffix requirements.

Proposed upgrade guidelines

N/A

Submitter checklist

Preview Give feedback

Desired reviewers

@mention

Before the changes are marked as ready-for-merge:

Maintainer checklist

Preview Give feedback

Copy link

welcome bot commented Jan 19, 2024

Yay, your first pull request towards Jenkins core was created successfully! Thank you so much!

A contributor will provide feedback soon. Meanwhile, you can join the chats and community forums to connect with other Jenkins users, developers, and maintainers.

@@ -215,6 +215,8 @@ public void doIndex(StaplerResponse rsp) throws IOException {
@WebMethod(name = "heapdump.hprof")
public void doHeapDump(StaplerRequest req, StaplerResponse rsp) throws IOException, InterruptedException {
owner.checkPermission(Jenkins.ADMINISTER);
String propertyName = "jdk.management.heapdump.allowAnyFileSuffix";
Copy link
Contributor

Choose a reason for hiding this comment

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

wouldn't it be easier to just change the suffix to .hprof in line 179?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok, I changed it.

@basil
Copy link
Member

basil commented Jan 20, 2024

Software testing is necessary to identify and fix any errors or bugs and to ensure the software functions as expected, providing a reliable and user-friendly experience. For this reason, the Testing Done section of the PR template is mandatory, not optional. Can you please confirm that you can start Jenkins with java -jar jenkins.war, complete the setup wizard, and visit http://${JENKINS_URL}/heapDump before and after this change. Before this PR you should get an error, and after this PR your browser should download an hprof heap dump which you should be able to open with e.g. VisualVM. If you can complete all this testing as expected then please update the Testing Done section with the results.

@basil basil self-assigned this Jan 20, 2024
@balaji-sivasakthi
Copy link
Contributor Author

balaji-sivasakthi commented Jan 20, 2024

@basil

Before without .

java.lang.IllegalArgumentException: heapdump file must have .hprof extension
        at jdk.management/com.sun.management.internal.HotSpotDiagnostic.dumpHeap(HotSpotDiagnostic.java:60)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:64)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at java.base/sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:97)
        at java.management/com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)
        at java.management/com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)
        at java.management/com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:115)
        at java.management/com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:52)
        at java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:236)
        at java.management/com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
        at java.management/com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
        at java.management/javax.management.StandardMBean.invoke(StandardMBean.java:405)
        at

After including .

Screenshot 2024-01-20 at 11 17 56 AM

@NotMyFault NotMyFault changed the title fix: heap dump suffix allow .hprof [JENKINS-72579] Fix generation of heap dumps Jan 21, 2024
@NotMyFault NotMyFault requested a review from a team January 21, 2024 15:13
@NotMyFault NotMyFault added the bug For changelog: Minor bug. Will be listed after features label Jan 21, 2024
Copy link
Member

@basil basil 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. Should include a changelog entry I think.

@daniel-beck daniel-beck added squash-merge-me Unclean or useless commit history, should be merged only with squash-merge and removed squash-merge-me Unclean or useless commit history, should be merged only with squash-merge labels Jan 22, 2024
@balaji-sivasakthi
Copy link
Contributor Author

@basil, should I add it, or will the core team add it? If I should add it, how do I do so?

@basil
Copy link
Member

basil commented Jan 23, 2024

If I should add it, how do I do so?

You can edit the PR description to fill in the "Proposed changelog entries" section.

@basil basil added the needs-security-review Awaiting review by a security team member label Jan 23, 2024
@basil
Copy link
Member

basil commented Jan 23, 2024

@jenkinsci/core-security-review It's been a while since this feature worked. During the intervening years, are there any new security requirements that would inhibit the reintroduction of this feature?

@balaji-sivasakthi
Copy link
Contributor Author

@basil I have updated the changelog.

@Kevin-CB Kevin-CB added security-approved @jenkinsci/core-security-review reviewed this PR for security issues and removed needs-security-review Awaiting review by a security team member labels Jan 24, 2024
@basil
Copy link
Member

basil commented Jan 24, 2024

This PR is now ready for merge. We will merge it after approximately 24 hours if there is no negative feedback. Please see the merge process documentation for more information about the merge process. Thanks!

@basil basil added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Jan 24, 2024
@basil basil changed the title [JENKINS-72579] Fix generation of heap dumps [JENKINS-72579] Adjust heap dump file name for compatibility with OpenJDK file suffix requirements Jan 24, 2024
@basil basil merged commit a32f24c into jenkinsci:master Jan 24, 2024
17 checks passed
Copy link

welcome bot commented Jan 24, 2024

Congratulations on getting your very first Jenkins core pull request merged 🎉🥳

This is a fantastic achievement, and we're thrilled to have you as part of our community! Thank you for your valuable input, and we look forward to seeing more of your contributions in the future!

We would like to invite you to join the community chats and forums to meet other Jenkins contributors 😊
Don't forget to check out the participation page to learn more about how to contribute to Jenkins.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug For changelog: Minor bug. Will be listed after features ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback security-approved @jenkinsci/core-security-review reviewed this PR for security issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants