SVN commit 599179 by cgilles:
digikam from trunk : make a deep copy of QString in threaded image filter constructor to prevent crash into Hyperthreading CPU. To digiKam users : feedback is welcome... CCBUGS:133026 CCMAIL: [hidden email] M +33 -25 dimgthreadedfilter.cpp M +33 -31 dimgthreadedfilter.h --- trunk/extragear/graphics/digikam/libs/dimg/filters/dimgthreadedfilter.cpp #599178:599179 @@ -1,5 +1,4 @@ /* ============================================================ - * File : dimgthreadedfilter.cpp * Author: Gilles Caulier <caulier dot gilles at kdemail dot net> * Date : 2005-05-25 * Description : threaded image filter class. @@ -24,6 +23,7 @@ #include <qobject.h> #include <qdatetime.h> #include <qevent.h> +#include <qdeepcopy.h> // KDE includes. @@ -36,34 +36,42 @@ namespace Digikam { -DImgThreadedFilter::DImgThreadedFilter(DImg *orgImage, QObject *parent, QString name) +DImgThreadedFilter::DImgThreadedFilter(DImg *orgImage, QObject *parent, + const QString& name) : QThread() { // remove meta data - m_orgImage = orgImage->copyImageData(); - m_parent = parent; - m_cancel = false; - m_name = name; + m_orgImage = orgImage->copyImageData(); + m_parent = parent; + m_cancel = false; - m_master = 0; - m_slave = 0; + // See B.K.O #133026: make a deep copy of Qstring to prevent crash + // on Hyperthreading computer. + m_name = QDeepCopy<QString>(name); + + m_master = 0; + m_slave = 0; m_progressBegin = 0; m_progressSpan = 100; } -DImgThreadedFilter::DImgThreadedFilter(DImgThreadedFilter *master, const DImg &orgImage, const DImg &destImage, - int progressBegin, int progressEnd, QString name) +DImgThreadedFilter::DImgThreadedFilter(DImgThreadedFilter *master, const DImg &orgImage, + const DImg &destImage, int progressBegin, int progressEnd, + const QString& name) { - m_orgImage = orgImage; - m_destImage = destImage; - m_parent = 0; - m_cancel = false; - m_name = name; + m_orgImage = orgImage; + m_destImage = destImage; + m_parent = 0; + m_cancel = false; - m_master = master; - m_slave = 0; + // See B.K.O #133026: make a deep copy of Qstring to prevent crash + // on Hyperthreading computer. + m_name = QDeepCopy<QString>(name); + + m_master = master; + m_slave = 0; m_progressBegin = progressBegin; - m_progressSpan = progressEnd - progressBegin; + m_progressSpan = progressEnd - progressBegin; m_master->setSlave(this); } @@ -75,8 +83,6 @@ m_master->setSlave(0); } - - void DImgThreadedFilter::initFilter(void) { m_destImage.reset(); @@ -123,9 +129,9 @@ else if (m_parent) { EventData *eventData = new EventData(); - eventData->progress = progress; - eventData->starting = starting; - eventData->success = success; + eventData->progress = progress; + eventData->starting = starting; + eventData->success = success; QApplication::postEvent(m_parent, new QCustomEvent(QEvent::User, eventData)); } } @@ -150,7 +156,8 @@ postProgress(0, false, true); kdDebug() << m_name - << "::End of computation !!! ... ( " << startDate.secsTo(endDate) << " s )" << endl; + << "::End of computation !!! ... ( " << startDate.secsTo(endDate) << " s )" + << endl; } else { @@ -158,7 +165,8 @@ postProgress(0, false, false); kdDebug() << m_name - << "::Computation aborted... ( " << startDate.secsTo(endDate) << " s )" << endl; + << "::Computation aborted... ( " << startDate.secsTo(endDate) << " s )" + << endl; } } --- trunk/extragear/graphics/digikam/libs/dimg/filters/dimgthreadedfilter.h #599178:599179 @@ -1,5 +1,4 @@ /* ============================================================ - * File : dimgthreadedfilter.h * Author: Gilles Caulier <caulier dot gilles at kdemail dot net> * Date : 2005-05-25 * Description : threaded image filter class. @@ -46,8 +45,7 @@ public: -// Class used to post status of computation to parent. - +/** Class used to post status of computation to parent. */ class EventData { public: @@ -65,7 +63,8 @@ public: - DImgThreadedFilter(DImg *orgImage, QObject *parent=0, QString name=QString::null); + DImgThreadedFilter(DImg *orgImage, QObject *parent=0, + const QString& name=QString::null); ~DImgThreadedFilter(); @@ -78,49 +77,44 @@ protected: - // Copy of original Image data. + /** Copy of original Image data. */ DImg m_orgImage; - // Output image data. + /** Output image data. */ DImg m_destImage; - // Filter name. + /** Filter name.*/ QString m_name; - // Used to stop compution loop. + /** Used to stop compution loop. */ bool m_cancel; - // To post event from thread to parent. + /** To post event from thread to parent. */ QObject *m_parent; protected: - // Start filter operation before threaded method. Must be calls by your constructor. + /** Start filter operation before threaded method. Must be calls by your constructor. */ virtual void initFilter(void); - // List of threaded operations by filter. + /** List of threaded operations by filter. */ virtual void run(){ startComputation(); }; - // Main image filter method. + /** Main image filter method. */ virtual void filterImage(void){}; - // Clean up filter data if necessary. Call by stopComputation() method. + /** Clean up filter data if necessary. Call by stopComputation() method. */ virtual void cleanupFilter(void){}; - // Post Event to parent about progress. Warning: you need to delete - // 'EventData' instance to 'customEvent' parent implementation. + /** Post Event to parent about progress. Warning: you need to delete + 'EventData' instance to 'customEvent' parent implementation. */ void postProgress(int progress=0, bool starting=true, bool success=false); - + protected: - // Support for chaining two filters as master and thread + /** + Support for chaining two filters as master and thread. - // The current slave. Any filter might want to use another filter while processing. - DImgThreadedFilter *m_slave; - // The master of this slave filter. Progress info will be routed to this one. - DImgThreadedFilter *m_master; - - /* Constructor for slave mode: Constructs a new slave filter with the specified master. The filter will be executed in the current thread. @@ -129,20 +123,28 @@ that the slave filter uses in the parent filter's progress. Any derived filter class that is publicly available to other filters should implement an additional constructor using this constructor. - */ + */ DImgThreadedFilter(DImgThreadedFilter *master, const DImg &orgImage, const DImg &destImage, - int progressBegin=0, int progressEnd=100, QString name=QString::null); + int progressBegin=0, int progressEnd=100, const QString& name=QString::null); - // inform the master that there is currently a slave. At destruction of the slave, call with slave=0. + /** Inform the master that there is currently a slave. At destruction of the slave, call with slave=0. */ void setSlave(DImgThreadedFilter *slave); - // The progress span that a slave filter uses in the parent filter's progress + /** This method modulates the progress value from the 0..100 span to the span of this slave. + Called by postProgress if master is not null. */ + virtual int modulateProgress(int progress); + +protected: + + /** The current slave. Any filter might want to use another filter while processing. */ + DImgThreadedFilter *m_slave; + + /** The master of this slave filter. Progress info will be routed to this one. */ + DImgThreadedFilter *m_master; + + /** The progress span that a slave filter uses in the parent filter's progress. */ int m_progressBegin; int m_progressSpan; - // This method modulates the progress value from the 0..100 span to the span of this slave. - // Called by postProgress if master is not null. - virtual int modulateProgress(int progress); - }; } // NameSpace Digikam _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Hi Gilles,
I tried it at once of course, since I'm running hyperthreaded, and I got this good-bye message when I clicked on the unsharp menu: digikam: Preview unsharp started... digikam: symbol lookup error: /usr/lib/kde3/digikamimageplugin_unsharp.so: undefined symbol: _ZN7Digikam18DImgThreadedFilterC2EPNS_4DImgEP7QObject7QString I did a clean built from svn before. Gerhard Am Donnerstag, 26. Oktober 2006 08:24 schrieb Gilles Caulier: > SVN commit 599179 by cgilles: > > digikam from trunk : make a deep copy of QString in threaded image filter > constructor to prevent crash into Hyperthreading CPU. > > To digiKam users : feedback is welcome... > > CCBUGS:133026 > CCMAIL: [hidden email] > > M +33 -25 dimgthreadedfilter.cpp > M +33 -31 dimgthreadedfilter.h > > > --- > trunk/extragear/graphics/digikam/libs/dimg/filters/dimgthreadedfilter.cpp > #599178:599179 @@ -1,5 +1,4 @@ > /* ============================================================ > - * File : dimgthreadedfilter.cpp > * Author: Gilles Caulier <caulier dot gilles at kdemail dot net> > * Date : 2005-05-25 > * Description : threaded image filter class. > @@ -24,6 +23,7 @@ > #include <qobject.h> > #include <qdatetime.h> > #include <qevent.h> > +#include <qdeepcopy.h> > > // KDE includes. > > @@ -36,34 +36,42 @@ > namespace Digikam > { > > -DImgThreadedFilter::DImgThreadedFilter(DImg *orgImage, QObject *parent, > QString name) +DImgThreadedFilter::DImgThreadedFilter(DImg *orgImage, > QObject *parent, + const QString& > name) > > : QThread() > > { > // remove meta data > - m_orgImage = orgImage->copyImageData(); > - m_parent = parent; > - m_cancel = false; > - m_name = name; > + m_orgImage = orgImage->copyImageData(); > + m_parent = parent; > + m_cancel = false; > > - m_master = 0; > - m_slave = 0; > + // See B.K.O #133026: make a deep copy of Qstring to prevent crash > + // on Hyperthreading computer. > + m_name = QDeepCopy<QString>(name); > + > + m_master = 0; > + m_slave = 0; > m_progressBegin = 0; > m_progressSpan = 100; > } > > -DImgThreadedFilter::DImgThreadedFilter(DImgThreadedFilter *master, const > DImg &orgImage, const DImg &destImage, - > int progressBegin, int progressEnd, QString name) > +DImgThreadedFilter::DImgThreadedFilter(DImgThreadedFilter *master, const > DImg &orgImage, + const DImg > &destImage, int progressBegin, int progressEnd, + > const QString& name) > { > - m_orgImage = orgImage; > - m_destImage = destImage; > - m_parent = 0; > - m_cancel = false; > - m_name = name; > + m_orgImage = orgImage; > + m_destImage = destImage; > + m_parent = 0; > + m_cancel = false; > > - m_master = master; > - m_slave = 0; > + // See B.K.O #133026: make a deep copy of Qstring to prevent crash > + // on Hyperthreading computer. > + m_name = QDeepCopy<QString>(name); > + > + m_master = master; > + m_slave = 0; > m_progressBegin = progressBegin; > - m_progressSpan = progressEnd - progressBegin; > + m_progressSpan = progressEnd - progressBegin; > > m_master->setSlave(this); > } > @@ -75,8 +83,6 @@ > m_master->setSlave(0); > } > > - > - > void DImgThreadedFilter::initFilter(void) > { > m_destImage.reset(); > @@ -123,9 +129,9 @@ > else if (m_parent) > { > EventData *eventData = new EventData(); > - eventData->progress = progress; > - eventData->starting = starting; > - eventData->success = success; > + eventData->progress = progress; > + eventData->starting = starting; > + eventData->success = success; > QApplication::postEvent(m_parent, new QCustomEvent(QEvent::User, > eventData)); } > } > @@ -150,7 +156,8 @@ > postProgress(0, false, true); > > kdDebug() << m_name > - << "::End of computation !!! ... ( " << > startDate.secsTo(endDate) << " s )" << endl; + << "::End of > computation !!! ... ( " << startDate.secsTo(endDate) << " s )" + > << endl; > } > else > { > @@ -158,7 +165,8 @@ > postProgress(0, false, false); > > kdDebug() << m_name > - << "::Computation aborted... ( " << > startDate.secsTo(endDate) << " s )" << endl; + << > "::Computation aborted... ( " << startDate.secsTo(endDate) << " s )" + > << endl; > } > } > > --- trunk/extragear/graphics/digikam/libs/dimg/filters/dimgthreadedfilter.h > #599178:599179 @@ -1,5 +1,4 @@ > /* ============================================================ > - * File : dimgthreadedfilter.h > * Author: Gilles Caulier <caulier dot gilles at kdemail dot net> > * Date : 2005-05-25 > * Description : threaded image filter class. > @@ -46,8 +45,7 @@ > > public: > > -// Class used to post status of computation to parent. > - > +/** Class used to post status of computation to parent. */ > class EventData > { > public: > @@ -65,7 +63,8 @@ > > public: > > - DImgThreadedFilter(DImg *orgImage, QObject *parent=0, QString > name=QString::null); + DImgThreadedFilter(DImg *orgImage, QObject > *parent=0, > + const QString& name=QString::null); > > ~DImgThreadedFilter(); > > @@ -78,49 +77,44 @@ > > protected: > > - // Copy of original Image data. > + /** Copy of original Image data. */ > DImg m_orgImage; > > - // Output image data. > + /** Output image data. */ > DImg m_destImage; > > - // Filter name. > + /** Filter name.*/ > QString m_name; > > - // Used to stop compution loop. > + /** Used to stop compution loop. */ > bool m_cancel; > > - // To post event from thread to parent. > + /** To post event from thread to parent. */ > QObject *m_parent; > > protected: > > - // Start filter operation before threaded method. Must be calls by > your constructor. + /** Start filter operation before threaded method. > Must be calls by your constructor. */ virtual void initFilter(void); > > - // List of threaded operations by filter. > + /** List of threaded operations by filter. */ > virtual void run(){ startComputation(); }; > > - // Main image filter method. > + /** Main image filter method. */ > virtual void filterImage(void){}; > > - // Clean up filter data if necessary. Call by stopComputation() > method. + /** Clean up filter data if necessary. Call by > stopComputation() method. */ virtual void cleanupFilter(void){}; > > - // Post Event to parent about progress. Warning: you need to delete > - // 'EventData' instance to 'customEvent' parent implementation. > + /** Post Event to parent about progress. Warning: you need to delete > + 'EventData' instance to 'customEvent' parent implementation. */ > void postProgress(int progress=0, bool starting=true, bool > success=false); - > + > protected: > > - // Support for chaining two filters as master and thread > + /** > + Support for chaining two filters as master and thread. > > - // The current slave. Any filter might want to use another filter > while processing. - DImgThreadedFilter *m_slave; > - // The master of this slave filter. Progress info will be routed to > this one. - DImgThreadedFilter *m_master; > - > - /* > Constructor for slave mode: > Constructs a new slave filter with the specified master. > The filter will be executed in the current thread. > @@ -129,20 +123,28 @@ > that the slave filter uses in the parent filter's progress. > Any derived filter class that is publicly available to other filters > should implement an additional constructor using this constructor. > - */ > + */ > DImgThreadedFilter(DImgThreadedFilter *master, const DImg &orgImage, > const DImg &destImage, - int progressBegin=0, int > progressEnd=100, QString name=QString::null); + int > progressBegin=0, int progressEnd=100, const QString& name=QString::null); > > - // inform the master that there is currently a slave. At destruction > of the slave, call with slave=0. + /** Inform the master that there is > currently a slave. At destruction of the slave, call with slave=0. */ void > setSlave(DImgThreadedFilter *slave); > > - // The progress span that a slave filter uses in the parent filter's > progress + /** This method modulates the progress value from the 0..100 > span to the span of this slave. + Called by postProgress if master > is not null. */ > + virtual int modulateProgress(int progress); > + > +protected: > + > + /** The current slave. Any filter might want to use another filter > while processing. */ + DImgThreadedFilter *m_slave; > + > + /** The master of this slave filter. Progress info will be routed to > this one. */ + DImgThreadedFilter *m_master; > + > + /** The progress span that a slave filter uses in the parent filter's > progress. */ int m_progressBegin; > int m_progressSpan; > - // This method modulates the progress value from the 0..100 span to > the span of this slave. - // Called by postProgress if master is not > null. > - virtual int modulateProgress(int progress); > - > }; > > } // NameSpace Digikam > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel -- http://www.gerhard.fr _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
On Thursday 26 October 2006 11:44, Gerhard Kulzer wrote:
> Hi Gilles, > I tried it at once of course, since I'm running hyperthreaded, and I got > this good-bye message when I clicked on the unsharp menu: > > digikam: Preview unsharp started... > digikam: symbol lookup error: /usr/lib/kde3/digikamimageplugin_unsharp.so: > undefined symbol: > _ZN7Digikam18DImgThreadedFilterC2EPNS_4DImgEP7QObject7QString > > I did a clean built from svn before. > > Gerhard Gerhard, This error is relevant than i have changed an hearder file in digikam core witch have broken binary compatibility into libdigikam shared library used by image plugins. Just re-compile and re-install digiKam and DigikamImagePlugins in your computer. Friendly Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Ok I compiled the plugins and it looked good first:
digikam: UnsharpMask::End of computation !!! ... ( 1 s ) digikam: Preview unsharp completed... digikam: Final unsharp started... digikam: UnsharpMask::Start of computation... digikam: UnsharpMask::End of computation !!! ... ( 142 s ) digikam: Finalunsharp completed... But then: KCrash: Application 'digikam' crashing... Backtrace (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1212811568 (LWP 30837)] [New Thread -1222968432 (LWP 30866)] [KCrash handler] #5 0x4164365f in QGList::unlink () from /usr/lib/libqt-mt.so.3 #6 0x41643c4f in QGList::relinkNode () from /usr/lib/libqt-mt.so.3 #7 0x4163ecc6 in QCList::reference () from /usr/lib/libqt-mt.so.3 #8 0x4163d480 in QGCache::find_string () from /usr/lib/libqt-mt.so.3 #9 0xb7d1615c in QCache<QPixmap>::find () from /usr/lib/libdigikam.so.0 #10 0xb7e70a57 in Digikam::Canvas::paintViewport () from /usr/lib/libdigikam.so.0 #11 0xb7e71846 in Digikam::Canvas::viewportPaintEvent () from /usr/lib/libdigikam.so.0 #12 0x4147f848 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3 #13 0x41349806 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3 #14 0x41349884 in QObject::event () from /usr/lib/libqt-mt.so.3 #15 0x41380b16 in QWidget::event () from /usr/lib/libqt-mt.so.3 #16 0x412e2176 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #17 0x412e4b26 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #18 0x42430fee in KApplication::notify () from /usr/lib/libkdecore.so.4 #19 0x41275971 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3 #20 0x412ae98d in QWidget::repaint () from /usr/lib/libqt-mt.so.3 #21 0x412e3186 in QApplication::sendPostedEvents () from /usr/lib/libqt-mt.so.3 #22 0x412e32a6 in QApplication::sendPostedEvents () from /usr/lib/libqt-mt.so.3 #23 0x412891a5 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #24 0x412fc6c9 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #25 0x412e3c8d in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3 #26 0x414fd679 in QDialog::exec () from /usr/lib/libqt-mt.so.3 #27 0xb59fae30 in ImagePlugin_Unsharp::slotUnsharp () from /usr/lib/kde3/digikamimageplugin_unsharp.so #28 0xb59faea1 in ImagePlugin_Unsharp::qt_invoke () from /usr/lib/kde3/digikamimageplugin_unsharp.so #29 0x4134a253 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #30 0x4134ace4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #31 0x420c8279 in KAction::activated () from /usr/lib/libkdeui.so.4 #32 0x420fd981 in KAction::slotActivated () from /usr/lib/libkdeui.so.4 #33 0x421ddd0d in KAction::slotPopupActivated () from /usr/lib/libkdeui.so.4 #34 0x421ddfd1 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4 #35 0x4134a253 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #36 0x416d328f in QSignal::signal () from /usr/lib/libqt-mt.so.3 #37 0x41369dd6 in QSignal::activate () from /usr/lib/libqt-mt.so.3 #38 0x4146f251 in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3 #39 0x420d110e in KPopupMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.4 #40 0x41380bf4 in QWidget::event () from /usr/lib/libqt-mt.so.3 #41 0x412e2176 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #42 0x412e4319 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #43 0x42430fee in KApplication::notify () from /usr/lib/libkdecore.so.4 #44 0x412759e5 in QApplication::sendSpontaneousEvent () from /usr/lib/libqt-mt.so.3 #45 0x412743d8 in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3 #46 0x41272c00 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 #47 0x41289252 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #48 0x412fc6c9 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #49 0x412fc4ea in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #50 0x412e3d0f in QApplication::exec () from /usr/lib/libqt-mt.so.3 #51 0x0804aa05 in main () Am Donnerstag, 26. Oktober 2006 11:47 schrieb Gilles Caulier: > On Thursday 26 October 2006 11:44, Gerhard Kulzer wrote: > > Hi Gilles, > > I tried it at once of course, since I'm running hyperthreaded, and I got > > this good-bye message when I clicked on the unsharp menu: > > > > digikam: Preview unsharp started... > > digikam: symbol lookup error: > > /usr/lib/kde3/digikamimageplugin_unsharp.so: undefined symbol: > > _ZN7Digikam18DImgThreadedFilterC2EPNS_4DImgEP7QObject7QString > > > > I did a clean built from svn before. > > > > Gerhard > > Gerhard, > > This error is relevant than i have changed an hearder file in digikam core > witch have broken binary compatibility into libdigikam shared library used > by image plugins. > > Just re-compile and re-install digiKam and DigikamImagePlugins in your > computer. > > Friendly > > Gilles > > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel -- http://www.gerhard.fr _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
This crash is completly crazy. i don't understand (:=)))
Gerhard, on svn, i have removed the KDebug statement into the threaded implementation. Here with a very fast computer ( PIV-3.6Ghz HT ), UnsharpMask tool do not crash. Can you try on your computer ? Gilles On Thursday 26 October 2006 12:10, Gerhard Kulzer wrote: > Ok I compiled the plugins and it looked good first: > > digikam: UnsharpMask::End of computation !!! ... ( 1 s ) > digikam: Preview unsharp completed... > digikam: Final unsharp started... > digikam: UnsharpMask::Start of computation... > digikam: UnsharpMask::End of computation !!! ... ( 142 s ) > digikam: Finalunsharp completed... > > But then: > KCrash: Application 'digikam' crashing... > > Backtrace > (no debugging symbols found) > Using host libthread_db library "/lib/libthread_db.so.1". > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > [Thread debugging using libthread_db enabled] > [New Thread -1212811568 (LWP 30837)] > [New Thread -1222968432 (LWP 30866)] > [KCrash handler] > #5 0x4164365f in QGList::unlink () from /usr/lib/libqt-mt.so.3 > #6 0x41643c4f in QGList::relinkNode () from /usr/lib/libqt-mt.so.3 > #7 0x4163ecc6 in QCList::reference () from /usr/lib/libqt-mt.so.3 > #8 0x4163d480 in QGCache::find_string () from /usr/lib/libqt-mt.so.3 > #9 0xb7d1615c in QCache<QPixmap>::find () from /usr/lib/libdigikam.so.0 > #10 0xb7e70a57 in Digikam::Canvas::paintViewport () > from /usr/lib/libdigikam.so.0 > #11 0xb7e71846 in Digikam::Canvas::viewportPaintEvent () > from /usr/lib/libdigikam.so.0 > #12 0x4147f848 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3 > #13 0x41349806 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3 > #14 0x41349884 in QObject::event () from /usr/lib/libqt-mt.so.3 > #15 0x41380b16 in QWidget::event () from /usr/lib/libqt-mt.so.3 > #16 0x412e2176 in QApplication::internalNotify () from > /usr/lib/libqt-mt.so.3 #17 0x412e4b26 in QApplication::notify () from > /usr/lib/libqt-mt.so.3 #18 0x42430fee in KApplication::notify () from > /usr/lib/libkdecore.so.4 #19 0x41275971 in QApplication::sendEvent () from > /usr/lib/libqt-mt.so.3 #20 0x412ae98d in QWidget::repaint () from > /usr/lib/libqt-mt.so.3 > #21 0x412e3186 in QApplication::sendPostedEvents () > from /usr/lib/libqt-mt.so.3 > #22 0x412e32a6 in QApplication::sendPostedEvents () > from /usr/lib/libqt-mt.so.3 > #23 0x412891a5 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 > #24 0x412fc6c9 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 > #25 0x412e3c8d in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3 > #26 0x414fd679 in QDialog::exec () from /usr/lib/libqt-mt.so.3 > #27 0xb59fae30 in ImagePlugin_Unsharp::slotUnsharp () > from /usr/lib/kde3/digikamimageplugin_unsharp.so > #28 0xb59faea1 in ImagePlugin_Unsharp::qt_invoke () > from /usr/lib/kde3/digikamimageplugin_unsharp.so > #29 0x4134a253 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 > #30 0x4134ace4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 > #31 0x420c8279 in KAction::activated () from /usr/lib/libkdeui.so.4 > #32 0x420fd981 in KAction::slotActivated () from /usr/lib/libkdeui.so.4 > #33 0x421ddd0d in KAction::slotPopupActivated () from > /usr/lib/libkdeui.so.4 #34 0x421ddfd1 in KAction::qt_invoke () from > /usr/lib/libkdeui.so.4 #35 0x4134a253 in QObject::activate_signal () from > /usr/lib/libqt-mt.so.3 #36 0x416d328f in QSignal::signal () from > /usr/lib/libqt-mt.so.3 > #37 0x41369dd6 in QSignal::activate () from /usr/lib/libqt-mt.so.3 > #38 0x4146f251 in QPopupMenu::mouseReleaseEvent () from > /usr/lib/libqt-mt.so.3 #39 0x420d110e in KPopupMenu::mouseReleaseEvent () > from /usr/lib/libkdeui.so.4 #40 0x41380bf4 in QWidget::event () from > /usr/lib/libqt-mt.so.3 > #41 0x412e2176 in QApplication::internalNotify () from > /usr/lib/libqt-mt.so.3 #42 0x412e4319 in QApplication::notify () from > /usr/lib/libqt-mt.so.3 #43 0x42430fee in KApplication::notify () from > /usr/lib/libkdecore.so.4 #44 0x412759e5 in > QApplication::sendSpontaneousEvent () > from /usr/lib/libqt-mt.so.3 > #45 0x412743d8 in QETWidget::translateMouseEvent () > from /usr/lib/libqt-mt.so.3 > #46 0x41272c00 in QApplication::x11ProcessEvent () from > /usr/lib/libqt-mt.so.3 #47 0x41289252 in QEventLoop::processEvents () from > /usr/lib/libqt-mt.so.3 #48 0x412fc6c9 in QEventLoop::enterLoop () from > /usr/lib/libqt-mt.so.3 #49 0x412fc4ea in QEventLoop::exec () from > /usr/lib/libqt-mt.so.3 > #50 0x412e3d0f in QApplication::exec () from /usr/lib/libqt-mt.so.3 > #51 0x0804aa05 in main () > > Am Donnerstag, 26. Oktober 2006 11:47 schrieb Gilles Caulier: > > On Thursday 26 October 2006 11:44, Gerhard Kulzer wrote: > > > Hi Gilles, > > > I tried it at once of course, since I'm running hyperthreaded, and I > > > got this good-bye message when I clicked on the unsharp menu: > > > > > > digikam: Preview unsharp started... > > > digikam: symbol lookup error: > > > /usr/lib/kde3/digikamimageplugin_unsharp.so: undefined symbol: > > > _ZN7Digikam18DImgThreadedFilterC2EPNS_4DImgEP7QObject7QString > > > > > > I did a clean built from svn before. > > > > > > Gerhard > > > > Gerhard, > > > > This error is relevant than i have changed an hearder file in digikam > > core witch have broken binary compatibility into libdigikam shared > > library used by image plugins. > > > > Just re-compile and re-install digiKam and DigikamImagePlugins in your > > computer. > > > > Friendly > > > > Gilles > > > > _______________________________________________ > > Digikam-devel mailing list > > [hidden email] > > https://mail.kde.org/mailman/listinfo/digikam-devel Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Well i tried all afternoon to make it crash and it didn't anymore. I used much
unsharp and refocus plugins. Thanks a lot Gerhard Am Donnerstag, 26. Oktober 2006 12:37 schrieb Gilles Caulier: > This crash is completly crazy. i don't understand (:=))) > > Gerhard, on svn, i have removed the KDebug statement into the threaded > implementation. Here with a very fast computer ( PIV-3.6Ghz HT ), > UnsharpMask tool do not crash. Can you try on your computer ? > > Gilles > > On Thursday 26 October 2006 12:10, Gerhard Kulzer wrote: > > Ok I compiled the plugins and it looked good first: > > > > digikam: UnsharpMask::End of computation !!! ... ( 1 s ) > > digikam: Preview unsharp completed... > > digikam: Final unsharp started... > > digikam: UnsharpMask::Start of computation... > > digikam: UnsharpMask::End of computation !!! ... ( 142 s ) > > digikam: Finalunsharp completed... > > > > But then: > > KCrash: Application 'digikam' crashing... > > > > Backtrace > > (no debugging symbols found) > > Using host libthread_db library "/lib/libthread_db.so.1". > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > (no debugging symbols found) > > [Thread debugging using libthread_db enabled] > > [New Thread -1212811568 (LWP 30837)] > > [New Thread -1222968432 (LWP 30866)] > > [KCrash handler] > > #5 0x4164365f in QGList::unlink () from /usr/lib/libqt-mt.so.3 > > #6 0x41643c4f in QGList::relinkNode () from /usr/lib/libqt-mt.so.3 > > #7 0x4163ecc6 in QCList::reference () from /usr/lib/libqt-mt.so.3 > > #8 0x4163d480 in QGCache::find_string () from /usr/lib/libqt-mt.so.3 > > #9 0xb7d1615c in QCache<QPixmap>::find () from /usr/lib/libdigikam.so.0 > > #10 0xb7e70a57 in Digikam::Canvas::paintViewport () > > from /usr/lib/libdigikam.so.0 > > #11 0xb7e71846 in Digikam::Canvas::viewportPaintEvent () > > from /usr/lib/libdigikam.so.0 > > #12 0x4147f848 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3 > > #13 0x41349806 in QObject::activate_filters () from > > /usr/lib/libqt-mt.so.3 #14 0x41349884 in QObject::event () from > > /usr/lib/libqt-mt.so.3 > > #15 0x41380b16 in QWidget::event () from /usr/lib/libqt-mt.so.3 > > #16 0x412e2176 in QApplication::internalNotify () from > > /usr/lib/libqt-mt.so.3 #17 0x412e4b26 in QApplication::notify () from > > /usr/lib/libqt-mt.so.3 #18 0x42430fee in KApplication::notify () from > > /usr/lib/libkdecore.so.4 #19 0x41275971 in QApplication::sendEvent () > > from /usr/lib/libqt-mt.so.3 #20 0x412ae98d in QWidget::repaint () from > > /usr/lib/libqt-mt.so.3 > > #21 0x412e3186 in QApplication::sendPostedEvents () > > from /usr/lib/libqt-mt.so.3 > > #22 0x412e32a6 in QApplication::sendPostedEvents () > > from /usr/lib/libqt-mt.so.3 > > #23 0x412891a5 in QEventLoop::processEvents () from > > /usr/lib/libqt-mt.so.3 #24 0x412fc6c9 in QEventLoop::enterLoop () from > > /usr/lib/libqt-mt.so.3 #25 0x412e3c8d in QApplication::enter_loop () from > > /usr/lib/libqt-mt.so.3 #26 0x414fd679 in QDialog::exec () from > > /usr/lib/libqt-mt.so.3 > > #27 0xb59fae30 in ImagePlugin_Unsharp::slotUnsharp () > > from /usr/lib/kde3/digikamimageplugin_unsharp.so > > #28 0xb59faea1 in ImagePlugin_Unsharp::qt_invoke () > > from /usr/lib/kde3/digikamimageplugin_unsharp.so > > #29 0x4134a253 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 > > #30 0x4134ace4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 > > #31 0x420c8279 in KAction::activated () from /usr/lib/libkdeui.so.4 > > #32 0x420fd981 in KAction::slotActivated () from /usr/lib/libkdeui.so.4 > > #33 0x421ddd0d in KAction::slotPopupActivated () from > > /usr/lib/libkdeui.so.4 #34 0x421ddfd1 in KAction::qt_invoke () from > > /usr/lib/libkdeui.so.4 #35 0x4134a253 in QObject::activate_signal () from > > /usr/lib/libqt-mt.so.3 #36 0x416d328f in QSignal::signal () from > > /usr/lib/libqt-mt.so.3 > > #37 0x41369dd6 in QSignal::activate () from /usr/lib/libqt-mt.so.3 > > #38 0x4146f251 in QPopupMenu::mouseReleaseEvent () from > > /usr/lib/libqt-mt.so.3 #39 0x420d110e in KPopupMenu::mouseReleaseEvent () > > from /usr/lib/libkdeui.so.4 #40 0x41380bf4 in QWidget::event () from > > /usr/lib/libqt-mt.so.3 > > #41 0x412e2176 in QApplication::internalNotify () from > > /usr/lib/libqt-mt.so.3 #42 0x412e4319 in QApplication::notify () from > > /usr/lib/libqt-mt.so.3 #43 0x42430fee in KApplication::notify () from > > /usr/lib/libkdecore.so.4 #44 0x412759e5 in > > QApplication::sendSpontaneousEvent () > > from /usr/lib/libqt-mt.so.3 > > #45 0x412743d8 in QETWidget::translateMouseEvent () > > from /usr/lib/libqt-mt.so.3 > > #46 0x41272c00 in QApplication::x11ProcessEvent () from > > /usr/lib/libqt-mt.so.3 #47 0x41289252 in QEventLoop::processEvents () > > from /usr/lib/libqt-mt.so.3 #48 0x412fc6c9 in QEventLoop::enterLoop () > > from /usr/lib/libqt-mt.so.3 #49 0x412fc4ea in QEventLoop::exec () from > > /usr/lib/libqt-mt.so.3 > > #50 0x412e3d0f in QApplication::exec () from /usr/lib/libqt-mt.so.3 > > #51 0x0804aa05 in main () > > > > Am Donnerstag, 26. Oktober 2006 11:47 schrieb Gilles Caulier: > > > On Thursday 26 October 2006 11:44, Gerhard Kulzer wrote: > > > > Hi Gilles, > > > > I tried it at once of course, since I'm running hyperthreaded, and I > > > > got this good-bye message when I clicked on the unsharp menu: > > > > > > > > digikam: Preview unsharp started... > > > > digikam: symbol lookup error: > > > > /usr/lib/kde3/digikamimageplugin_unsharp.so: undefined symbol: > > > > _ZN7Digikam18DImgThreadedFilterC2EPNS_4DImgEP7QObject7QString > > > > > > > > I did a clean built from svn before. > > > > > > > > Gerhard > > > > > > Gerhard, > > > > > > This error is relevant than i have changed an hearder file in digikam > > > core witch have broken binary compatibility into libdigikam shared > > > library used by image plugins. > > > > > > Just re-compile and re-install digiKam and DigikamImagePlugins in your > > > computer. > > > > > > Friendly > > > > > > Gilles > > > > > > _______________________________________________ > > > Digikam-devel mailing list > > > [hidden email] > > > https://mail.kde.org/mailman/listinfo/digikam-devel > > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel -- http://www.gerhard.fr _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
On Thursday 26 October 2006 22:21, Gerhard Kulzer wrote:
> Well i tried all afternoon to make it crash and it didn't anymore. I used > much unsharp and refocus plugins. > > Thanks a lot > Gerhard thanks Gerhard. Can you just report your tests results in B.K.O. thanks in advance Gilles > > Am Donnerstag, 26. Oktober 2006 12:37 schrieb Gilles Caulier: > > This crash is completly crazy. i don't understand (:=))) > > > > Gerhard, on svn, i have removed the KDebug statement into the threaded > > implementation. Here with a very fast computer ( PIV-3.6Ghz HT ), > > UnsharpMask tool do not crash. Can you try on your computer ? > > > > Gilles > > > > On Thursday 26 October 2006 12:10, Gerhard Kulzer wrote: > > > Ok I compiled the plugins and it looked good first: > > > > > > digikam: UnsharpMask::End of computation !!! ... ( 1 s ) > > > digikam: Preview unsharp completed... > > > digikam: Final unsharp started... > > > digikam: UnsharpMask::Start of computation... > > > digikam: UnsharpMask::End of computation !!! ... ( 142 s ) > > > digikam: Finalunsharp completed... > > > > > > But then: > > > KCrash: Application 'digikam' crashing... > > > > > > Backtrace > > > (no debugging symbols found) > > > Using host libthread_db library "/lib/libthread_db.so.1". > > > (no debugging symbols found) > > > (no debugging symbols found) > > > (no debugging symbols found) > > > (no debugging symbols found) > > > (no debugging symbols found) > > > (no debugging symbols found) > > > (no debugging symbols found) > > > [Thread debugging using libthread_db enabled] > > > [New Thread -1212811568 (LWP 30837)] > > > [New Thread -1222968432 (LWP 30866)] > > > [KCrash handler] > > > #5 0x4164365f in QGList::unlink () from /usr/lib/libqt-mt.so.3 > > > #6 0x41643c4f in QGList::relinkNode () from /usr/lib/libqt-mt.so.3 > > > #7 0x4163ecc6 in QCList::reference () from /usr/lib/libqt-mt.so.3 > > > #8 0x4163d480 in QGCache::find_string () from /usr/lib/libqt-mt.so.3 > > > #9 0xb7d1615c in QCache<QPixmap>::find () from > > > /usr/lib/libdigikam.so.0 #10 0xb7e70a57 in > > > Digikam::Canvas::paintViewport () > > > from /usr/lib/libdigikam.so.0 > > > #11 0xb7e71846 in Digikam::Canvas::viewportPaintEvent () > > > from /usr/lib/libdigikam.so.0 > > > #12 0x4147f848 in QScrollView::eventFilter () from > > > /usr/lib/libqt-mt.so.3 #13 0x41349806 in QObject::activate_filters () > > > from > > > /usr/lib/libqt-mt.so.3 #14 0x41349884 in QObject::event () from > > > /usr/lib/libqt-mt.so.3 > > > #15 0x41380b16 in QWidget::event () from /usr/lib/libqt-mt.so.3 > > > #16 0x412e2176 in QApplication::internalNotify () from > > > /usr/lib/libqt-mt.so.3 #17 0x412e4b26 in QApplication::notify () from > > > /usr/lib/libqt-mt.so.3 #18 0x42430fee in KApplication::notify () from > > > /usr/lib/libkdecore.so.4 #19 0x41275971 in QApplication::sendEvent () > > > from /usr/lib/libqt-mt.so.3 #20 0x412ae98d in QWidget::repaint () from > > > /usr/lib/libqt-mt.so.3 > > > #21 0x412e3186 in QApplication::sendPostedEvents () > > > from /usr/lib/libqt-mt.so.3 > > > #22 0x412e32a6 in QApplication::sendPostedEvents () > > > from /usr/lib/libqt-mt.so.3 > > > #23 0x412891a5 in QEventLoop::processEvents () from > > > /usr/lib/libqt-mt.so.3 #24 0x412fc6c9 in QEventLoop::enterLoop () from > > > /usr/lib/libqt-mt.so.3 #25 0x412e3c8d in QApplication::enter_loop () > > > from /usr/lib/libqt-mt.so.3 #26 0x414fd679 in QDialog::exec () from > > > /usr/lib/libqt-mt.so.3 > > > #27 0xb59fae30 in ImagePlugin_Unsharp::slotUnsharp () > > > from /usr/lib/kde3/digikamimageplugin_unsharp.so > > > #28 0xb59faea1 in ImagePlugin_Unsharp::qt_invoke () > > > from /usr/lib/kde3/digikamimageplugin_unsharp.so > > > #29 0x4134a253 in QObject::activate_signal () from > > > /usr/lib/libqt-mt.so.3 #30 0x4134ace4 in QObject::activate_signal () > > > from /usr/lib/libqt-mt.so.3 #31 0x420c8279 in KAction::activated () > > > from /usr/lib/libkdeui.so.4 #32 0x420fd981 in KAction::slotActivated () > > > from /usr/lib/libkdeui.so.4 #33 0x421ddd0d in > > > KAction::slotPopupActivated () from > > > /usr/lib/libkdeui.so.4 #34 0x421ddfd1 in KAction::qt_invoke () from > > > /usr/lib/libkdeui.so.4 #35 0x4134a253 in QObject::activate_signal () > > > from /usr/lib/libqt-mt.so.3 #36 0x416d328f in QSignal::signal () from > > > /usr/lib/libqt-mt.so.3 > > > #37 0x41369dd6 in QSignal::activate () from /usr/lib/libqt-mt.so.3 > > > #38 0x4146f251 in QPopupMenu::mouseReleaseEvent () from > > > /usr/lib/libqt-mt.so.3 #39 0x420d110e in KPopupMenu::mouseReleaseEvent > > > () from /usr/lib/libkdeui.so.4 #40 0x41380bf4 in QWidget::event () from > > > /usr/lib/libqt-mt.so.3 > > > #41 0x412e2176 in QApplication::internalNotify () from > > > /usr/lib/libqt-mt.so.3 #42 0x412e4319 in QApplication::notify () from > > > /usr/lib/libqt-mt.so.3 #43 0x42430fee in KApplication::notify () from > > > /usr/lib/libkdecore.so.4 #44 0x412759e5 in > > > QApplication::sendSpontaneousEvent () > > > from /usr/lib/libqt-mt.so.3 > > > #45 0x412743d8 in QETWidget::translateMouseEvent () > > > from /usr/lib/libqt-mt.so.3 > > > #46 0x41272c00 in QApplication::x11ProcessEvent () from > > > /usr/lib/libqt-mt.so.3 #47 0x41289252 in QEventLoop::processEvents () > > > from /usr/lib/libqt-mt.so.3 #48 0x412fc6c9 in QEventLoop::enterLoop () > > > from /usr/lib/libqt-mt.so.3 #49 0x412fc4ea in QEventLoop::exec () from > > > /usr/lib/libqt-mt.so.3 > > > #50 0x412e3d0f in QApplication::exec () from /usr/lib/libqt-mt.so.3 > > > #51 0x0804aa05 in main () > > > > > > Am Donnerstag, 26. Oktober 2006 11:47 schrieb Gilles Caulier: > > > > On Thursday 26 October 2006 11:44, Gerhard Kulzer wrote: > > > > > Hi Gilles, > > > > > I tried it at once of course, since I'm running hyperthreaded, and > > > > > I got this good-bye message when I clicked on the unsharp menu: > > > > > > > > > > digikam: Preview unsharp started... > > > > > digikam: symbol lookup error: > > > > > /usr/lib/kde3/digikamimageplugin_unsharp.so: undefined symbol: > > > > > _ZN7Digikam18DImgThreadedFilterC2EPNS_4DImgEP7QObject7QString > > > > > > > > > > I did a clean built from svn before. > > > > > > > > > > Gerhard > > > > > > > > Gerhard, > > > > > > > > This error is relevant than i have changed an hearder file in digikam > > > > core witch have broken binary compatibility into libdigikam shared > > > > library used by image plugins. > > > > > > > > Just re-compile and re-install digiKam and DigikamImagePlugins in > > > > your computer. > > > > > > > > Friendly > > > > > > > > Gilles > > > > > > > > _______________________________________________ > > > > Digikam-devel mailing list > > > > [hidden email] > > > > https://mail.kde.org/mailman/listinfo/digikam-devel > > > > _______________________________________________ > > Digikam-devel mailing list > > [hidden email] > > https://mail.kde.org/mailman/listinfo/digikam-devel Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |