Version: 0.4.0 (using KDE KDE 3.5.5) Installed from: Gentoo Packages Compiler: i686-pc-linux-gnu-gcc (GCC) 4.1.1 (Gentoo 4.1.1) OS: Linux Selecting a filter from the filter menu makes showfoto crash. One filter (I haven't tried every filter) which doesn't result in a crash is 'Distortion Effects ...', but it shows a preview window with no preview. In digikam everything works fine. I did a compile with --enable-debug=full configured and a run in gdb resulted in: ... [New Thread -1293870176 (LWP 5028)] showfoto: WARNING: [Digikam::DImg* Digikam::DImgInterface::getImg()] d->image is NULL Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1232939344 (LWP 4991)] 0xb5cc2270 in Digikam::DImg::isNull (this=0x0) at dimg.cpp:527 527 return m_priv->null; (gdb) bt #0 0xb5cc2270 in Digikam::DImg::isNull (this=0x0) at dimg.cpp:527 #1 0xb5cce272 in Digikam::DImg::copyQImage (this=0x0) at dimg.cpp:1097 #2 0xb5c29e51 in Digikam::ImageRegionWidget::slotZoomFactorChanged ( this=0x840aea0, factor=1) at imageregionwidget.cpp:112 #3 0xb5c2a652 in ImageRegionWidget (this=0x840aea0, wp=470, hp=350, parent=0x840fe28, scrollBar=false) at imageregionwidget.cpp:96 #4 0xb5c2a925 in ImagePannelWidget (this=0x840c898, w=470, h=350, settingsSection=@0xbf97c67c, parent=0x84b7050, separateViewMode=2) at imagepannelwidget.cpp:129 #5 0xb5c4b432 in CtrlPanelDlg (this=0xbf97c734, parent=0x8207750, title=@0xbf97c6e8, name=@0xbf97c6e4, loadFileSettings=false, tryAction=false, progressBar=true, separateViewMode=2, bannerFrame=0x83fe108) at ctrlpaneldlg.cpp:134 #6 0xb5534e1e in DigikamCharcoalImagesPlugin::ImageEffect_Charcoal::ImageEffect_Charcoal () from /usr/lib/kde3/digikamimageplugin_charcoal.so #7 0x00000000 in ?? () I hope this makes sense. Best regards, Christoph
>I hope this makes sense. Well no (:=)... If the image data can be displayed into the main window, the image instance is passed to plugins... This can be a memory problem (allocation ?) or something is wrong in liking stuff... Perhaps the package is broken. Can you give me more informations about ? Witch compiler version have you used ? etc... Marcel, if i remember, you use gentoo in your computer. Are you any suggestions ? Gilles Caulier
On Wednesday 17 January 2007 18:19, Gilles Caulier wrote: > If the image data can be displayed into the main window, the image > instance is passed to plugins... It is curious in that the crash only happens with showfoto. Digikam just works fine. (And BTW, digikam is definitely the best for image viewing/processing/management for linux ;-) > This can be a memory problem (allocation ?) or something is wrong in > liking stuff... > > Perhaps the package is broken. I also tried this on a second gentoo machine with the same version of digikam/showfoto - same problem. > Can you give me more informations > about ? Witch compiler version have you used ? etc... Sure: # uname -a Linux p35 2.6.19-ck2-r1 #1 Wed Jan 10 01:18:17 CET 2007 i686 Intel(R) Pentium(R) M processor 1.50GHz GenuineIntel GNU/Linux # gcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: /var/tmp/portage/gcc-4.1.1/work/gcc-4.1.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libssp --enable-java-awt=gtk --enable-languages=c,c++,java,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu Thread model: posix gcc version 4.1.1 (Gentoo 4.1.1) This could be important, too: # grep CFLAGS /etc/make.conf CFLAGS="-pipe -O2 -march=pentium-m -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" For my digikam emerge the USE flags have been USE="arts kdeenablefinal kdehiddenvisibility xinerama -debug -doc -nfs" so a typical compile line would be (note the CFLAGS, maybe this is a problem with -fvisibility=hidden or some other optimization?): i686-pc-linux-gnu-g++ ... -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -fno-builtin -g3 -fno-inline -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fvisibility=hidden -fvisibility-inlines-hidden -DQT_CLEAN_NAMESPACE ... What else? Maybe which libraries I use? # ldd /usr/bin/showfoto linux-gate.so.1 => (0xffffe000) liblcms.so.1 => /usr/lib/liblcms.so.1 (0xb7f47000) libtiff.so.3 => /usr/lib/libtiff.so.3 (0xb7ef3000) libkdeprint.so.4 => /usr/kde/3.5/lib/libkdeprint.so.4 (0xb7e32000) libkutils.so.1 => /usr/kde/3.5/lib/libkutils.so.1 (0xb7dd9000) libkparts.so.2 => /usr/kde/3.5/lib/libkparts.so.2 (0xb7d98000) libkio.so.4 => /usr/kde/3.5/lib/libkio.so.4 (0xb7a94000) libkdeui.so.4 => /usr/kde/3.5/lib/libkdeui.so.4 (0xb77d7000) libkdesu.so.4 => /usr/kde/3.5/lib/libkdesu.so.4 (0xb77c1000) libkwalletclient.so.1 => /usr/kde/3.5/lib/libkwalletclient.so.1 (0xb77b1 000) libkdecore.so.4 => /usr/kde/3.5/lib/libkdecore.so.4 (0xb75a0000) libDCOP.so.4 => /usr/kde/3.5/lib/libDCOP.so.4 (0xb7571000) libresolv.so.2 => /lib/libresolv.so.2 (0xb7542000) libutil.so.1 => /lib/libutil.so.1 (0xb753e000) libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0xb7528000) libidn.so.11 => /usr/lib/libidn.so.11 (0xb74f8000) libkdefx.so.4 => /usr/kde/3.5/lib/libkdefx.so.4 (0xb74ce000) libqt-mt.so.3 => /usr/qt/3/lib/libqt-mt.so.3 (0xb6def000) libmng.so.1 => /usr/lib/libmng.so.1 (0xb6d90000) libXi.so.6 => /usr/lib/libXi.so.6 (0xb6d88000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6d84000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6d7b000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6d76000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb6d72000) libXft.so.2 => /usr/lib/libXft.so.2 (0xb6d5f000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6d30000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6cc2000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6ca3000) libpng.so.3 => /usr/lib/libpng.so.3 (0xb6c7e000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb6c6f000) libSM.so.6 => /usr/lib/libSM.so.6 (0xb6c66000) libICE.so.6 => /usr/lib/libICE.so.6 (0xb6c4f000) libpthread.so.0 => /lib/libpthread.so.0 (0xb6c3c000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6c34000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb6b4a000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb6b46000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6b41000) libdl.so.2 => /lib/libdl.so.2 (0xb6b3d000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb6b1e000) libexiv2-0.12.so => /usr/lib/libexiv2-0.12.so (0xb6a41000) libz.so.1 => /lib/libz.so.1 (0xb6a2f000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6 (0 xb694d000) libm.so.6 => /lib/libm.so.6 (0xb6928000) libc.so.6 => /lib/libc.so.6 (0xb680a000) libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libgcc_s.so.1 (0xb 67ff000) /lib/ld-linux.so.2 (0xb7f78000) # kde-config --version Qt: 3.3.6 KDE: 3.5.5 kde-config: 1.0 I hope this gives you a hint what could be wrong with my showfoto compilation. If you need more specific information, please tell me. Best regards, Christoph Nodes
I can reproduce it. Open any image in ShowFoto, open Charcoal effect. #9 0xb5b57269 in DImg (this=0xbfb0ad74, image=@0x0) at dimg.cpp:79 #10 0xb5b5a439 in Digikam::DImg::copy (this=0x0) at dimg.cpp:777 #11 0xb5aab8e0 in Digikam::ImageRegionWidget::slotZoomFactorChanged ( this=0x8492638, factor=1) at imageregionwidget.cpp:111 #12 0xb5aabdc4 in ImageRegionWidget (this=0x8492638, wp=470, hp=350, parent=0x84a5e20, scrollBar=false) at imageregionwidget.cpp:96 #13 0xb5aba391 in ImagePannelWidget (this=0x84a6ea8, w=470, h=350, settingsSection=@0xbfb0b2c0, parent=0x845bdd8, separateViewMode=2) at imagepannelwidget.cpp:130 #14 0xb5ad4277 in CtrlPanelDlg (this=0xbfb0b374, parent=0x81f1a50, title=@0xbfb0b328, name=@0xbfb0b324, loadFileSettings=false, tryAction=false, progressBar=true, separateViewMode=2, bannerFrame=0x81dc1b0) at ctrlpaneldlg.cpp:134 #15 0xb4fc803a in ImageEffect_Charcoal (this=0xbfb0b374, parent=0x81f1a50, title=@0xbfb0b448, banner=0x81dc1b0) at imageeffect_charcoal.cpp:51 #16 0xb4fc6578 in ImagePlugin_Charcoal::slotCharcoal (this=0x83dd698) at imageplugin_charcoal.cpp:66 #17 0xb4fc6c89 in ImagePlugin_Charcoal::qt_invoke (this=0x83dd698, _id=2, _o=0xbfb0b4e8) at imageplugin_charcoal.moc:82 #18 0xb6fcad59 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3 #19 0xb6fcb9ad in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3 #20 0xb78bea1d in KAction::activated () from /usr/kde/3.5/lib/libkdeui.so.4 #21 0xb78c211c in KAction::slotPopupActivated () from /usr/kde/3.5/lib/libkdeui.so.4 #22 0xb78c23ab in KAction::qt_invoke () from /usr/kde/3.5/lib/libkdeui.so.4 #23 0xb6fcad59 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3 #24 0xb7304d7e in QSignal::signal () from /usr/qt/3/lib/libqt-mt.so.3 #25 0xb6fe6ef5 in QSignal::activate () from /usr/qt/3/lib/libqt-mt.so.3 #26 0xb70d0949 in QPopupMenu::mouseReleaseEvent () from /usr/qt/3/lib/libqt-mt.so.3 #27 0xb7003cce in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3 #28 0xb6f6ba27 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3 #29 0xb6f6c769 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3 #30 0xb75f3cef in KApplication::notify () from /usr/kde/3.5/lib/libkdecore.so.4 #31 0xb6f0c9bd in QETWidget::translateMouseEvent () from /usr/qt/3/lib/libqt-mt.so.3 #32 0xb6f0b989 in QApplication::x11ProcessEvent () from /usr/qt/3/lib/libqt-mt.so.3 #33 0xb6f1b8c1 in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3 #34 0xb6f82681 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3 #35 0xb6f82506 in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3 #36 0xb6f6b4bf in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3 #37 0x0806ca40 in main (argc=-1245522360, argv=0xb688e160) at main.cpp:117
Marcel, Under Suse and Mandriva, i cannot reproduce the problem using current implementation. Why the copied DImg instance is null in your computer ? It's a memory allocation problem ? Gilles
SVN commit 625731 by mwiesweg: Fix a linking problem with showfoto, image plugins and --enable-gcc-hidden-visibility: All image plugins link to libdigikam.so. The showfoto executable however does not link to this lib, but statically links the relevant parts. With visibility hidden, now the linker obviously cannot see the already linked DImgInterface class, and there would be two different static variables for DImgInterface::instance(). One with the loaded image, the other (from the image plugins) with a null image. BUG: 140176 M +1 -1 dimginterface.h --- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/dimginterface.h #625730:625731 @@ -44,7 +44,7 @@ class LoadingDescription; class DImgInterfacePrivate; -class DImgInterface : public QObject +class DIGIKAM_EXPORT DImgInterface : public QObject { Q_OBJECT
works very well here, thanks a lot. Christoph