• État Fermée
  • Pourcentage achevé
    100%
  • Type Bug
  • Catégorie DEPENDENCES
  • Assignée à
    DevTeam
  • Système d'exploitation Tous
  • Sévérité Critique
  • Priorité Très haute
  • Basée sur la version 10.3
  • Due pour la version 10.4
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: BeDesk 15
Ouverte par DevTeam - 2015-04-24
Dernière modification par DevTeam - 2015-04-24

FS#294 - Bug: JDK-8060036 dans le paquet Java 8 update 45

Il semblerait que certains utilisateurs expérimentent le bug JDK-8060036 du compilateur JIT du Java 8 (update 45).

Lien externe: https://bugs.openjdk.java.net/browse/JDK-8060036

Ce bug ne provient pas du logiciel BeDesk lui-même. Toutefois, BeDesk a besoin de Java pour fonctionner correctement.


Messages d’erreur redondants relevés dans la console de sortie:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at javax.swing.text.GlyphView.getBreakSpot(GlyphView.java:799)
	at javax.swing.text.GlyphView.getBreakWeight(GlyphView.java:724)
	at javax.swing.text.html.InlineView.getBreakWeight(InlineView.java:150)
	at javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:733)
	at javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:233)
	at javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:717)
	at javax.swing.text.html.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:157)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:568)
	at javax.swing.text.html.ParagraphView.getMinimumSpan(ParagraphView.java:270)
	at javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:903)
	at javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
	at javax.swing.text.html.TableView$CellView.calculateMinorAxisRequirements(TableView.java:1786)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:568)
	at javax.swing.text.html.BlockView.getMinimumSpan(BlockView.java:378)
	at javax.swing.text.html.TableView.checkSingleColumnCell(TableView.java:461)
	at javax.swing.text.html.TableView.calculateColumnRequirements(TableView.java:424)
	at javax.swing.text.html.TableView.calculateMinorAxisRequirements(TableView.java:546)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:568)
	at javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:903)
	at javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:568)
	at javax.swing.text.html.BlockView.getMinimumSpan(BlockView.java:378)
	at javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:903)
	at javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:343)
	at javax.swing.text.BoxView.layout(BoxView.java:708)
	at javax.swing.text.BoxView.setSize(BoxView.java:397)
	at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1722)
	at javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:912)
	at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
	at javax.swing.JEditorPane.getPreferredSize(JEditorPane.java:1332)
	at bedesk.ui.SmallAssist.b(Unknown Source)
	at bedesk.ui.SmallAssist$1.actionPerformed(Unknown Source)
	at javax.swing.Timer.fireActionPerformed(Timer.java:313)
	at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Concerne la méthode javax.swing.text.GlyphView.getBreakSpot dans le fichier GlyphView.java à la ligne 799...


Un workaround consiste à désactiver la compilation JIT pour cette méthode.

Pour cela, ajouter le paramètre suivant dans la commande de démarrage du Java:

-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot

Nous sommes en contact avec quelques utilisateurs où nous supposons avoir détecter le problème et des tests sont en cours.


Le workaround fonctionne. Reste plus qu’à l’intégré dans la prochaine mise à jour.


Cette tâche bloque la fermeture
ID Projet Résumé Priorité Sévérité Progression
257 BeDesk 15  FS#257 - Maintenance 2015 : Correctifs et améliorations techniques  Très haute Haute
100%
Fermée par  DevTeam
2015-04-24 13:26
Raison de la fermeture :  Fixé

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche