2011-01-27 21 views
8

Tengo un problema que, en este momento, ni siquiera sé cómo investigar correctamente. Cualquier recomendación sobre cómo puedo obtener más información es bienvenida y apreciada.VLC muriendo cuando se llama desde Java

Mi empresa vende un producto con una PC WinXP en su núcleo. Una de las tareas del producto es poder iniciar un reproductor de video bajo demanda: VLC, en este caso. (Para ser específico, VLC 0.8.6d; lleva varios años desactualizado, pero la actualización es problemática por varias razones). La aplicación responsable de iniciar el reproductor y realizar muchas otras tareas está escrita en Java.

Tengo una plataforma de prueba junto a mi escritorio. Solía ​​funcionar bien. Pero por alguna razón, ahora ofrece una ventana de "Enviar informe de error" cuando la aplicación Java intenta iniciar VLC: "El reproductor multimedia de VLC ha encontrado un problema y debe cerrarse ..." Usted conoce el.

Claramente, he hecho algo que me fastidió las cosas. El problema es que no sé ni qué podría ser ni cómo arreglarlo.

cosas que sé:

  • No es un error de código. Ejecuto el mismo software en mi máquina de escritorio de desarrollo, y no tiene este problema.
  • No es la instalación de VLC, ni es un archivo de video mal formado. Cuando capturo el comando usado para iniciarlo desde Java y manualmente ingreso ese comando desde una ventana "cmd", funciona bien.
  • No es ese error furtivo de Bastich donde Java lo castiga si no drena manualmente STDERR y STDOUT al hacer una llamada al sistema. Lo tengo cubierto.
  • No recibo ningún mensaje de error o salida cuando falla; simplemente falla y me da esa ventana emergente.

Estoy perplejo. Las recomendaciones sobre qué podría ser o cómo puedo descubrir de qué se trata son muy bienvenidas.

+1

No estoy muy seguro ya que son capaces de ejecutar el vlc desde el símbolo del sistema, pero aún eche un vistazo a este artículo (http://techdows.com/2009/04/how-to-fixvlc-media-player-has.html). Estoy subiendo tu pregunta (tal vez alguien más podría resolverlo). – Favonius

+0

Podría ser que su programa Java no tenga los privilegios suficientes necesarios para ejecutar VLC con los indicadores requeridos? Verifique si su programa está usando el mismo archivo vlcrc que usted. – dirbacke

Respuesta

1

Bueno, no estoy familiarizado con Java y VLC, pero me gustaría hacer las siguientes cosas:

  1. Compruebe que dispone de máquinas virtuales Java idéntico en ambos de sus escritorios. Por si acaso ...
  2. Verifique las variables de entorno del proceso. Ellos dependen del proceso de los padres. Quizás VLC usa algunos de ellos.
  3. Intenta depurar el bloqueo con un depurador nativo como WinDbg. Tal vez la pila de llamadas le dará más ideas.

¡Buena suerte!

0

Mis sugerencias:

  1. crear una aplicación Java simple que acaba de lanza VLC
  2. Utilice su aplicación para poner en marcha un programa simple de las ventanas de línea de comandos
  3. Utilice su aplicación para poner en marcha un programa complejo
  4. Verifique si hay un problema de restricción de memoria. ¿VLC tiene muy poca memoria para ejecutar?

Esto realmente suena como un problema de memoria/entorno.

0

Una serie de cosas que intentaría

  1. asegurarse de que tanto las máquinas de prueba y desarrollo son idénticos en todos los aspectos, el syste operativo (si es posible instalar desde mismo disco OS), la misma versión de la JVM, la misma asignación de memoria a JVM (conoces esas cosas -X-ms). Mi temor no es con Java/JVM per se, es con Windows.
  2. Asegúrese de que puede almorzar, por ejemplo, el Bloc de notas de una aplicación Java, y luego algo así como Windows Media Player o MS Word.
  3. Pruebe y ejecute otras versiones de VLC para ver si se trata de un problema de versión de VLC.
  4. Finalmente tratar de limpiar la caja de prueba y volver a instalarlo (con Windows, nunca se sabe, una nueva instalación sólo podría hacerlo !!)
Cuestiones relacionadas