diff --git a/1423421.patch b/1423421.patch new file mode 100644 index 0000000..384c52a --- /dev/null +++ b/1423421.patch @@ -0,0 +1,33 @@ +# HG changeset patch +# User ksrini +# Date 1414764176 25200 +# Fri Oct 31 07:02:56 2014 -0700 +# Node ID 9fd9a50e7994a9659c5ef21296d0baee4c2eecff +# Parent fd59a2d4313440077fce3fbf39174755a15d285a +8061305: Javadoc crashes when method name ends with "Property" +Reviewed-by: jjg + +diff --git jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java +--- jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java ++++ jdk8/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java +@@ -656,6 +656,9 @@ + // properties aren't named setA* or getA* + private final Pattern pattern = Pattern.compile("[sg]et\\p{Upper}.*"); + private boolean isPropertyMethod(MethodDoc method) { ++ if (!configuration.javafx) { ++ return false; ++ } + if (!method.name().endsWith("Property")) { + return false; + } +@@ -667,7 +670,9 @@ + if (pattern.matcher(method.name()).matches()) { + return false; + } +- ++ if (method.typeParameters().length > 0) { ++ return false; ++ } + return 0 == method.parameters().length + && !"void".equals(method.returnType().simpleTypeName()); + } diff --git a/8170888-pr3314-rh1390708.patch b/8170888-pr3314-rh1390708.patch new file mode 100644 index 0000000..b72a811 --- /dev/null +++ b/8170888-pr3314-rh1390708.patch @@ -0,0 +1,83 @@ +# HG changeset patch +# User dholmes +# Date 1483660520 18000 +# Thu Jan 05 18:55:20 2017 -0500 +# Node ID 652fe741b8f2bfdacba66d772cc89fe7ec6dea66 +# Parent 9e43b1c17a3ad5b26d64499c72db61a1dc1649f0 +8170888, PR3314: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments +Summary: Set apparent physical memory to cgroup memory limit when UseCGroupMemoryLimitForHeap is true +Reviewed-by: acorn, gtriantafill +Contributed-by: Christine Flood + +diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp +--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -1768,10 +1768,39 @@ + FLAG_SET_CMDLINE(uintx, MaxRAMFraction, DefaultMaxRAMFraction); + } + +- const julong phys_mem = ++ julong phys_mem = + FLAG_IS_DEFAULT(MaxRAM) ? MIN2(os::physical_memory(), (julong)MaxRAM) + : (julong)MaxRAM; + ++ // Experimental support for CGroup memory limits ++ if (UseCGroupMemoryLimitForHeap) { ++ // This is a rough indicator that a CGroup limit may be in force ++ // for this process ++ const char* lim_file = "/sys/fs/cgroup/memory/memory.limit_in_bytes"; ++ FILE *fp = fopen(lim_file, "r"); ++ if (fp != NULL) { ++ julong cgroup_max = 0; ++ int ret = fscanf(fp, JULONG_FORMAT, &cgroup_max); ++ if (ret == 1 && cgroup_max > 0) { ++ // If unlimited, cgroup_max will be a very large, but unspecified ++ // value, so use initial phys_mem as a limit ++ if (PrintGCDetails && Verbose) { ++ // Cannot use gclog_or_tty yet. ++ tty->print_cr("Setting phys_mem to the min of cgroup limit (" ++ JULONG_FORMAT "MB) and initial phys_mem (" ++ JULONG_FORMAT "MB)", cgroup_max/M, phys_mem/M); ++ } ++ phys_mem = MIN2(cgroup_max, phys_mem); ++ } else { ++ warning("Unable to read/parse cgroup memory limit from %s: %s", ++ lim_file, errno != 0 ? strerror(errno) : "unknown error"); ++ } ++ fclose(fp); ++ } else { ++ warning("Unable to open cgroup memory limit file %s (%s)", lim_file, strerror(errno)); ++ } ++ } ++ + // If the maximum heap size has not been set with -Xmx, + // then set it as fraction of the size of physical memory, + // respecting the maximum and minimum sizes of the heap. +diff --git a/src/share/vm/runtime/globals.hpp b/src/share/vm/runtime/globals.hpp +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -2080,6 +2080,10 @@ + "Maximum ergonomically set heap size (in bytes); zero means use " \ + "MaxRAM / MaxRAMFraction") \ + \ ++ experimental(bool, UseCGroupMemoryLimitForHeap, false, \ ++ "Use CGroup memory limit as physical memory limit for heap " \ ++ "sizing") \ ++ \ + product(uintx, MaxRAMFraction, 4, \ + "Maximum fraction (1/n) of real memory used for maximum heap " \ + "size") \ diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 5dfff61..24577b4 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -801,7 +801,7 @@ Obsoletes: java-1.7.0-openjdk-accessibility%1 Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever} -Release: 4.%{buildver}%{?dist} +Release: 5.%{buildver}%{?dist} # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -929,10 +929,15 @@ Patch526: 6260348-pr3066.patch # S8162384, PR3122, RH1358661: Performance regression: bimorphic inlining may be bypassed by type speculation Patch532: 8162384-pr3122-rh1358661.patch +# Patches upstream and appearing in 8u131 +# 8170888, PR3314, RH1390708: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments +Patch536: 8170888-pr3314-rh1390708.patch + # Patches upstream and appearing in 8u152 # 8153711, PR3313, RH1284948: [REDO] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command Patch535: 8153711-pr3313-rh1284948.patch -Patch536: 1417266.patch +Patch537: 1417266.patch +Patch538: 1423421.patch # Patches ineligible for 8u # 8043805: Allow using a system-installed libjpeg @@ -1285,6 +1290,8 @@ sh %{SOURCE12} %patch533 %patch535 %patch536 +%patch537 +%patch538 # RHEL-only patches %if 0%{?rhel} @@ -1929,6 +1936,11 @@ require "copy_jdk_configs.lua" %endif %changelog +* Mon Feb 20 2017 jvanek - 1:1.8.0.121-5.b14 +- patch 536 reordered to 537 +- added patch 536 - Backport "8170888: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments" +- added patch 538 - 1423421: Javadoc crashes when method name ends with "Property" + * Fri Feb 17 2017 jvanek - 1:1.8.0.121-4.b14 - added Patch535 and 526 - tweeked debugsymbols check for sigill