<br><br><div class="gmail_quote">On Fri, May 9, 2008 at 9:32 AM, Jared Henley <<a href="mailto:jared.henley@gmail.com">jared.henley@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="Ih2E3d">On Thu, May 8, 2008 at 9:18 PM, Peter Savage <<a href="mailto:silentkeystroke@googlemail.com" target="_blank">silentkeystroke@googlemail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote">2008/5/8 Jared Henley <<a href="mailto:jared.henley@gmail.com" target="_blank">jared.henley@gmail.com</a>>:<div><div></div><div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>I've built kdenlive from svn revision 2167 (with a small patch, posted to this list). On running it, it crashed immediately with no error messages on the terminal, but it did appear to be loading the project. I then tried creating a new project, which was fine until I attempted to add a clip. Kdenlive then crashed again with no error messages on the terminal, but it was able to tell me the number of frames in the clip (see below)<br>
<br>kdenlive: Getting file PROPS: /home/pj/dada07-finished/untitled.dv, DURATON: 279<br>kdenlive: /// GTE TMB, 69, 38, FRAME SIZE: 720, 576<br>KCrash: Application 'kdenlive' crashing...<br>KCrash cannot reach kdeinit, launching directly.<br>
</blockquote></div></div><div><br>Can you get us a back trace? Run it like this<br>gdb kdenlive<br><br>then type start <enter><br>then you'll have to press Enter if instructed.....if it just sits there, type continue <enter> in to the terminal window Keep doing this until you see a segfault on the terminal session<br>
once you see that<br>type bt <enter><br>Then we should get a backtrace of what is happening.</div></div></blockquote></div><div><br>I haven't ever used gdb before -- this is fun :-). Anyway, here's the backtrace (I didn't compile with debugging symbols, would that help?) <br>
</div><div><br>Program received signal SIGSEGV, Segmentation fault.<br>0xb6b6d23c in memcpy () from /lib/libc.so.6<br>(gdb) bt<br>#0 0xb6b6d23c in memcpy () from /lib/libc.so.6<br>#1 0xb7a314c7 in QPixmap::convertFromImage () from /opt/qt/lib/libqt-mt.so.3<br>
#2 0xb7ae3001 in bitBlt () from /opt/qt/lib/libqt-mt.so.3<br>#3 0x081b2056 in KRender::frameThumbnail ()<br>#4 0x081b3517 in KRender::getFileProperties ()<br>#5 0x08232d14 in KRender::qt_invoke ()<br>#6 0xb7adc49a in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3<br>
#7 0x082243f1 in ClipManager::getFileProperties ()<br>#8 0x080d9478 in ClipManager::insertXMLClip ()<br>#9 0x0815be27 in Command::KAddClipCommand::addClip ()<br>#10 0xb71fdea0 in KMacroCommand::execute () from /opt/kde/lib/libkdeui.so.4<br>
#11 0xb72b006c in KCommandHistory::addCommand ()<br> from /opt/kde/lib/libkdeui.so.4<br>#12 0x08179fe6 in Gui::KdenliveApp::slotProjectAddClips ()<br>#13 0x0822db0d in Gui::KdenliveApp::qt_invoke ()<br>#14 0xb7adc49a in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3<br>
#15 0xb7ade9bb in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3<br>#16 0xb71f8e19 in KAction::activated () from /opt/kde/lib/libkdeui.so.4<br>#17 0xb7241e70 in KAction::slotActivated () from /opt/kde/lib/libkdeui.so.4<br>
#18 0xb72f0055 in KAction::slotPopupActivated ()<br> from /opt/kde/lib/libkdeui.so.4<br>#19 0xb72f0380 in KAction::qt_invoke () from /opt/kde/lib/libkdeui.so.4<br>#20 0xb7adc49a in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3<br>
---Type <return> to continue, or q <return> to quit---<br>#21 0xb7e3222e in QSignal::signal () from /opt/qt/lib/libqt-mt.so.3<br>#22 0xb7af920d in QSignal::activate () from /opt/qt/lib/libqt-mt.so.3<br>#23 0xb7be994c in QPopupMenu::mouseReleaseEvent ()<br>
from /opt/qt/lib/libqt-mt.so.3<br>#24 0xb7225ed2 in KPopupMenu::mouseReleaseEvent ()<br> from /opt/kde/lib/libkdeui.so.4<br>#25 0xb7b167a7 in QWidget::event () from /opt/qt/lib/libqt-mt.so.3<br>#26 0xb7a78105 in QApplication::internalNotify ()<br>
from /opt/qt/lib/libqt-mt.so.3<br>#27 0xb7a79661 in QApplication::notify () from /opt/qt/lib/libqt-mt.so.3<br>#28 0xb706013a in KApplication::notify () from /opt/kde/lib/libkdecore.so.4<br>#29 0xb7a131fe in QApplication::sendSpontaneousEvent ()<br>
from /opt/qt/lib/libqt-mt.so.3<br>#30 0xb7a108ca in QETWidget::translateMouseEvent ()<br> from /opt/qt/lib/libqt-mt.so.3<br>#31 0xb7a0ee8b in QApplication::x11ProcessEvent ()<br> from /opt/qt/lib/libqt-mt.so.3<br>
#32 0xb7a22fcc in QEventLoop::processEvents () from /opt/qt/lib/libqt-mt.so.3<br>
#33 0xb7a907d0 in QEventLoop::enterLoop () from /opt/qt/lib/libqt-mt.so.3<br>#34 0xb7a7870f in QApplication::enter_loop () from /opt/qt/lib/libqt-mt.so.3<br>#35 0xb7becbca in QPopupMenu::exec () from /opt/qt/lib/libqt-mt.so.3<br>
#36 0xb7beffab in QPushButton::popupPressed () from /opt/qt/lib/libqt-mt.so.3<br>#37 0xb7e497b0 in QPushButton::qt_invoke () from /opt/qt/lib/libqt-mt.so.3<br>---Type <return> to continue, or q <return> to quit---<br>
#38 0xb72a2d03 in KPushButton::qt_invoke () from /opt/kde/lib/libkdeui.so.4<br>#39 0xb7adc49a in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3<br>#40 0xb7ade9bb in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3<br>
#41 0xb7e39819 in QButton::pressed () from /opt/qt/lib/libqt-mt.so.3<br>#42 0xb7b75dcd in QButton::mousePressEvent () from /opt/qt/lib/libqt-mt.so.3<br>#43 0xb71e8ba4 in KPushButton::mousePressEvent ()<br> from /opt/kde/lib/libkdeui.so.4<br>
#44 0xb7b16bc1 in QWidget::event () from /opt/qt/lib/libqt-mt.so.3<br>#45 0xb7a78105 in QApplication::internalNotify ()<br> from /opt/qt/lib/libqt-mt.so.3<br>#46 0xb7a79661 in QApplication::notify () from /opt/qt/lib/libqt-mt.so.3<br>
#47 0xb706013a in KApplication::notify () from /opt/kde/lib/libkdecore.so.4<br>#48 0xb7a131fe in QApplication::sendSpontaneousEvent ()<br> from /opt/qt/lib/libqt-mt.so.3<br>#49 0xb7a10629 in QETWidget::translateMouseEvent ()<br>
from /opt/qt/lib/libqt-mt.so.3<br>#50 0xb7a0ee8b in QApplication::x11ProcessEvent ()<br> from /opt/qt/lib/libqt-mt.so.3<br>#51 0xb7a22fcc in QEventLoop::processEvents () from /opt/qt/lib/libqt-mt.so.3<br>#52 0xb7a907d0 in QEventLoop::enterLoop () from /opt/qt/lib/libqt-mt.so.3<br>
#53 0xb7a90696 in QEventLoop::exec () from /opt/qt/lib/libqt-mt.so.3<br>#54 0xb7a7879f in QApplication::exec () from /opt/qt/lib/libqt-mt.so.3<br>#55 0x081da787 in main ()<br><br></div></div>Jared.<br>
</blockquote></div><br>After some investigation I found that this crash is not exactly deterministic -- sometimes no crash, and sometimes a crash while still loading kdenlive. Assuming it to be a concurrency problem, I added a sleep in krenderer.cpp (line 280):<br>
<br> uint8_t *thumb = frame->get_image(format, width, height);<br> QImage image(thumb, width, height, 32, NULL, 0, QImage::IgnoreEndian);<br> image.setAlphaBuffer( true );<br> sleep(10);<br> if (!image.isNull()) {<br>
if (!border) bitBlt(&pix, 0, 0, &image, 0, 0, width, height);<br><br>and it hasn't crashed since.<br><br>This is obviously not a proper solution. Where's the threaded code? Any ideas where to look next?<br>