[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