[Kdenlive-devel] Startup crash in libsdl on kubuntu 7.10

Mads Bondo Dydensborg mads at dydensborg.dk
Mon Jul 7 22:30:02 UTC 2008


Hi there

I have used the GUI script on the wiki (kdenlive_builder_v3.sh) to build a 
version of kdenlive (ffmpeg, mlt, mlt++) as of a couple of days ago. On 
loading a project, I often get a crash in libsdl (the project I load contains 
a lot of clips, cutted from this):

kdenlive: **********  FREED MEM FOR: avi_0025.avi, COUNT: 0
kdenlive:  / / /CONNECTING PLAYLIST: - - -132123292

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1234450752 (LWP 14626)]
0xb58fdb91 in SDL_SetVideoMode () from /usr/lib/libSDL-1.2.so.0
(gdb) bt
#0  0xb58fdb91 in SDL_SetVideoMode () from /usr/lib/libSDL-1.2.so.0
#1  0xb61b2a28 in consumer_start (parent=0xb2464108) at 
consumer_sdl_still.c:200
#2  0xb6c51352 in mlt_consumer_start (this=0xb2464108) at mlt_consumer.c:341
#3  0xb61b0d94 in consumer_start (parent=0xb24bfcf8) at 
consumer_sdl_preview.c:208
#4  0xb6c51352 in mlt_consumer_start (this=0xb24bfcf8) at mlt_consumer.c:341
#5  0xb6c67942 in Mlt::Consumer::start () 
from /scratch/KdenliveInstall/20080706/lib/libmlt++.so.0
#6  0x081a511f in KRender::connectPlaylist ()
#7  0x08220de1 in KRender::qt_invoke ()
#8  0xb7a8b893 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#9  0xb7a8c338 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#10 0xb7e199b2 in QTimer::timeout () from /usr/lib/libqt-mt.so.3
#11 0xb7ab35ba in QTimer::event () from /usr/lib/libqt-mt.so.3
#12 0xb7a22af0 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#13 0xb7a2491f in QApplication::notify () from /usr/lib/libqt-mt.so.3
#14 0xb6f51cd2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#15 0xb79b5209 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#16 0xb7a1553b in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3
#17 0xb79c9d49 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#18 0xb7a3d1ce in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#19 0xb7a3cfde in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#20 0xb7a24699 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#21 0x081cbe72 in main ()

However, it seems mlt passes "reasonable" parameters to libsdl:

(gdb) up
#1  0xb61b2a28 in consumer_start (parent=0xb2464108) at 
consumer_sdl_still.c:200
200                             this->sdl_screen = SDL_SetVideoMode( 
this->window_width, this->window_height, 0, this->sdl_flags );
(gdb) l
195                                     this->sdl_screen = 
SDL_GetVideoSurface( );
196                             }
197                     }
198
199                     if ( this->sdl_screen == NULL && preview_off == 0 )
200                             this->sdl_screen = SDL_SetVideoMode( 
this->window_width, this->window_height, 0, this->sdl_flags );
201
202                     pthread_create( &this->thread, NULL, consumer_thread, 
this );
203             }
204
(gdb) p this
$1 = (consumer_sdl) 0xb2464108
(gdb) p this->sdl_screen
$2 = (SDL_Surface *) 0x0
(gdb) p preview_off
$3 = 0
(gdb) p this->window_width
$4 = 1023
(gdb) p this->window_height
$5 = 576
(gdb) p this->sdl_flags
$6 = 1073742101

Of course, I am a bit uncertain on the flags.

Sometimes kdenlive does not crash, but just hangs. Threads looks like this:

Program received signal SIGINT, Interrupt.
[Switching to Thread -1234442560 (LWP 14781)]
0xffffe410 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 17 (Thread -1272640624 (LWP 14799)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7625676 in pthread_cond_wait@@GLIBC_2.3.2 () 
from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb61b3306 in consumer_thread (arg=0x8679c58) at 
consumer_sdl_preview.c:381
#3  0xb762146b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb6aa06de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 16 (Thread -1264247920 (LWP 14798)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb76258fc in pthread_cond_timedwait@@GLIBC_2.3.2 () 
from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb6c52f49 in mlt_consumer_get_frame (this=0x86916e0) at 
mlt_consumer.c:409
#3  0xb6c531b5 in mlt_consumer_rt_frame (this=0x86916e0) at mlt_consumer.c:764
#4  0xb61b377d in consumer_thread (arg=0x86916e0) at consumer_sdl_still.c:558
#5  0xb762146b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6  0xb6aa06de in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1234442560 (LWP 14781)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6a965e7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7683839 in ?? () from /usr/lib/libX11.so.6
#3  0x084ebf00 in ?? ()
#4  0x00000001 in ?? ()
#5  0xffffffff in ?? ()
#6  0xb768c67f in _X11TransWrite () from /usr/lib/libX11.so.6
#7  0xb7683c2f in _XRead () from /usr/lib/libX11.so.6
#8  0xb7684604 in _XReply () from /usr/lib/libX11.so.6
#9  0xb767e5da in XSync () from /usr/lib/libX11.so.6
#10 0xb59071a5 in _ConvertX86p32_8RGB332 () from /usr/lib/libSDL-1.2.so.0
#11 0x00000000 in ?? ()

My guess is that it is thread 16 that is hanging. But why?

Once in a while, it just seems to "work", and I can actually edit using 
kdenlive. 

The best combination seems to be _not_ running kdenlive in gdb, and using the 
file|open action, never the crash recovery, or open recent options/action.

Any advice on getting kdenlive to run (stable) on this box? Its a pretty 
vanilla kubuntu 7.10, which I would rather not update to 8.04 at the moent. 
Dual core centrino cpu.

Regards

Mads

-- 
Mads Bondo Dydensborg   mads at dydensborg.dk   http://www.madsdydensborg.dk/

Men of vast integrity are seldom popular.  They are often crucified

                               - Dave Mallery




More information about the Kdenlive mailing list