https://bugs.kde.org/show_bug.cgi?id=149485
--- Comment #27 from Andi Clemens <andi clemens gmx net> 2009-04-03 16:11:37 --- Running in valgrind, the plugin is not crashing anymore, but I guess we might have some threading problem here, maybe LQR is not reentrant? ==12257== Thread 5: ==12257== Mismatched free() / delete / delete [] ==12257== at 0x4023E3A: free (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==12257== by 0x737FA15: g_free (in /usr/lib/libglib-2.0.so.0.2000.0) ==12257== by 0xFD15C87: lqr_carver_inflate (lqr_carver.c:727) ==12257== by 0xFD153CE: lqr_carver_build_vsmap (lqr_carver.c:536) ==12257== by 0xFD14D60: lqr_carver_build_maps (lqr_carver.c:325) ==12257== by 0xFD17F66: lqr_carver_resize_width (lqr_carver.c:1560) ==12257== by 0xFD1839C: lqr_carver_resize (lqr_carver.c:1664) ==12257== by 0xFD0EA51: DigikamContentAwareResizingImagesPlugin::ContentAwareResizer::filterImage() (contentawareresizer.cpp:126) ==12257== by 0x40E01C6: Digikam::DImgThreadedFilter::startFilterDirectly() (dimgthreadedfilter.cpp:139) ==12257== by 0x40DEE9F: Digikam::DImgThreadedFilter::run() (dimgthreadedfilter.cpp:152) ==12257== by 0x50BC45D: (within /usr/lib/libQtCore.so.4.5.0) ==12257== by 0x52CC154: start_thread (in /lib/libpthread-2.9.so) ==12257== Address 0x14f5f028 is 0 bytes inside a block of size 751,184 alloc'd ==12257== at 0x402434E: operator new[](unsigned int) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==12257== by 0x40A3543: Digikam::DImg::allocateData() (dimg.cpp:293) ==12257== by 0x40A4853: Digikam::DImg::putImageData(unsigned int, unsigned int, bool, bool, unsigned char*, bool) (dimg.cpp:219) ==12257== by 0x40A9B2C: Digikam::DImg::DImg(unsigned int, unsigned int, bool, bool, unsigned char*, bool) (dimg.cpp:113) ==12257== by 0x40A9BE7: Digikam::DImg::copyImageData() (dimg.cpp:941) ==12257== by 0x40DFDBC: Digikam::DImgThreadedFilter::DImgThreadedFilter(Digikam::DImg*, QObject*, QString const&) (dimgthreadedfilter.cpp:59) ==12257== by 0xFD0EE4A: DigikamContentAwareResizingImagesPlugin::ContentAwareResizer::ContentAwareResizer(Digikam::DImg*, unsigned int, unsigned int, QObject*) (contentawareresizer.cpp:68) ==12257== by 0xFD100E2: DigikamContentAwareResizingImagesPlugin::ContentAwareResizeDlg::slotOk() (contentawareresizedlg.cpp:393) ==12257== by 0xFD102B0: DigikamContentAwareResizingImagesPlugin::ContentAwareResizeDlg::slotButtonClicked(int) (contentawareresizedlg.cpp:229) ==12257== by 0x4AE4DC3: KDialog::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkdeui.so.5.2.0) ==12257== by 0xFD13917: DigikamContentAwareResizingImagesPlugin::ContentAwareResizeDlg::qt_metacall(QMetaObject::Call, int, void**) (contentawareresizedlg.moc:72) ==12257== by 0x51C5268: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.5.0) ==12257== ==12257== Thread 1: ==12257== Invalid free() / delete / delete[] ==12257== at 0x402349A: operator delete[](void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==12257== by 0x40ADC73: Digikam::DImgPrivate::~DImgPrivate() (dimgprivate.h:60) ==12257== by 0x40ADDB6: Digikam::DSharedDataPointer<Digikam::DImgPrivate>::~DSharedDataPointer() (dshareddata.h:112) ==12257== by 0x40A4154: Digikam::DImg::~DImg() (dimg.cpp:158) ==12257== by 0x40DF45A: Digikam::DImgThreadedFilter::~DImgThreadedFilter() (dimgthreadedfilter.cpp:93) ==12257== by 0xFD0EC71: DigikamContentAwareResizingImagesPlugin::ContentAwareResizer::~ContentAwareResizer() (contentawareresizer.cpp:115) ==12257== by 0xFD10404: DigikamContentAwareResizingImagesPlugin::ContentAwareResizeDlg::~ContentAwareResizeDlg() (contentawareresizedlg.cpp:219) ==12257== by 0xFD0D126: ImagePlugin_ContentAwareResizing::slotContentAwareResizing() (imageplugin_contentawareresizing.cpp:73) ==12257== by 0xFD0E062: ImagePlugin_ContentAwareResizing::qt_metacall(QMetaObject::Call, int, void**) (imageplugin_contentawareresizing.moc:69) ==12257== by 0x51C5268: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/libQtCore.so.4.5.0) ==12257== by 0x51C567F: QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) (in /usr/lib/libQtCore.so.4.5.0) ==12257== by 0x554C7E0: QAction::triggered(bool) (in /usr/lib/libQtGui.so.4.5.0) ==12257== Address 0x14f5f028 is not stack'd, malloc'd or (recently) free'd When running in gdb you can see that DImg tries to free data that is already deleted (by the other thread?)... Andi -- Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |