yes, it crash here too sometimes. Look like the backtrace is different now. The cras appear inside CImg::greystoration.<br><br>I suspect a problem in the thread management of algorithm witch not stop properlly the threads at each iterations (resize use 3 iterations , this is why it crash at 33%).
<br><br>I don't know why the code is more stable here when i use CImg::wait() instead QThread::usleep() in my interface. I'm in contact with David to investiguate. Wait and seen feedback from him.<br><br>Gilles<br>
<br><div><span class="gmail_quote">2007/3/27, Thorsten Schnebeck <<a href="mailto:thorsten.schnebeck@gmx.net">thorsten.schnebeck@gmx.net</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Am Dienstag 27 März 2007 schrieben Sie:<br>> Thorsten,<br>><br>> I have found the problem. The crash is releavnt of CImg::wait(...) call in<br>> my Greycstoration interface.<br>><br>> I have removed these call and the valgrind report disapear.
<br>><br>> Code is patched to svn. Please checkout, try again, and give me a report.<br>> Thanks in advance.<br>><br>> Gilles<br><br>Hi Gilles,<br><br>sorry, but I still have a crash. I tried to collect all useful informations.
<br><br>Bye<br><br>  Thorsten<br><br>digikam: GreycstorationIface::Resize: new size: (3764, 2509)<br>[New Thread -1247376496 (LWP 7635)]<br>digikam: GreycstorationIface::Initialization...<br>digikam: GreycstorationIface::Process Computation...
<br>digikam: Resizing image: size 3072 x 2048, value range [0 , 255]<br>[New Thread -1360770160 (LWP 7654)]<br>[New Thread -1369162864 (LWP 7655)]<br>[Thread -1369162864 (LWP 7655) exited]<br>[New Thread -1584268400 (LWP 7789)]
<br>[New Thread -1744942192 (LWP 7790)]<br>[Thread -1360770160 (LWP 7654) exited]<br>[Thread -1744942192 (LWP 7790) exited]<br><br>Program received signal SIGSEGV, Segmentation fault.<br>[Switching to Thread -1584268400 (LWP 7789)]
<br>0xb7e9eccb in cimg_library::CImg<float>::greycstoration_thread (arg=0x8c7a1dc)<br>at greycstoration.h:144<br>144               for (unsigned int x=0; x<source.width && !*(p.stop_request);<br>x+=p.tile
)<br><br>(gdb) info threads<br>* 8 Thread -1584268400 (LWP 7789)  0xb7e9eccb in<br>cimg_library::CImg<float>::greycstoration_thread (arg=0x8c7a1dc) at<br>greycstoration.h:144<br>  5 Thread -1247376496 (LWP 7635)  0xb7fa3410 in __kernel_vsyscall ()
<br>  4 Thread -1255769200 (LWP 7628)  0xb7fa3410 in __kernel_vsyscall ()<br>  1 Thread -1245477200 (LWP 7553)  0xb7fa3410 in __kernel_vsyscall ()<br><br>(gdb) bt<br>#0  0xb7e9eccb in cimg_library::CImg<float>::greycstoration_thread
<br>(arg=0x8c7a1dc) at greycstoration.h:144<br>#1  0xb5f494bb in start_thread () from /lib/libpthread.so.0<br>#2  0xb5d0676e in clone () from /lib/libc.so.6<br><br>(gdb) thread 5<br>[Switching to thread 5 (Thread -1247376496 (LWP 7635))]#0  0xb7fa3410 in
<br>__kernel_vsyscall ()<br>(gdb) bt<br>#0  0xb7fa3410 in __kernel_vsyscall ()<br>#1  0xb5f4db5c in pthread_cond_timedwait@@GLIBC_2.3.2 ()<br>from /lib/libpthread.so.0<br>#2  0xb65224ca in ?? () from /usr/qt/3/lib/libqt-mt.so.3
<br>#3  0xb5a67684 in ?? ()<br>#4  0xb5a676b4 in ?? ()<br>#5  0xb5a676f0 in ?? ()<br>#6  0xb68221b4 in QMutex::unlock () from /usr/qt/3/lib/libqt-mt.so.3<br>#7  0xb6522567 in QThread::usleep () from /usr/qt/3/lib/libqt-mt.so.3
<br>#8  0xb7e82d12 in Digikam::GreycstorationIface::iterationLoop (this=0x8dcb9f0,<br>iter=1) at greycstorationiface.cpp:416<br>#9  0xb7e832a4 in Digikam::GreycstorationIface::resize (this=0x8dcb9f0) at<br>greycstorationiface.cpp
:384<br>#10 0xb7e83d78 in Digikam::GreycstorationIface::filterImage (this=0x8dcb9f0)<br>at greycstorationiface.cpp:203<br>#11 0xb7e57546 in Digikam::DImgThreadedFilter::startComputation<br>(this=0x8dcb9f0) at dimgthreadedfilter.cpp
:143<br>#12 0xb7e5059f in Digikam::DImgThreadedFilter::run (this=0x8dcb9f0)<br>at ../../../digikam/libs/dimg/filters/dimgthreadedfilter.h:101<br>#13 0xb65228e3 in QThreadInstance::start () from /usr/qt/3/lib/libqt-mt.so.3
<br>#14 0xb5f494bb in start_thread () from /lib/libpthread.so.0<br>#15 0xb5d0676e in clone () from /lib/libc.so.6<br><br>(gdb) thread 4<br>[Switching to thread 4 (Thread -1255769200 (LWP 7628))]#0  0xb7fa3410 in<br>__kernel_vsyscall ()
<br>(gdb) bt<br>#0  0xb7fa3410 in __kernel_vsyscall ()<br>#1  0xb5f4db5c in pthread_cond_timedwait@@GLIBC_2.3.2 ()<br>from /lib/libpthread.so.0<br>#2  0xb68232b9 in QWaitCondition::wait () from /usr/qt/3/lib/libqt-mt.so.3
<br>#3  0xb7e7b53c in Digikam::LoadSaveThread::run (this=0xb5f4140) at<br>loadsavethread.cpp:115<br>#4  0xb65228e3 in QThreadInstance::start () from /usr/qt/3/lib/libqt-mt.so.3<br>#5  0xb5f494bb in start_thread () from /lib/libpthread.so.0
<br>#6  0xb5d0676e in clone () from /lib/libc.so.6<br><br>(gdb) thread 1<br>[Switching to thread 1 (Thread -1245477200 (LWP 7553))]#0  0xb7fa3410 in<br>__kernel_vsyscall ()<br>(gdb) bt<br>#0  0xb7fa3410 in __kernel_vsyscall ()
<br>#1  0xb5d000e1 in select () from /lib/libc.so.6<br>#2  0xb64d9618 in QEventLoop::processEvents ()<br>from /usr/qt/3/lib/libqt-mt.so.3<br>#3  0xb65404a1 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3<br>#4  0xb652936f in QApplication::enter_loop () from /usr/qt/3/lib/libqt-
mt.so.3<br>#5  0xb670db16 in QDialog::exec () from /usr/qt/3/lib/libqt-mt.so.3<br>#6  0xb7eff94e in Digikam::EditorWindow::slotResize (this=0x8c78528) at<br>editorwindow.cpp:593<br>#7  0xb7f041f3 in Digikam::EditorWindow::qt_invoke (this=0x8c78528, _id=76,
<br>_o=0xbfa34a58) at editorwindow.moc:229<br>#8  0xb7f0b210 in Digikam::ImageWindow::qt_invoke (this=0x8c78528, _id=76,<br>_o=0xbfa34be8) at imagewindow.moc:232<br>#9  0xb6588b49 in QObject::activate_signal () from /usr/qt/3/lib/libqt-
mt.so.3<br>#10 0xb658979d in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3<br>#11 0xb6dd3f8c in KAction::activated (this=0x8d56818) at kaction.moc:176<br>#12 0xb6dd47a1 in KAction::slotActivated (this=0xbfa34be8) at 
kaction.cpp:1102<br>#13 0xb6dd49eb in KAction::slotPopupActivated (this=0x8d56818) at<br>kaction.cpp:1137<br>#14 0xb6dd4d1c in KAction::qt_invoke (this=0x8d56818, _id=16, _o=0xbfa34d24)<br>at kaction.moc:219<br>#15 0xb6588b49 in QObject::activate_signal () from /usr/qt/3/lib/libqt-
mt.so.3<br>#16 0xb68c172e in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3<br>#17 0xb65a4b05 in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3<br>#18 0xb668dec9 in QPopupMenu::mouseReleaseEvent ()<br>from /usr/qt/3/lib/libqt-
mt.so.3<br>#19 0xb6dc30a0 in KPopupMenu::mouseReleaseEvent (this=0x8d680a8, e=0xbfa3512c)<br>at kpopupmenu.cpp:508<br>#20 0xb65c18be in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3<br>#21 0xb6529977 in QApplication::internalNotify ()
<br>from /usr/qt/3/lib/libqt-mt.so.3<br>#22 0xb652a748 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3<br>#23 0xb6b3d86b in KApplication::notify (this=0xbfa355c0, receiver=0x8d680a8,<br>event=0xbfa3512c) at kapplication.cpp
:550<br>#24 0xb64ca996 in QETWidget::translateMouseEvent ()<br>from /usr/qt/3/lib/libqt-mt.so.3<br>---Type <return> to continue, or q <return> to quit---<br>#25 0xb64c9940 in QApplication::x11ProcessEvent ()<br>
from /usr/qt/3/lib/libqt-mt.so.3<br>#26 0xb64d9831 in QEventLoop::processEvents ()<br>from /usr/qt/3/lib/libqt-mt.so.3<br>#27 0xb65404a1 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3<br>#28 0xb6540326 in QEventLoop::exec () from /usr/qt/3/lib/libqt-
mt.so.3<br>#29 0xb65293ff in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3<br>#30 0x0804b1d0 in main (argc=-1079814060, argv=0xb7fb24a9) at main.cpp:321<br><br><br>_______________________________________________<br>
Digikam-devel mailing list<br><a href="mailto:Digikam-devel@kde.org">Digikam-devel@kde.org</a><br><a href="https://mail.kde.org/mailman/listinfo/digikam-devel">https://mail.kde.org/mailman/listinfo/digikam-devel</a><br></blockquote>
</div><br>