The following table lists the bug fixes included in the JDK 17.0.2 release:
| # | JBS | Component | Subcomponent | Summary |
|---|---|---|---|---|
| 1 | JDK-8269637 | client-libs | javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows | |
| 2 | JDK-8262031 | client-libs | Create implementation for NSAccessibilityNavigableStaticText protocol | |
| 3 | JDK-8267387 | client-libs | Create implementation for NSAccessibilityOutline protocol | |
| 4 | JDK-8275872 | client-libs | 2d | Sync J2DBench run and analyze Makefile targets with build.xml |
| 5 | JDK-8271718 | client-libs | 2d | Crash when during color transformation the color profile is replaced |
| 6 | JDK-8273135 | client-libs | 2d | java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7 |
| 7 | JDK-8273887 | client-libs | 2d | [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out |
| 8 | JDK-8276905 | client-libs | 2d | Use appropriate macosx_version_minimum value while compiling metal shaders |
| 9 | JDK-8273808 | client-libs | java.awt | Cleanup AddFontsToX11FontPath |
| 10 | JDK-8275131 | client-libs | java.awt | Exceptions after a touchpad gesture on macOS |
| 11 | JDK-8274326 | client-libs | javax.accessibility | [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m |
| 12 | JDK-8274056 | client-libs | javax.accessibility | JavaAccessibilityUtilities leaks JNI objects |
| 13 | JDK-8274381 | client-libs | javax.accessibility | missing CAccessibility definitions in JNI code |
| 14 | JDK-8267385 | client-libs | javax.accessibility | Create NSAccessibilityElement implementation for JavaComponentAccessibility |
| 15 | JDK-8267388 | client-libs | javax.accessibility | Create implementation for NSAccessibilityTable protocol |
| 16 | JDK-8274383 | client-libs | javax.accessibility | JNI call of getAccessibleSelection on a wrong thread |
| 17 | JDK-8277195 | client-libs | javax.accessibility | missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest] |
| 18 | JDK-8271071 | client-libs | javax.accessibility | accessibility of a table on macOS lacks cell navigation |
| 19 | JDK-8275809 | client-libs | javax.accessibility | crash in [CommonComponentAccessibility getCAccessible:withEnv:] |
| 20 | JDK-8273678 | client-libs | javax.accessibility | TableAccessibility and TableRowAccessibility miss autorelease |
| 21 | JDK-8275071 | client-libs | javax.accessibility | [macos] A11y cursor gets stuck when combobox is closed |
| 22 | JDK-8275819 | client-libs | javax.accessibility | [TableRowAccessibility accessibilityChildren] method is ineffective |
| 23 | JDK-8270893 | client-libs | javax.imageio | IndexOutOfBoundsException while reading large TIFF file |
| 24 | JDK-8269951 | client-libs | javax.swing | [macos] Focus not painted in JButton when setBorderPainted(false) is invoked |
| 25 | JDK-8266510 | client-libs | javax.swing | Nimbus JTree default tree cell renderer does not use selected text color |
| 26 | JDK-8271895 | client-libs | javax.swing | UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18 |
| 27 | JDK-8268284 | client-libs | javax.swing | javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button" |
| 28 | JDK-8264287 | client-libs | javax.swing | Create implementation for NSAccessibilityComboBox protocol peer |
| 29 | JDK-8264303 | client-libs | javax.swing | Create implementation for NSAccessibilityTabGroup protocol peer |
| 30 | JDK-8264292 | client-libs | javax.swing | Create implementation for NSAccessibilityList protocol peer |
| 31 | JDK-8264286 | client-libs | javax.swing | Create implementation for NSAccessibilityColumn protocol peer |
| 32 | JDK-8264291 | client-libs | javax.swing | Create implementation for NSAccessibilityCell protocol peer |
| 33 | JDK-8264298 | client-libs | javax.swing | Create implementation for NSAccessibilityRow protocol peer |
| 34 | JDK-8271315 | client-libs | javax.swing | Redo: Nimbus JTree renderer properties persist across L&F changes |
| 35 | JDK-8264293 | client-libs | javax.swing | Create implementation for NSAccessibilityMenu protocol peer |
| 36 | JDK-8264295 | client-libs | javax.swing | Create implementation for NSAccessibilityMenuItem protocol peer |
| 37 | JDK-8264294 | client-libs | javax.swing | Create implementation for NSAccessibilityMenuBar protocol peer |
| 38 | JDK-8264296 | client-libs | javax.swing | Create implementation for NSAccessibilityPopUpButton protocol peer |
| 39 | JDK-8264297 | client-libs | javax.swing | Create implementation for NSAccessibilityProgressIndicator protocol peer |
| 40 | JDK-8269850 | core-libs | Most JDK releases report macOS version 12 as 10.16 instead of 12.0 | |
| 41 | JDK-8276572 | core-libs | Fake libsyslookup.so library causes tooling issues | |
| 42 | JDK-8273450 | core-libs | Fix the copyright header of SVML files | |
| 43 | JDK-8275145 | core-libs | java.io | file.encoding system property has an incorrect value on Windows |
| 44 | JDK-8277093 | core-libs | java.io:serialization | Vector should throw ClassNotFoundException for a missing class of an element |
| 45 | JDK-8275703 | core-libs | java.lang | System.loadLibrary fails on Big Sur for libraries hidden from filesystem |
| 46 | JDK-8274848 | core-libs | java.lang.invoke | LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior |
| 47 | JDK-8270290 | core-libs | java.net | NTLM authentication fails if HEAD request is used |
| 48 | JDK-8274779 | core-libs | java.net | HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST |
| 49 | JDK-8267256 | core-libs | java.net | Extend minimal retry for loopback connections on Windows to PlainSocketImpl |
| 50 | JDK-8268294 | core-libs | java.net | Reusing HttpClient in a WebSocket.Listener hangs. |
| 51 | JDK-8269481 | core-libs | java.net | SctpMultiChannel never releases own file descriptor |
| 52 | JDK-8251329 | core-libs | java.nio | (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside |
| 53 | JDK-8273935 | core-libs | java.nio | (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported |
| 54 | JDK-8269280 | core-libs | java.nio | (bf) Replace StringBuffer in *Buffer.toString() |
| 55 | JDK-8190753 | core-libs | java.nio | (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream |
| 56 | JDK-8271308 | core-libs | java.nio | (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call |
| 57 | JDK-8233020 | core-libs | java.nio | (fs) UnixFileSystemProvider should use StaticProperty.userDir(). |
| 58 | JDK-8272095 | core-libs | java.nio | ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64 |
| 59 | JDK-8140241 | core-libs | java.nio | (fc) Data transfer from FileChannel to itself causes hang in case of overlap |
| 60 | JDK-8274468 | core-libs | java.time | TimeZoneTest.java fails with tzdata2021b |
| 61 | JDK-8274467 | core-libs | java.time | TestZoneInfo310.java fails with tzdata2021b |
| 62 | JDK-8276536 | core-libs | java.time | Update TimeZoneNames files to follow the changes made by JDK-8275766 |
| 63 | JDK-8272473 | core-libs | java.time | Parsing epoch seconds at a DST transition with a non-UTC parser is wrong |
| 64 | JDK-8274349 | core-libs | java.util.concurrent | ForkJoinPool.commonPool() does not work with 1 CPU |
| 65 | JDK-8214761 | core-libs | java.util.stream | Bug in parallel Kahan summation implementation |
| 66 | JDK-8273790 | core-libs | java.util:i18n | Potential cyclic dependencies between Gregorian and CalendarSystem |
| 67 | JDK-8273924 | core-libs | java.util:i18n | ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add() |
| 68 | JDK-8273575 | core-svc | java.lang.instrument | memory leak in appendBootClassPath(), paths must be deallocated |
| 69 | JDK-8268361 | core-svc | java.lang.management | Fix the infinite loop in next_line |
| 70 | JDK-8272318 | core-svc | tools | Improve performance of HeapDumpAllTest |
| 71 | JDK-8272970 | hotspot | Parallelize runtime/InvocationTests/ | |
| 72 | JDK-8273278 | hotspot | Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT | |
| 73 | JDK-8270886 | hotspot | compiler | Crash in PhaseIdealLoop::verify_strip_mined_scheduling |
| 74 | JDK-8271600 | hotspot | compiler | C2: CheckCastPP which should closely follow Allocate is sunk of a loop |
| 75 | JDK-8223923 | hotspot | compiler | C2: Missing interference with mismatched unsafe accesses |
| 76 | JDK-8272570 | hotspot | compiler | C2: crash in PhaseCFG::global_code_motion |
| 77 | JDK-8271341 | hotspot | compiler | Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java |
| 78 | JDK-8271340 | hotspot | compiler | Crash PhaseIdealLoop::clone_outer_loop |
| 79 | JDK-8271459 | hotspot | compiler | C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity |
| 80 | JDK-8273165 | hotspot | compiler | GraphKit::combine_exception_states fails with "matching stack sizes" assert |
| 81 | JDK-8272562 | hotspot | compiler | C2: assert(false) failed: Bad graph detected in build_loop_late |
| 82 | JDK-8274145 | hotspot | compiler | C2: condition incorrectly made redundant with dominating main loop exit condition |
| 83 | JDK-8274074 | hotspot | compiler | SIGFPE with C2 compiled code with -XX:+StressGCM |
| 84 | JDK-8274401 | hotspot | compiler | C2: GraphKit::load_array_element bypasses Access API |
| 85 | JDK-8274406 | hotspot | compiler | RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough" |
| 86 | JDK-8276066 | hotspot | compiler | Reset LoopPercentProfileLimit for x86 due to suboptimal performance |
| 87 | JDK-8270901 | hotspot | compiler | Typo PHASE_CPP in CompilerPhaseType |
| 88 | JDK-8273021 | hotspot | compiler | C2: Improve Add and Xor ideal optimizations |
| 89 | JDK-8275104 | hotspot | compiler | IR framework does not handle client VM builds correctly |
| 90 | JDK-8276105 | hotspot | compiler | C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly |
| 91 | JDK-8276846 | hotspot | compiler | JDK-8273416 is incomplete for UseSSE=1 |
| 92 | JDK-8276112 | hotspot | compiler | Inconsistent scalar replacement debug info at safepoints |
| 93 | JDK-8276025 | hotspot | compiler | Hotspot's libsvml.so may conflict with user dependency |
| 94 | JDK-8270533 | hotspot | compiler | AArch64: size_fits_all_mem_uses should return false if its output is a CAS |
| 95 | JDK-8273416 | hotspot | compiler | C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1} |
| 96 | JDK-8273359 | hotspot | compiler | CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size |
| 97 | JDK-8244675 | hotspot | compiler | assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines())) |
| 98 | JDK-8272703 | hotspot | compiler | StressSeed should be set via FLAG_SET_ERGO |
| 99 | JDK-8271954 | hotspot | compiler | C2: assert(false) failed: Bad graph detected in build_loop_late |
| 100 | JDK-8272413 | hotspot | compiler | Incorrect num of element count calculation for vector cast |
| 101 | JDK-8272574 | hotspot | compiler | C2: assert(false) failed: Bad graph detected in build_loop_late |
| 102 | JDK-8276157 | hotspot | compiler | C2: Compiler stack overflow during escape analysis on Linux x86_32 |
| 103 | JDK-8268882 | hotspot | compiler | C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc |
| 104 | JDK-8271567 | hotspot | compiler | AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions |
| 105 | JDK-8271215 | hotspot | gc | Fix data races in G1PeriodicGCTask |
| 106 | JDK-8274501 | hotspot | gc | c2i entry barriers read int as long on AArch64 |
| 107 | JDK-8271862 | hotspot | gc | C2 intrinsic for Reference.refersTo() is often not used |
| 108 | JDK-8271121 | hotspot | gc | ZGC: stack overflow (segv) when -Xlog:gc+start=debug |
| 109 | JDK-8272170 | hotspot | gc | Missing memory barrier when checking active state for regions |
| 110 | JDK-8277212 | hotspot | gc | GC accidentally cleans valid megamorphic vtable inline caches |
| 111 | JDK-8275426 | hotspot | gc | PretouchTask num_chunks calculation can overflow |
| 112 | JDK-8274435 | hotspot | jfr | EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl |
| 113 | JDK-8272850 | hotspot | runtime | Drop zapping values in the Zap* option descriptions |
| 114 | JDK-8273606 | hotspot | runtime | Zero: SPARC64 build fails with si_band type mismatch |
| 115 | JDK-8273373 | hotspot | runtime | Zero: Cannot invoke JVM in primordial threads on Zero |
| 116 | JDK-8273505 | hotspot | runtime | runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes |
| 117 | JDK-8273176 | hotspot | runtime | handle latest VS2019 in abstract_vm_version |
| 118 | JDK-8273695 | hotspot | runtime | Safepoint deadlock on VMOperation_lock |
| 119 | JDK-8273489 | hotspot | runtime | Zero: Handle UseHeavyMonitors on all monitorenter paths |
| 120 | JDK-8273229 | hotspot | runtime | Update OS detection code to recognize Windows Server 2022 |
| 121 | JDK-8274840 | hotspot | runtime | Update OS detection code to recognize Windows 11 |
| 122 | JDK-8273342 | hotspot | runtime | Null pointer dereference in classFileParser.cpp:2817 |
| 123 | JDK-8272345 | hotspot | runtime | macos doesn't check `os::set_boot_path()` result |
| 124 | JDK-8272114 | hotspot | runtime | Unused _last_state in osThread_windows |
| 125 | JDK-8274293 | hotspot | runtime | Build failure on macOS with Xcode 13.0 as vfork is deprecated |
| 126 | JDK-8274338 | hotspot | runtime | com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror" |
| 127 | JDK-8238649 | hotspot | runtime | Call new Win32 API SetThreadDescription in os::set_native_thread_name |
| 128 | JDK-8261579 | hotspot | runtime | AArch64: Support for weaker memory ordering in Atomic |
| 129 | JDK-8268927 | hotspot | runtime | Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)" |
| 130 | JDK-8273486 | hotspot | runtime | Zero: Handle DiagnoseSyncOnValueBasedClasses VM option |
| 131 | JDK-8273483 | hotspot | runtime | Zero: Clear pending JNI exception check in native method handler |
| 132 | JDK-8273440 | hotspot | runtime | Zero: Disable runtime/Unsafe/InternalErrorTest.java |
| 133 | JDK-8273333 | hotspot | runtime | Zero should warn about unimplemented -XX:+LogTouchedMethods |
| 134 | JDK-8268893 | hotspot | runtime | jcmd to trim the glibc heap |
| 135 | JDK-8273902 | hotspot | runtime | Memory leak in OopStorage due to bug in OopHandle::release() |
| 136 | JDK-8269687 | hotspot | runtime | pauth_aarch64.hpp include name is incorrect |
| 137 | JDK-8275604 | hotspot | runtime | Zero: Reformat opclabels_data |
| 138 | JDK-8277029 | hotspot | svc | JMM GetDiagnosticXXXInfo APIs should verify output array sizes |
| 139 | JDK-8270320 | hotspot | test | JDK-8270110 committed invalid copyright headers |
| 140 | JDK-8270946 | security-libs | java.security | X509CertImpl.getFingerprint should not return the empty String |
| 141 | JDK-8273826 | security-libs | java.security | Correct Manifest file name and NPE checks |
| 142 | JDK-8274215 | security-libs | java.security | Remove globalsignr2ca root from 17.0.2 |
| 143 | JDK-8274736 | security-libs | java.security | Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily |
| 144 | JDK-8277224 | security-libs | java.security | sun.security.pkcs.PKCS9Attributes.toString() throws NPE |
| 145 | JDK-8270317 | security-libs | javax.net.ssl | Large Allocation in CipherSuite |
| 146 | JDK-8275811 | security-libs | javax.net.ssl | Incorrect instance to dispose |
| 147 | JDK-8273026 | security-libs | javax.security | Slow LoginContext.login() on multi threading application |
| 148 | JDK-8274205 | security-libs | org.ietf.jgss:krb5 | Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC |
| 149 | JDK-8273894 | security-libs | org.ietf.jgss:krb5 | ConcurrentModificationException raised every time ReferralsCache drops referral |
| 150 | JDK-8273234 | tools | javac | extended 'for' with expression of type tvar causes the compiler to crash |
| 151 | JDK-8262095 | tools | javac | NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null |
| 152 | JDK-8268885 | tools | javac | duplicate checkcast when destination type is not first type of intersection type |
| 153 | JDK-8269113 | tools | javac | Javac throws when compiling switch (null) |
| 154 | JDK-8275302 | tools | javac | unexpected compiler error: cast, intersection types and sealed |
| 155 | JDK-8274347 | tools | javac | Passing a *nested* switch expression as a parameter causes an NPE during compile |
| 156 | JDK-8268894 | tools | javac | forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition |
| 157 | JDK-8273408 | tools | javac | java.lang.AssertionError: typeSig ERROR on generated class property of record |
| 158 | JDK-8271254 | tools | javac | javac generates unreachable code when using empty semicolon statement |
| 159 | JDK-8274942 | tools | javac | AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155) |
| 160 | JDK-8272639 | tools | jpackage | jpackaged applications using microphone on mac |
| 161 | JDK-8274087 | tools | jpackage | Windows DLL path not set correctly. |
| 162 | JDK-8273593 | tools | jpackage | [REDO] Warn user when using mac-sign option with unsigned app-image. |
| 163 | JDK-8272328 | tools | jpackage | java.library.path is not set properly by Windows jpackage app launcher |
| 164 | JDK-8268457 | xml | XML Transformer outputs Unicode supplementary character incorrectly to HTML |