[vlc-devel] LibVLC fatal error

Pierre d'Herbemont pdherbemont at free.fr
Sat Mar 15 23:50:38 CET 2008

Quoting Rafaël Carré <funman at videolan.org>:

> On Sat, 2008-03-15 at 18:34 +0100, Vladimir Kokovic wrote:
> > Hi,
> >
> > My first try for new java bindings is unsuccessful !
> [...]
> > 2008-03-15 18:05:22,371 [Thread-0] org.asoft.library.AL 256 INFO JVLC
> trying:file:///tmp/asoft-Pijani Rus.avi-video52473.avi
> > 2008-03-15 18:05:22,553 [Thread-0] org.asoft.library.AL 256 INFO JVLC
> start:/tmp/asoft-Pijani Rus.avi-video52473.avi
> > LibVLC fatal error locking mutex in thread 2427792272 at
> video_output/video_output.c:794: 22
> >  Error message: Invalid argument
> > Java Result: 134
> This looks like a bug in libvlc, the line 794 try to lock a mutex, which
> should have been initialized at the very beginning of input creation.

There is an known bug of libvlc with input. Basically input refcount-ing is
badly done and you can end up in vlc_object_find() a destroyed input_thread_t. I
am not sure this is this bug or a nasty work around that causes this. But I was
working on object refcounting sanitization, which fixed most of the input
related crash.

Basically vlc_object_release() should call input_Destroy() if its refcount
reaches zero, after the object has been removed from the object list. Currently 
it's is done the other way around, which doesn't work in most situation.
(input_Destroy calls vlc_object_release()).

That's part of the reason why object refcounting is a bit broken currently (or
more exactly probably not well enough done).


More information about the vlc-devel mailing list