Bonjour,
J'ai une applet avec une interface utilisateur assez simple (trois barres de défilement, trois boutons, six labels). Lors de son démarrage, l'applet demande la sélection d'un répertoire avec un JFileChooser en mode "répertoires seulement", puis le traitement démarre et on peut suivre sa progression sur les barres. J'ai légèrement bidouillé le JFileChooser pour enlever la boite de sélection de type de fichiers, qui ne sert à rien dans notre cas.
Tout marche bien.
Sauf que, de temps en temps, lors du lancement de l'applet, la JVM freeze complètement; la seule solution reste de tuer le navigateur. Lorsque ça freeze, l'applet n'est pas affichée du tout (la page reste juste blanche).
Nous n'avons pas pu identifier de scénario de reproduction, ça "arrive juste de temps en temps". Parfois c'est systématique à chaque lancement jusqu'à ce qu'on en ait marre, parfois ça marche pendant trois jours...
Lors du freeze, impossible d'afficher la console Java. J'ai donc passé l'option -verbose au plugin Java; il me sort bien la fenêtre de traçage, lors du crash je peux faire un Ctrl+Break pour faire un thread dump, mais impossible d'y accéder pour faire un copy/paste (comprenne qui peut).
La seule chose que j'ai pu faire, c'est deux captures d'écran que je vous mets en fichier attachés.(Désolé de vous poster ça sous cette forme, pas trop le choix)
Je suppose que mon problème vient des threads qui attendent en état "Blocked"; la grande question c'est pourquoi passent-ils dans cet état, et surtout pourquoi est-ce aléatoire... (ça ressemble à un vieil interlock qui sort du bois, non ?)
Merci de toute suggestion pouvant m'aider à tracer, identifier et solutionner ce problème.
Partager