As seções a seguir resumem as alterações feitas em todas as BPRs do Java SE 8u181. As correções de bugs e quaisquer outras alterações são listadas abaixo em ordem cronológica, com as BPRs mais recentes aparecendo primeiro. Observe que as correções de bug na BPR anterior também estão incluídas na BPR atual.
Para determinar a versão do seu software JDK, use o seguinte comando:
java -version
Correções de bugs
| BugId | Componente | Subcomponente | Resumo |
|---|---|---|---|
| 8211107 | core-libs | javax.naming | Falha de comunicação entre o LDAPS e o jdk 1.8.0_181 |
Correções de bugs
| BugId | Componente | Subcomponente | Resumo |
|---|---|---|---|
| 8204513 (Confidencial) |
implementar | deployment_toolkit | Contexto perdido após redimensionar a janela do navegador no applet com Formulários |
Correções de bugs
| BugId | Componente | Subcomponente | Resumo |
|---|---|---|---|
| 8201818 | client-libs | 2d | [macosx] Atributos de impressão que quebram o tamanho da página definidos por meio do objeto "java.awt.print.Book" |
Correções de bugs
Correções de bugs
| BugId | Componente | Subcomponente | Resumo |
|---|---|---|---|
| 8202696 | client-libs | javax.swing | Remover intervalo de exclusão para caracteres fonéticos em fontconfig.properties no Windows |
| 8206242 (Confidencial) |
implementar | webstart | O Java Web Start verifica a permissão de leitura "user.dir" ao abrir a conexão http |
Observe que as correções do BPR anterior (8u172 b37) estão incluídas nesta versão.
Correções de bugs
| BugId | Componente | Subcomponente | Resumo |
|---|---|---|---|
| 8195095 | client-libs | javax.swing | As imagens não são escalonadas corretamente no JEditorPane |
17 de julho de 2018
A string completa desta versão de atualização é 1.8.0_181-b13 (em que "b" significa "build"). O número da versão é 8u181.
O JDK 8u181 contém a versão 2018e dos dados de fuso horário da IANA. Para obter mais informações, consulte Versões de dados de fuso horário no software JRE.
As linhas de base de segurança do JRE (Java Runtime Environment) no momento do lançamento do JDK 8u181 são especificadas na seguinte tabela:
| Versão da família JRE | Linha de base de segurança do JRE (String da versão completa) |
|---|---|
| 8 | 1.8.0_181-b13 |
| 7 | 1.7.0_191-b08 |
| 6 | 1.6.0_201-b07 |
O JRE expira sempre que uma nova versão com correções de vulnerabilidade de segurança é disponibilizada. Atualizações críticas de patches, que contêm correções de vulnerabilidade de segurança, são anunciadas com um ano de antecedência em Atualizações de patches críticos, Alertas e boletins de segurança. Este JRE (versão 8u181) expirará na próxima atualização de patch crítico programada para 16 de outubro de 2018.
Em sistemas que não conseguem acessar os Servidores Oracle, um mecanismo secundário expirará este JRE (versão 8u181) em 16 de novembro de 2018. Depois que uma das condições for atendida (nova versão é disponibilizada ou data de validade é atingida), o JRE fornecerá avisos e lembretes adicionais para que os usuários atualizem para a versão mais recente. Para obter mais informações, consulte Data de validade do JRE.
other-libs/javadb
O Java DB, também conhecido como Apache Derby, foi removido nesta versão.
Recomendamos que você obtenha o Apache Derby mais recente diretamente no projeto Apache em:
JDK-8197925 (não público)
core-libs/javax.naming
A identificação do ponto de extremidade foi ativada em conexões LDAPS.
Para melhorar a robustez de conexões LDAPS (secure LDAP over TLS), os algoritmos de identificação de ponto de extremidade foram ativados por padrão.
Observe que pode haver situações em que alguns aplicativos que antes conseguiam se conectar a um servidor LDAPS podem não conseguir mais fazer isso. Esses aplicativos podem, se considerarem apropriado, desativar a identificação do ponto de extremidade usando uma nova propriedade do sistema: com.sun.jndi.ldap.object.disableEndpointIdentification.
Defina essa propriedade do sistema (ou a defina como true) para desativar algoritmos de identificação de ponto de extremidade.
JDK-8197925 (não público)
core-libs/java.io:serialization
Melhor processo de stack walking
Novas verificações de acesso foram adicionadas durante a fase de criação do objeto de desserialização. Isso não deve afetar os usos comuns da desserialização. No entanto, estruturas reflexivas que usam APIs internas do JDK podem ser impactadas. As novas verificações podem ser desativadas, se necessário, definindo a propriedade do sistema jdk.disableSerialConstructorChecks com o valor "true". Isso deve ser feito adicionando o argumento -Djdk.disableSerialConstructorChecks=true à linha de comando Java.
JDK-8197925 (não público)
Estas são algumas das correções de bugs relevantes incluídas nesta versão:
core-svc/debugger
Não é possível usar a API JDWP no JDK 8 para depurar o JDK >=9
A implementação de VirtualMachineImpl.canGetInstanceInfo() foi corrigida; portanto, agora ele pode ver JVMs do JDK >= JDK 9.
Essa correção permite que determinados agentes depuradores operem corretamente sem a necessidade de qualquer ação de um usuário (desenvolvedor).
Consulte JDK-8197943
hotspot/gc
Um klass que foi considerado inacessível pela marcação simultânea do G1 pode ser pesquisado no ClassLoaderData/SystemDictionary, e seus campos _java_mirror ou _class_loader podem ser armazenados em uma raiz ou em qualquer outro objeto acessível tornando-o ativo novamente. Sempre que um klass é ressuscitado dessa maneira, a parte SATB do G1 precisa ser notificada sobre isso, caso contrário, a fase de observação de marcação simultânea descarregará esse klass inadvertidamente.
Nesta falha específica, enquanto o G1 estava fazendo marcação simultânea e tinha preparado sua lista de classes inacessíveis, a JVMTI em um thread Java podia percorrer classes no CLD e armazenar JNIHandles de thread local para o java_mirror das classes carregadas. O G1 não tinha conhecimento desses JNIHandles de thread-local e, na fase de observação, descarregou as classes, de acordo com seu conhecimento prévio de classes inacessíveis. Isso resultou em uma falha quando esses JNIHandles foram verificados posteriormente.
Esta correção para JDK-8187577 informa ao SATB do G1 que um klass foi ressuscitado e não deve ser descarregado.
Consulte JDK-8187577
hotspot/gc
Melhor estabilidade com bibliotecas NUMA mais antigas (-XX+UseNuma)
Uma correção incluída na atualização 152 do JDK 8 introduziu uma regressão que pode fazer com que a JVM HotSpot trave durante a inicialização quando o indicador UseNUMA for usado em sistemas Linux com versões de libnuma anteriores à 2.0.9. Este problema foi resolvido.
Consulte JDK-8198794
Esta versão também contém correções de vulnerabilidades de segurança descritas na Atualização de patches críticos da Oracle.
| # | BugId | Componente | Subcomponente | Resumo |
|---|---|---|---|---|
| 1 | JDK-8201433 | client-libs | 2d | Corrigir possível falha em BufImg_SetupICM |
| 2 | JDK-8198605 | client-libs | java.awt | O teclado de toque será mostrado para um componente de texto não focalizável |
| 3 | JDK-8198606 | client-libs | java.awt | O teclado de toque não fica oculto quando um componente de texto perde o foco |
| 4 | JDK-8199748 | client-libs | java.awt | O teclado de toque não será mostrado se o componente de texto receber foco de outro componente de texto |
| 5 | JDK-8187635 | client-libs | java.awt | No Windows, o Swing altera o layout do teclado em uma ativação de janela |
| 6 | JDK-8203368 | core-libs | java.io:serialização | O método ObjectInputStream filterCheck lança NullPointerException |
| 7 | JDK-8202996 | core-libs | java.rmi | Remover instruções de impressão de depuração da correção RMI |
| 8 | JDK-8197943 | core-svc | depurador | Não é possível usar a API JDWP no JDK 8 para depurar a VM do JDK 9 |
| 9 | JDK-8194690 | implementar | O JRE empacotado no pacote App-V não iniciará os aplicativos Java Web Start | |
| 10 | JDK-8190689 | implementar | plugin | O Java exige incorretamente que o atributo de cookie "HttpOnly" faça distinção entre maiúsculas e minúsculas |
| 11 | JDK-8201133 | implementar | webstart | Falha na verificação de segurança do downlaod jar principal com jnlp.versionEnabled e o recurso Conjunto de Regras de Implantação |
| 12 | JDK-8189783 | implementar | webstart | O aplicativo Java Web Start com associação de extensão de arquivo é removido do cache quando chamado pela segunda vez a partir do browser |
| 13 | JDK-8187223 | implementar | webstart | Arquivo JNLP longo não é foi analisado corretamente e termina com o caminho javaws |
| 14 | JDK-8199304 | implementar | webstart | javaws.exe não inicia o arquivo JNLP codificado em UTF-8 |
| 15 | JDK-8038636 | hotspot | compilador | interceptações especulativas são interrompidas quando as classes são redefinidas |
| 16 | JDK-8156137 | hotspot | compilador | SIGSEGV em ReceiverTypeData::clean_weak_klass_links |
| 17 | JDK-8188223 | hotspot | compilador | IfNode::range_check_trap_proj() deve tratar o dying subgraph com um único if proj |
| 18 | JDK-8169201 | hotspot | compilador | Montgomery multiply intrinsic deve usar o nome correto |
| 19 | JDK-8187577 | hotspot | gc | Falha do JVM durante gc causa marcação simultânea |
| 20 | JDK-8199406 | hotspot | gc | Queda de desempenho com o Java JDK 1.8.0_162-b32 |
| 21 | JDK-8055008 | hotspot | jvmti | Limpar código que salva as versões anteriores de classes redefinidas |
| 22 | JDK-8057570 | hotspot | jvmti | RedefineClasses() tests fail assert(((Metadata*)obj)->is_valid()) com falha: obj é válido |
| 23 | JDK-8198794 | hotspot | runtime | Falha no hotspot na inicialização do Cassandra 3.11.1 com libnuma 2.0.3 |
| 24 | JDK-8078628 | hotspot | runtime | linux-zero não compila sem cabeçalho pré-compilado |
| 25 | JDK-8202065 | instalar | instalar | jre/bin/javaw.exe está ausente no server-jre para windows desde 8u171 |
| 26 | JDK-8199650 | instalar | instalar | A instalação do JDK desinstala o JRE público |
| 27 | JDK-8200418 | javafx | Web | webPage.executeCommand("removeFormat", null) remove o estilo do elemento body |
| 28 | JDK-8196011 | javafx | Web | Falha intermitente ao usar WebView do aplicativo JFXPanel |
| 29 | JDK-8076117 | security-libs | java.security | EndEntityChecker não deve processar extensões personalizadas após validação PKIX |
| 30 | JDK-8170035 | security-libs | javax.net.ssl | Ao determinar as listas de pacote de criptografia, não há saída de depuração para pacotes desativados. |
| 31 | JDK-8074373 | ferramentas | inicializador | O NMT não será ativado se a opção NMT for especificada após os especificadores de classpath |
| 32 | JDK-8196491 | xml | jax-ws | Linhas novas nos valores de string JAXB de solicitações SOAP são escapados usando " " |