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

Profiler lib native binaries: use ASF binaries with fix for NETBEANS-1428 #2853

Merged

Conversation

lbruun
Copy link
Contributor

@lbruun lbruun commented Apr 1, 2021

Use ASF-created binaries for Windows X86, Windows X64, MacOS X64, Linux X86 and Linux X64. The ASF-binaries includes the fix for NETBEANS-1428. For the rest of the platforms that were supported in the past (for example HP-UX, Solaris, Linux ARM) we keep these binaries in the distribution but they are no longer receiving bug fixes and they therefore don't have the fix NETBEANS-1428.

This PR continues (for now) to use the "external binaries" mechanism even if this mechanism was never intended for binaries originating from Apache NetBeans itself (duh!, they are not 'external'). In this light I probably didn't need to create the file external/profiler-external-binaries-ASF.txt but I did so for completeness.

…1428.

Use ASF-created binaries for Windows X86, Windows X64, MacOS X64, Linux X86 and Linux X64 which now includes the fix for NETBEANS-1428. For the rest of the platforms that were supported in the past (for example HP-UX, Solaris, Linux ARM) we keep these binaries in the distribution but they are no longer receiving bug fixes.
@lbruun
Copy link
Contributor Author

lbruun commented Apr 1, 2021

Instructions: Testing this PR

Provoke the crash (bug report NETBEANS-1428)

  1. Be sure that your NetBeans IDE uses a 64-bit JDK. In order to actually see the bug you need to be on Windows and your IDE must be using Java 9 or later.
  2. Start Netbeans IDE
  3. Select File|New Project|Samples|Java with Ant|Anagram Game .. and create the project.
  4. On the "AnagramGame" project: Go project properties|Libraries and make sure a JDK platform 9 or later is selected.
  5. On the "AnagramGame" project: Right click project and select "Profile".
  6. Click Configure Session and select "Methods"
  7. Start profiling session
  8. Anagram Game's window will briefly appear and then disappear. The Output Window will record a JVM crash.

Replace with new binaries

  1. Exit NetBeans IDE
  2. Download the profiler-external-binaries-ASF.zip from OSUOSL and explode it onto your NetBeans IDE installation directory, folder netbeans/profiler/, so that files from the ZIP overwrite what you already have on your harddisk. (you should make a backup prior to this of the files that will be overwritten).
  3. Start the IDE.
  4. Do steps 1-8 again from the "Provoke the crash" section. The crash should now no longer happen.

For MacOS and Linux there's no crash, so the test should be that the new binaries (also) work.

@neilcsmith-net
Copy link
Member

neilcsmith-net commented Apr 2, 2021

Please check the Travis failures - think one here and one caused by #2700 They need fixing prior to beta. Thanks!

@geertjanw
Copy link
Member

Rerunning the build.

@neilcsmith-net
Copy link
Member

@geertjanw it's a valid failure - some things need looking at.

@geertjanw
Copy link
Member

What needs to be done next for this one?

@neilcsmith-net
Copy link
Member

@matthiasblaesing has handled one issue with #2855 Then also have the verify license failing with this change at https://travis-ci.com/github/apache/netbeans/jobs/495693167#L1271

@matthiasblaesing
Copy link
Contributor

I'll see how to fix this optimally, I'm switching to this PR right now.

@matthiasblaesing
Copy link
Contributor

Ok, the fix will come from here: https://github.com/matthiasblaesing/netbeans/commits/lbruun-netbeans-1428-profiler-step2
the fix commit is: matthiasblaesing@29bdd50. When travis is happy with the fix for the line endings, I'll merge master and create a PR from that.

@vieiro
Copy link
Contributor

vieiro commented Apr 2, 2021

D'oh, another shared library in NetBeans! Good to know. I'm collecting these so we can build them automatically in different platforms.

I'm doing an experiment for Linux here: https://ci-builds.apache.org/job/Netbeans/job/netbeans-linux-shared-libraries/

@lbruun
Copy link
Contributor Author

lbruun commented Apr 2, 2021

D'oh, another shared library in NetBeans! Good to know. I'm collecting these so we can build them automatically in different platforms.

I'm doing an experiment for Linux here: https://ci-builds.apache.org/job/Netbeans/job/netbeans-linux-shared-libraries/

@vieiro
Excellent.
Be sure to use a CI platform which supports MacOS. Otherwise you'll be wasting your time. I think there's no MacOS build slave for Jenkins ci-builds.apache.org. Correct me if I'm wrong.
(I really have no psychological preference between all these choices of CI-systems : GitHub Actions, Travis, Infra's Jenkins, and so on)

From my experiments with creating a build pipeline for lib.profiler (see here) my hard earned conclusion for myself was that I should start with the MacOS platform, not do Linux first, when doing these experiments. (decent support for MacOS is really where these different CI platforms differ, the all do Linux very well, they do Windows ok'ish, but MacOS ??)

... and probably better to discuss on the mailing list. :-)

@matthiasblaesing matthiasblaesing merged commit a09a92b into apache:master Apr 2, 2021
@matthiasblaesing
Copy link
Contributor

@lbruun I merged the modified PR now, I hope it was ok with you, that I prepared the change without waiting for your approval.

@lbruun
Copy link
Contributor Author

lbruun commented Apr 2, 2021

@matthiasblaesing. Absolutely. I'm only grateful that you did it. Thanks!

@lbruun lbruun deleted the netbeans-1428-profiler-step2 branch March 19, 2022 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants