Les sections suivantes récapitulent les modifications apportées à tous les BPR Jpour ava SE 8u181. Les corrections de bogues et toutes les autres modifications sont répertoriées ci-dessous dans l'ordre chronologique, du BPR le plus récent au plus ancien. Notez que les corrections de bogues dans le BPR précédent sont également incluses dans le BPR actuel.
Pour déterminer la version de votre logiciel JDK, utilisez la commande suivante :
java -version
Corrections de bogues
| BugId | Composant | Sous-composant | Synthèse |
|---|---|---|---|
| (8211107) | core-libs | javax.naming | Échec de la communication LDAPS avec jdk 1.8.0_181 |
Corrections de bogues
| BugId | Composant | Sous-composant | Synthèse |
|---|---|---|---|
| 8204513 (Confidentielles) |
deploy | deployment_toolkit | Contexte perdu après le redimensionnement de la fenêtre du navigateur dans l'applet avec Forms |
Corrections de bogues
| BugId | Composant | Sous-composant | Synthèse |
|---|---|---|---|
| (8201818) | client-libs | 2d | [macosx] Les attributs d'impression rompent la taille de la page défini par l'objet « java.awt.print.Book » |
Corrections de bogues
| BugId | Composant | Sous-composant | Synthèse |
|---|---|---|---|
| (8208583) | security-libs | javax.crypto | Meilleure gestion de la mémoire tampon interne KeyStore |
| (8209129) | security-libs | javax.crypto | Améliorations supplémentaires pour la gestion de la mémoire tampon de chiffrement |
| (8207775) | security-libs | javax.crypto | Meilleure gestion de la mémoire tampon de CipherCore |
Corrections de bogues
| BugId | Composant | Sous-composant | Synthèse |
|---|---|---|---|
| (8202696) | client-libs | javax.swing | Enlever la plage d'exclusion pour les caractères phonétiques dans les fenêtres fontconfig.properties |
| 8206242 (Confidentielles) |
deploy | webstart | Java Web Start vérifie le droit d'accès en lecture « user.dir » lors de l'ouverture de la connexion HTTP |
Veuillez noter que les correctifs du précédent BPR (8u172 b37) sont inclus dans cette version.
Corrections de bogues
| BugId | Composant | Sous-composant | Synthèse |
|---|---|---|---|
| (8195095) | client-libs | javax.swing | Les images ne sont pas redimensionnées correctement dans JEditorPane |
17 juillet 2018
La chaîne de version complète de cette version de mise à jour est 1.8.0_181-b13 (où « b » signifie « build »). Le numéro de version est 8u181.
Le JDK 8u181 contient les données de fuseau horaire IANA version 2018e. Pour plus d'informations, reportez-vous à la section Versions des données relatives aux fuseaux horaires dans le logiciel JRE.
Les références en matière de sécurité pour Java Runtime Environment (JRE) au moment de la publication du kit JDK 8u181 sont indiquées dans le tableau suivant :
| Version de la famille JRE | Référence en matière de sécurité pour JRE (Chaîne de version complète) |
|---|---|
| 8 | 1.8.0_181-b13 |
| 7 | 1.7.0_191-b08 |
| 6 | 1.6.0_201-b07 |
L'environnement JRE expire chaque fois qu'une nouvelle version avec des correctifs de vulnérabilité de sécurité devient disponible. Les mises à jour de correctifs critiques, qui contiennent des correctifs de vulnérabilité de sécurité, sont annoncées un an à l'avance sur Mises à jour des correctifs critiques, alertes et bulletins de sécurité. Cet environnement JRE (version 8u181) expirera avec la publication de la prochaine mise à jour de correctif critique prévue pour le 16 octobre 2018.
Pour les systèmes qui ne parviennent pas à atteindre les serveurs Oracle, un mécanisme secondaire fait expirer cet environnement JRE (version 8u181) le 16 novembre 2018. Une fois que l'une des conditions est remplie (nouvelle version disponible ou date d'expiration atteinte), l'environnement JRE fournit des avertissements et des rappels supplémentaires aux utilisateurs pour qu'ils puissent effectuer la mise à jour vers la version la plus récente. Pour plus d'informations, reportez-vous à Date d'expiration de l'environnement JRE.
other-libs/javadb
Java DB, également appelé Apache Derby, a été supprimé dans cette version.
Nous vous recommandons d'obtenir la dernière version en date d'Apache Derby directement à partir du projet Apache à l'adresse suivante :
JDK-8197871 (non public)
core-libs/javax.naming
L'identification de l'adresse a été activée sur les connexions LDAPS.
Pour améliorer la robustesse des connexions LDAPS (LDAP sécurisé sur TLS), les algorithmes d'identification d'adresse ont été activés par défaut.
Notez qu'il peut arriver que certaines applications qui étaient auparavant en mesure de se connecter à un serveur LDAPS ne puissent plus le faire. Ces applications peuvent, si elles le jugent approprié, désactiver l'identification des adresses à l'aide d'une nouvelle propriété système : com.sun.jndi.ldap.object.disableEndpointIdentification.
Définissez cette propriété système (ou définissez-la sur true) pour désactiver les algorithmes d'identification d'adresse.
JDK-8200666 (non public)
core-libs/java.io:serialization
Amélioration de la gestion de la pile
De nouvelles vérifications d'accès ont été ajoutées au cours de la phase de désérialisation de création d'objet. Cela ne devrait pas affecter les utilisations ordinaires de la désérialisation. Cependant, les structures réfléchissantes qui utilisent les API internes de JDK peuvent être affectées. Les nouvelles vérifications peuvent être désactivées si nécessaire en définissant la propriété système jdk.disableSerialConstructorChecks sur la valeur « true ». Pour ce faire, ajoutez l'argument -Djdk.disableSerialConstructorChecks=true à la ligne de commande Java.
JDK-8197925 (non public)
Voici quelques-unes des corrections de bogues notables incluses dans cette version :
core-svc/debugger
Impossible d'utiliser l'API JDWP dans JDK 8 pour déboguer le JDK >=9
L'implémentation de VirtualMachineImpl.canGetInstanceInfo() a été corrigée. Elle peut donc voir les JVM JDK >= JDK 9.
Cette correction permet à certains agents de débogage de fonctionner correctement sans aucune action requise de la part d'un utilisateur (développeur).
Reportez-vous à JDK-8197943
hotspot/gc
Panne de JVM pendant le nettoyage de la mémoire G1
Un klass considéré comme inaccessible par le marquage simultané de G1 peut être recherché dans ClassLoaderData/SystemDictionary, et ses champs _java_mirror ou _class_loader peuvent être stockés dans une root ou tout autre objet accessible le rendant actif à nouveau. Chaque fois qu'un klass est ressuscité de cette manière, la partie SATB de G1 doit en être informée, sinon, la phase de remarque de marquage simultané déchargera à tort ce klass.
Dans cette panne particulière, alors que G1 effectuait un marquage simultané et avait préparé sa liste de classes inaccessibles, JVMTI sur un thread Java pouvait parcourir les classes dans le CLD et stocker le fichier JNIHandles thread-local pour le fichier java_mirror des classes chargées. G1 n'avait pas connaissance de ces JNIHandles thread-local et, dans la phase de remarque, il a déchargé les classes en fonction de sa connaissance préalable des classes inaccessibles. Lorsque ces JNIHandles ont été analysés par la suite, cela a entraîné une panne.
Ce correctif pour JDK-8187577 informe le SATB de G1 qu'un klass a été ressuscité et qu'il ne doit pas être déchargé.
Reportez-vous à JDK-8187577
hotspot/gc
Meilleure stabilité avec les anciennes bibliothèques NUMA (-XX+UseNuma)
Un correctif inclus dans la mise à jour 152 de JDK 8 a introduit une régression qui pourrait entraîner la panne de la JVM HotSpot lors du démarrage lorsque l'indicateur UseNUMA est utilisé sur des systèmes Linux avec des versions de libnuma antérieures à 2.0.9. Ce problème a été résolu.
Reportez-vous à JDK-8198794
Cette version contient également des correctifs pour les vulnérabilités de sécurité décrites dans la Mise à jour des correctifs critiques d'Oracle.
| # | BugId | Composant | Sous-composant | Synthèse |
|---|---|---|---|---|
| 1 | JDK-8201433 | client-libs | 2d | Correction d'une panne potentielle dans BufImg_SetupICM |
| 2 | JDK-8198605 | client-libs | java.awt | Le clavier tactile est affiché pour un composant de texte non focalisable |
| 3 | JDK-8198606 | client-libs | java.awt | Le clavier tactile ne se masque pas lorsqu'un composant de texte perd le focus |
| 4 | JDK-8199748 | client-libs | java.awt | Le clavier tactile n'est pas affiché si le composant de texte obtient le focus à partir d'un autre composant de texte |
| 5 | JDK-8187635 | client-libs | java.awt | Sous Windows Swing, la disposition du clavier est modifiée lors de l'activation d'une fenêtre |
| 6 | JDK-8203368 | core-libs | java.io:sérialisation | La méthode ObjectInputStream filterCheck génère NullPointerException |
| 7 | JDK-8202996 | core-libs | java.rmi | Supprimer les instructions print de débogage de la correction RMI |
| 8 | JDK-8197943 | core-svc | debugger | Impossible d'utiliser l'API JDWP dans JDK 8 pour déboguer la machine virtuelle JDK 9 |
| 9 | JDK-8194690 | deploy | L'environnement JRE intégré dans le package App-V ne démarre pas les applications Java Web Start | |
| 10 | JDK-8190689 | deploy | plugin | Java exige à tort que l'attribut de cookie « HttpOnly » respecte la casse |
| 11 | JDK-8201133 | deploy | webstart | Échec de la vérification de la sécurité pour le fichier JAR principal avec la fonctionnalité jnlp.versionEnabled et jeu de règles de déploiement |
| 12 | JDK-8189783 | deploy | webstart | L'application Java Web Start avec association d'extension de fichier est supprimée du cache lorsqu'elle est appelée pour la deuxième fois à partir du navigateur |
| 13 | JDK-8187223 | deploy | webstart | Le fichier JNLP long n'est pas analysé correctement et se termine par le chemin javaws |
| 14 | JDK-8199304 | deploy | webstart | javaws.exe n'a pas pu lancer le fichier JNLP encodé en UTF-8 |
| 15 | JDK-8038636 | hotspot | compiler | les déroutements spéculatifs se rompent lorsque les classes sont redéfinies |
| 16 | JDK-8156137 | hotspot | compiler | SIGSEGV dans ReceiverTypeData::clean_weak_klass_links |
| 17 | JDK-8188223 | hotspot | compiler | IfNode::range_check_trap_proj() doit gérer le sous-graphique mourant avec un seul if proj |
| 18 | JDK-8169201 | hotspot | compiler | Montgomery multiply intrinsic doit utiliser un nom correct |
| 19 | JDK-8187577 | hotspot | gc | Panne de JVM pendant le marquage simultané |
| 20 | JDK-8199406 | hotspot | gc | Baisse des performances avec Java JDK 1.8.0_162-b32 |
| 21 | JDK-8055008 | hotspot | jvmti | Nettoyer le code qui enregistre les versions précédentes des classes redéfinies |
| 22 | JDK-8057570 | hotspot | jvmti | RedefineClasses() tests fail assert(((Metadata*)obj)->is_valid()) failed: obj is valid |
| 23 | JDK-8198794 | hotspot | runtime | Hotspot crash sur Cassandra 3.11.1 démarrage avec libnuma 2.0.3 |
| 24 | JDK-8078628 | hotspot | runtime | linux-zero ne construit pas sans en-tête précompilé |
| 25 | JDK-8202065 | install | install | jre/bin/javaw.exe est manquant dans server-jre pour Windows depuis 8u171 |
| 26 | JDK-8199650 | install | install | L'installation de JDK désinstalle l'environnement JRE public |
| 27 | JDK-8200418 | javafx | Internet | webPage.executeCommand("removeFormat", null) enlève le style de l'élément body |
| 28 | JDK-8196011 | javafx | Internet | Panne intermittente lors de l'utilisation de WebView à partir de l'application JFXPanel |
| 29 | JDK-8076117 | security-libs | java.security | EndEntityChecker ne doit pas traiter les extensions personnalisées après la validation PKIX |
| 30 | JDK-8170035 | security-libs | javax.net.ssl | Lors de la détermination des listes de chiffrement, il n'y a pas de sortie de débogage pour les suites désactivées. |
| 31 | JDK-8074373 | tools | launcher | NMT n'est pas activé si l'option NMT est spécifiée après les spécificateurs de chemin de classe |
| 32 | JDK-8196491 | xml | jax-ws | Les lignes dans les valeurs de chaîne JAXB des demandes SOAP sont échappées vers " " |