sap / sapmachine Goto Github PK
View Code? Open in Web Editor NEWAn OpenJDK release maintained and supported by SAP
Home Page: https://sapmachine.io
License: GNU General Public License v2.0
An OpenJDK release maintained and supported by SAP
Home Page: https://sapmachine.io
License: GNU General Public License v2.0
Downport 8215962: Support ThreadPriorityPolicy mode 1 for non-root users on linux/bsd
It would be nice if you could support macOS too, since quite a few devs use it and it's also a supported OS inside SAP.
There are a few places where SapMachine differs from OpenJDK. That might be different default values for VM options or configuration parameters or even added functionality.
For these differences, existing regression test cases had to be adapted or even additional test cases have been added.
Since these paths are not covered by OpenJDK community testing we shall add these tests to the tier1 layer in order to have them regularly executed already in pull request testing.
In 11.0.2, a row of tests and bugs were fixed. Remove these from the ProblemList.
Add some cert tests which fail because the certificates expired.
Update our tags, remove initials.
The dt_filesocket debug transport in the sapmachine11 repository needs a few improvemts:
Missing quote in default definition of VENDOR_URL_BUG.
Downport 8207849: Allow the addition of more number to the Java version string
The test jdk/java/net/Socket/ExceptionText.java currently fails in sapmachine11. Fix this.
SDKMan (https://sdkman.io/) allows you to install and manage different versions of JDKs (and other Java-related tools) via CLI, the same way RVM does for Ruby. They have a well-documented procedure describing how to add development kits and their versions to it at https://sdkman.io/vendors.
Supporting installation via SDKMan may increase SAPMachine popularity and adoption outside SAP customer base, which would help improve the product itself.
Hi. More a question than a defect....:
Is it allowed for firms (f.e. SAP partners) to deliver the SapMachine jre (bundelt) with their product (as private jre) without loosing their commerical rights? Or must they deliver on GPL (with copyleft)?
Thanks for the Information
Marco
SapMachine11 includes a preliminary solution for accessing poxis permisisons in zip archives (https://bugs.openjdk.java.net/browse/JDK-8213031).
I'd like to push a testcase cleanup and a missing tag in ZipFileSystem.java.
Add a debug transport called dt_filesocket which uses safe ways to connect to a client.
It should use named pipes on Windows and Unix domain sockets on Unix. For the first version, no JDI connector which could handle this transport is needed, just the raw transport.
There are a few jtreg tests that currently fail and which have to be resolved in SapMachine (e.g. different default values in SapMachine vs. OpenJDK).
runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java is failing in OpenJDK.
Exclude the test until fixed.
The fix for VM Option -XX:ThreadPriorityPolicy shall go into SapMachine12 as well.
OpenJDK bug: https://bugs.openjdk.java.net/browse/JDK-8215962
I have also requested OpenJDK 12u downport .
Update the "Have an issue section?" in Readme.md
https://bugs.openjdk.java.net/browse/JDK-82197212 was submitted to jdk12u but it is not part of the JDK12 release. SapMachine should include it already then.
There are a few typos in README.md which should be fixed.
One was reported Lucas Gabriel Schneider in PR #177.
There are still some reference to Alpine Linux left in the README.md.
These should be removed.
Going through the diffs of SapMachine to OpenJDK, there are a few places, where
a) the license headers are not fully correct
b) SapMachine specific changes are not correctly tagged
c) trailing whitespace was introduced
d) Readme.md in sapmachine11 and sapmachine12 branches should be updated to the version from sapmachine
This shall be fixed/cleaned up
(Cherry-picks #220)
"8211845: A new switch to control verbosity of hs-err files" introduces the flag
ExtensiveErrorReports to OpenJDK. We contributed this change to add more
verbose output to hs_err files that is not desired in OpenJDK by default.
An example usage is "8211326: add OS user related information to hs_err file"
To improve the servicability, we enable ExtensiveErrorReports in SapMachine11 by default.
This issue tracks development of JDK-8212618 "A low-cost, always on statistical value history".
This proposed feature has been rejected upstream since it is perceived to collide with JMC/JFR.
We consider it useful enough and the merge cost to be small enough to integrate it into the SapMachine.
Details:
SAP developed a supportability feature called "Statistics History" which is a low cost history of statistical values-of-interest.
These values contain parameters of the jvm (e.g. heap size, metaspace size, number of loaded classes) and the underlying platform (e.g. rss, swapping state, run queue length etc). At intervals of (by default) 60 seconds these values are measured and stored in a fifo buffer.
The fifo buffer has three parts, a short-, medium-, and long term fifo buffer. A fraction of the samples falling out of the short term fifo is transferred to the mid term fifo; again, a fraction of the samples falling out of the mid term fifo is transferred to the long term fifo. So, the short term fifo covers a short recent timespan (usually an hour) in comparativly short sample intervals (usually 60 seconds), whereas the long term fifo covers a very long time span (~10 days) with interval times of hours.
This feature has been very popular with our support folks and so we would like to contribute that. It enables us to easily analyze slowly developing situations like memory leaks, memory or cpu spikes, resource starvation etc.
[1] JDK-8212618 - Original JBS issue, closed as Wont Fix
[2] Patch on Github
[3] Example output
The build on Windows is broken because libCreateNewProcessGroupOnSpawnTest.c gets compiled on Windows when it shouldn't. The test is non Windows only.
It's time to update the langtools problem list a little bit. One failing test has been fixed in the meanwhile.
We want to deliver "8214892: Delayed starting of debugging via jcmd" in update 11.0.2.
We requested downport of this feature in OpenJDK, but the change will not make it into 11.0.2. in any case.
The SapMachine specific problem lists need an update.
A new switch is added, -Dsap.jdk.lang.Process.createNewProcessGroupsOnSpawn. If this switch is set to true, new processes started with ProcessBuilder.start or with Runtime.exec() will be leader of an own process group instead of belonging to the process group of the parent VM.
Support for Posix permissions with jdk.zipfs (as proposed in https://bugs.openjdk.java.net/browse/JDK-8213031) shall be added to SapMachine 11.
After the changes for the following changes were pushed to openjdk main line, we can re-enable some tests.
https://bugs.openjdk.java.net/browse/JDK-8215568
https://bugs.openjdk.java.net/browse/JDK-8217473
JDK-8034802 needs to be cherry-picked to sapmachine11. It is kind of a prerequisite for the enhancements to zipfs regarding Posix permissions. It is needed to fix issues shown by its jtreg testcase jdk/nio/zipfs/TestPosixPerms.java. A downport to jdk11u will be requested in the OpenJDK as well.
Fix failing pr validation on linuxppc64le by excluding
gc/g1/humongousObjects/TestHumongousClassLoader.java
gc/g1/humongousObjects/TestHumongousNonArrayAllocation.java
Remove some tests that don't exist any more or are part of the common exclude list.
Do some cleanups.
Hi,
I was at the FOSDEM talk from @simonis. This is how I become aware of the SapMachine project
Now to my request: A Windows Installer for SapMachine would be great. That's why I built one. Please have a look: https://github.com/Cyclenerd/SapMachineInstaller
With an installer a roll-out in companies is much easier and in general everything would be much easier.
Do you see a chance to implement the installer in your build process so that there is always an installer version for Windows besides the ZIP?
Best regards
Nils
Backports for sapmachine11.2:
8213086: Compiler thread creation should be bounded by available spac…
8214352: C1: Unnecessary "compilation bailout: block join failed" wit…
I'd like to backport 8213086 from 11u3 to have a better limit for compiler threads.
The backport of 8214352 from 13 is for better behavior with debugging on demand (JVMTI "can_access_local_variables" enabled). Both changes apply cleanly.
There's still an issue with jdk/nio/zipfs/TestPosixPerms.java, seen on Linux/Unix machines where the Default Filesystem is POSIX.
The change for JDK-8217773 needs to be cherry-picked because it conflicts with the temporary solution to fix test jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java of the langtools suite.
After the cherry-pick, source is identical with OpenJDK again.
Code review did uncover some minor issues but #241 was already pushed.
"8211845: A new switch to control verbosity of hs-err files" introduces the flag
ExtensiveErrorReports to OpenJDK. We contributed this change to add more
verbose output to hs_err files that is not desired in OpenJDK by default.
An example usage is "8211326: add OS user related information to hs_err file"
To improve the servicability, we enable ExtensiveErrorReports by default.
We will enable this in jdk 11, 12, too.
There are several places in OpenJDK where vendors can add their branding information. This gets effective in e.g. System properties, executable meta information, icons etc. SapMachine should make use of this.
There are a very few places, where SAPMachine specific changes in shared code were made but those were not tagged or the diff is unnecessary.
SapMachine modified the default setting of java.security property jdk.includeInExceptions, as documented in https://github.com/SAP/SapMachine/wiki/Differences-between-SapMachine-and-OpenJDK#other-minor-differences.
Due to an integration issue we are missing the value "jar" in the sapmachine branch (JDK12) and for branch sapmachine11 (JDK11) this was not integrated at all.
test
The zipfs enhancements that allow for storing POSIX permissions in zip archives via the zipfs file system provider of SapMachine11 have a compatibility issue with earlier SAP-closed versions of this.
The original closed version would restore an empty set of permissions as default return value of ZipFileAttributes::permissions while the initial version in SapMachine11 would throw an UnsupportedOperationException. The later needs to be changed to keep compatibility.
The test test/jdk/java/net/Socket/ExceptionText.java is failing because jdk.includeInExceptions is set to "hostInfo,jar" in SapMachine, while it's not set in OpenJDK.
The OpenJDK change JDK-8209942: [epsilon] range function for EpsilonTLABElasticity causes compiler warning
contains a build fix that is required on Windows to be able to use WarningsAsErrors in the build.
Create a template for SapMachine pull requests.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.