[vlc-devel] Core input code race condition

xxcv xxcv07 at gmail.com
Fri Mar 6 02:48:45 CET 2009


Rémi Denis-Courmont wrote:
> Le mercredi 4 mars 2009 09:14:25 xxcv, vous avez écrit :
>   
>> #0  0x77170e38 in KERNEL32!CreateJobObjectA ()
>>    from C:\Windows\syswow64\kernel32.dll
>> #1  0x6a58a5b6 in vlc_mutex_lock (p_mutex=0xababab57) at misc/threads.c:370
>> #2  0x08fbfa6e in InteractionDialog::Finish (this=0x17d6d660, i_ret=1)
>>     at dialogs/interaction.cpp:243
>> #3  0x08fc0ec7 in InteractionDialog::InteractionDialog (this=0x17d6d660,
>>     _p_intf=0xcf3dd50, _p_dialog=0x17548760) at dialogs/interaction.cpp:154
>> #4  0x08f9d72e in DialogsProvider::doInteraction (this=0xd01d2e8,
>>     p_arg=0x17df8680) at dialogs_provider.cpp:681
>> #5  0x09573462 in QObject::event ()
>>     at /include/qt4/QtCore/../src/corelib/kernel/qabstractitemmodel.h:61
>> #6  0x090ad29c in QApplicationPrivate::notify_helper ()
>>     at /include/qt4/QtCore/../src/corelib/kernel/qabstractitemmodel.h:61
>> #7  0x090ad3bc in QApplication::notify ()
>>     at /include/qt4/QtCore/../src/corelib/kernel/qabstractitemmodel.h:61
>> #8  0x0957851c in QCoreApplication::notifyInternal ()
>>     at /include/qt4/QtCore/../src/corelib/kernel/qabstractitemmodel.h:61
>> #9  0x0d01d2e8 in ?? ()
>> #10 0x17b02d88 in ?? ()
>> #11 0x1027dd68 in ?? ()
>> #12 0x3ee6fbb8 in ?? ()
>> #13 0x12b9ed68 in ?? ()
>> #14 0x10d2feb8 in ?? ()
>> #15 0x00ffffff in ?? ()
>> #16 0x00000000 in ?? ()
>>     
>
> It is well-known that the "interaction" (not to be confused with the UIs) code 
> is super mega utter deep complete crap.
>
> This is very easy to reproduce: create a long playlist (e.g. M3U) of files 
> that don't exist. Open it in VLC. Wait a few instants. Caboom.
>
> I've been trying improve the interaction code, but its design is so 
> intrisincally stupid, that I have not gotten round to fixing it, and I am 
> more than fed up with it.
>
>   
Just tried your idea made a long playlist M3U of files that don't exist, 
I waited and it finished without
Caboom. Tested with fresh build from commit 
5f5c01ac1f1b21ac7cf46e39379ab6919de1742b
However everything appears to be ok then Media / Quit makes an assertion 
to fail.
http://img23.imageshack.us/img23/8977/onquitafterloadingm3uwi.jpg

Then I tried to run it through GDB but it will lock up the qt4 GUI (on 
Qt 4.5.0 ATM) half way
don't know if this have anything to do with Qt 4.5.0 or not ... or MSYS 
shell lagged off with
massive messages with -vvv. And then I retried with -v only this time it 
will run a bit longer
until GDB got pissed off.
------------------------------------------------------------------------

utils.c:904: internal-error: virtual memory exhausted: can't allocate 
262144 bytes.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) [answered Y; input not from terminal]
utils.c:904: internal-error: virtual memory exhausted: can't allocate 
262144 bytes.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) [answered Y; input not from terminal]

This application has requested the Runtime to terminate it in an unusual 
way.
Please contact the application's support team for more information.
Error: dll starting at 0x77b60000 not found.
Error: dll starting at 0x76290000 not found.
Error: dll starting at 0x77b60000 not found.
Error: dll starting at 0x77a90000 not found.

------------------------------------------------------------------------

I retried with GDB again with -v only, this time it actually finished 
running
and crashed on quit, with no meaningful trace...
------------------------------------------------------------------------

QObject::killTimers: timers cannot be stopped from another thread
[New thread 22520.0x6a18]

Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 22520.0x6a18]
0x096b6dd0 in ?? ()
(gdb) Error: dll starting at 0x77b60000 not found.
Error: dll starting at 0x76290000 not found.
Error: dll starting at 0x77b60000 not found.
Error: dll starting at 0x77a90000 not found.
bt
#0  0x096b6dd0 in ?? ()
#1  0x77559e04 in msvcrt!_endthread () from C:\Windows\syswow64\msvcrt.dll
#2  0x7539f884 in ?? ()
#3  0x00000000 in ?? ()
------------------------------------------------------------------------

Regards.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090306/bfcd9471/attachment.html>


More information about the vlc-devel mailing list