Escribí una aplicación javafx basada en java. Se realizó sin ningún problema en cualquiera de los equipos de desarrollo de mi equipo durante 2 años. Pero se instala en producción en aproximadamente 700 máquinas (con diferentes configuraciones), todas ejecutan Windows 7 u 8 y se bloquea al azar allí. Diariamente se producen alrededor de 100 bloqueos acumulativos de todas las máquinas. La aplicación se congela con el cuadro de diálogo de finalización de tarea, básicamente ventanas que matan la aplicación de Java. No hay errores en los registros, no hay pérdidas de memoria, la CPU es de alrededor del 20% en todas las máquinas que he perfilado.
Se bloquea aleatoriamente, no está vinculado a la configuración específica que puedo ver. Intenté actualizar Java, pero el bloqueo solo se muestra de manera diferente (pantalla negra + congelación en lugar de congelar la pantalla).
La aplicación está reproduciendo 5-6 pantallas diferentes, cada pantalla tiene reproducción de video a pantalla completa con algo de texto animado sobre ella. Los videos se comprimen a h264 con todo configurado para facilitar la carga en la CPU.
En una PC, obtuve el registro de fallas JavaVM que se quejaba de algunos gstreamer.dll utilizados por javafx.
¿Hay alguna forma de depurar este comportamiento aleatorio que está matando a la VM por completo? ¿Hay alguna forma de ver en algunos registros de errores de Windows por qué mató la aplicación de Java?