[vlc] VLC plugin crashes

Christopher Deckers chrriis at gmail.com
Mon Feb 18 23:40:24 CET 2008


Hi all,

I have a crash that I can reproduce easily. This crash affects the VLC
plugin (latest download) on an Ubuntu 7.10.

First, a little bit of background as it is not a common setup...

Currently, there is no proper cross-platform Media player available to
Java applications. To fill the gap, I created an open-source project
(DJ Native Swing) which uses SWT's native capabilities to integrate
native components to Swing.
Since I want a native media player but I don't want to handle the
complexity of the installation, I embed a native SWT web browser in a
Swing application, with an html page that loads the desired plugin. I
then control the application with Javascript calls.

With VLC, this approach works on Windows (IE, and Mozilla browsers)
but it crashes easily on Linux when I perform certain Swing actions.
For example, I open a file chooser while a video is playing, and when
I close this file chooser the application crashes with this error:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x320001d
  Serial number of failed request:  1203
  Current serial number in output stream:  1203

I made a simple test case: http://chrriis.free.fr/VLCTest.zip
Extract the zip and run: java -jar VLCTest.jar

By default, it loads some movie file from the Internet, but you can
pass a URL as a parameter to get a different stream. To create the
crash, click on the button when a movie is playing to open a file
chooser, and then hit "cancel" to close it. Usually, it crashes
immediately, sometimes you have to do it a second time.

Note that it is using the web browser from SWT which requires
XULRunner to be installed. Moreover, I noticed I had to run the
following command to get the VLC plugin to work in XULRunner:
sudo ln -s -t /usr/lib/xulrunner/plugins
/usr/lib/mozilla/plugins/libvlcplugin.so
(In fact, I wonder why the install does not add VLC to XULRunner by default)

VLCTest.jar is an archive that also contains the source file
(VLCText.java) in case you want to look at the Java code.

I am not 100% sure it is a problem with VLC (it could be a problem
with Swing), but I have not seen such instability with other plugins.
For example, if I replace the code to get a flash application, the
steps described above don't produce any problems.

I truly believe that desktop Java applications would benefit from
having a cross platform media player, and I believe VLC could be a
popular media player for such use case, which is why I hope someone
can help finding (and fixing?) the cause of this issue.

Cheers,
-Christopher



More information about the vlc mailing list