Git Product home page Git Product logo

sap / sapmachine Goto Github PK

View Code? Open in Web Editor NEW
488.0 32.0 90.0 711.44 MB

An OpenJDK release maintained and supported by SAP

Home Page: https://sapmachine.io

License: GNU General Public License v2.0

Makefile 0.01% Shell 0.15% JavaScript 0.02% M4 0.15% Java 74.74% Roff 0.16% CSS 0.01% Python 0.05% C++ 13.80% C 7.20% HTML 0.28% XSLT 0.23% Perl 0.01% Assembly 2.80% DTrace 0.01% Objective-C 0.39% Awk 0.01% Batchfile 0.01% Red 0.01% SourcePawn 0.01%
openjdk java open-source jdk javase jvm jse

sapmachine's Introduction

GitHub release (latest by date) DockerPulls

SapMachine

This project contains a downstream version of the OpenJDK project. It is used to build and maintain a SAP supported version of OpenJDK for SAP customers and partners who wish to use OpenJDK to run their applications.

We want to stress that this is clearly a "friendly fork". SAP is committed to ensuring the continued success of the Java platform. SAP is:

Downloads

Check out the Download section on https://sapmachine.io.

Documentation

Check out our FAQs and wikipages for information about:

Have an issue?

If it's SapMachine specific please let us know by filing a new issue.

Please notice that the SapMachine issue tracker is mainly used internally by the SapMachine team to organize its work (i.e. sync with upstream, downporting fixes, add SapMachine specific features, etc.).

General VM/JDK bugs are maintained directly in the OpenJDK Bug System. You can open a SapMachine issue with a reference to an open or resolved OpenJDK bug if you want us to resolve the issue or downport the fix to a specific SapMachine version. If you find a general VM/JDK bug in SapMachine and don't have write access to the OpenJDK Bug System you can open an issue here and we'll take care to open a corresponding OpenJDK bug for it.

Every SapMachine release contains at least all the fixes of the corresponding OpenJDK release it is based on. You can easily find the OpenJDK base version by looking at the SapMachine version string.

You can find the Differences between SapMachine and OpenJDK and the Features Contributed by SAP in the SapMachine Wiki.

Contributing

We currently do not accept external contributions for this project. If you want to improve the code or fix a bug please consider contributing directly to the upstream OpenJDK project. Our repositories will be regularly synced with the upstream project so any improvements in the upstream OpenJDK project will directly become visible in our project as well.

License

This project is run under the same licensing terms as the upstream OpenJDK project. Please see the LICENSE file in the top-level directory for more information.

sapmachine's People

Contributors

albertnetymk avatar chrishegarty avatar cl4es avatar coleenp avatar dfuch avatar erikj79 avatar hns avatar iignatev avatar iklam avatar jddarcy avatar jesperirl avatar jonathan-gibbons avatar lahodaj avatar magicus avatar mbaesken avatar mcimadamore avatar mrserb avatar naotoj avatar prrace avatar prsadhuk avatar realclanger avatar rwestrel avatar shipilev avatar stefank avatar sundararajana avatar tobihartmann avatar tstuefe avatar wangweij avatar xueleifan avatar zhengyu123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sapmachine's Issues

Cherry-Pick change for JDK-8217773

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.

Fix typos in README.md

There are a few typos in README.md which should be fixed.
One was reported Lucas Gabriel Schneider in PR #177.

Add debug transport based on file sockets

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.

Improve dt_filesocket implementation

The dt_filesocket debug transport in the sapmachine11 repository needs a few improvemts:

  • A jtreg test
  • A mechanism to avoid leaving file socket files behind
  • Checking the connected user and not just relying on the file permissions. This is needed since on some platforms the connection permission is taken form the permission of the directory in which the domain sockets is created. Additionally it will be easier later to support abstract domain socket on unix later, since they cannot rely on file permissions at all.
    @

Update SapMachine branding

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.

Include tests for areas where SapMachine differs from OpenJDK in tier1

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.

Windows Installer

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

Cherry-pick JDK-8209942 to sapmachine11

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.

A low-cost, always on statistical value history (JDK-8212618)

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

License Question

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

11u2 backports

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.

Fix a compatibility issue in the zipfs enhancement for POSIX permissions

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.

Support lifetimes

I've added SapMachine to my list of OpenJDK builds. Other builds have a page describing how long each build will have security updates. Is there such a page/commitment for SapMachine? Thanks

Provide binaries for macOS

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.

Update SapMachine 11 ProblemLists.

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.

Add installation support via SDKMan

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.

Fix license headers, whitespace and SapMachine tagging

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

Update SapMachine specific problem lists

The SapMachine specific problem lists need an update.

  • Merge with the internal problem lists that SAP uses for OpenJDK regression testing
  • Add SapMachine infrastructure specific exclusions to reduce the number of false positives when running platform builds

Cherry-pick JDK-8034802 to sapmachine11

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.

Update jtreg exclude list for SapMachine

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.