Bug 278320 - Crash with "-graphicssystem raster"
Summary: Crash with "-graphicssystem raster"
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Runtime (show other bugs)
Version: 2.0.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
: 280210 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-07-23 10:23 UTC by Christoph Feck
Modified: 2017-07-17 10:29 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.1.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Feck 2011-07-23 10:23:02 UTC
Application: digikam (2.0.0)
KDE Platform Version: 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) (Compiled from sources)
Qt Version: 4.7.4
Operating System: Linux 2.6.37.6-0.5-desktop i686
Distribution: "openSUSE 11.4 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:

I am pretty sure this is a Qt bug, but maybe you can reduce it to a minimal test case to attach to a Qt bug report.

The crash happens when I hover the small "Prev/Next/Rotate/etc." icons when they partially overlap the image in the simple builtin image viewer.

When running with "-graphicssystem native" that crash does not happen.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0xaea099c0 (LWP 29469))]

Thread 4 (Thread 0xadcb4b70 (LWP 29470)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb4005105 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122
#2  0xb408a155 in QWaitConditionPrivate::wait (this=0x8631408, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:88
#3  0xb4089f59 in QWaitCondition::wait (this=0x8613de4, mutex=0x8613de0, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:160
#4  0x081e66f8 in Digikam::ScanController::run (this=0x8615908) at /local/git/extragear/graphics/digikam/digikam/database/scancontroller.cpp:618
#5  0xb4088dfc in QThreadPrivate::start (arg=0x8615908) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:331
#6  0xb4000b05 in start_thread (arg=0xadcb4b70) at pthread_create.c:297
#7  0xb3ca9d5e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xad4b3b70 (LWP 29471)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb3c9f03e in __poll (fds=0x8641df0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb36c00bb in g_poll (fds=0x8641df0, nfds=1, timeout=-1) at gpoll.c:132
#3  0xb36afc46 in g_main_context_poll (context=0x8689ba0, block=1, dispatch=1, self=0x8670780) at gmain.c:3404
#4  g_main_context_iterate (context=0x8689ba0, block=1, dispatch=1, self=0x8670780) at gmain.c:3086
#5  0xb36affce in g_main_context_iteration (context=0x8689ba0, may_block=1) at gmain.c:3154
#6  0xb41c7568 in QEventDispatcherGlib::processEvents (this=0x8689af8, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#7  0xb4190aed in QEventLoop::processEvents (this=0xad4b3218, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
#8  0xb4190c31 in QEventLoop::exec (this=0xad4b3218, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201
#9  0xb40866b3 in QThread::exec (this=0x8638538) at /local/git/Qt/qt/src/corelib/thread/qthread.cpp:492
#10 0xb41720f4 in QInotifyFileSystemWatcherEngine::run (this=0x8638538) at /local/git/Qt/qt/src/corelib/io/qfilesystemwatcher_inotify.cpp:248
#11 0xb4088dfc in QThreadPrivate::start (arg=0x8638538) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:331
#12 0xb4000b05 in start_thread (arg=0xad4b3b70) at pthread_create.c:297
#13 0xb3ca9d5e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xaccb2b70 (LWP 29473)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb4005105 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122
#2  0xb408a155 in QWaitConditionPrivate::wait (this=0x868d5b0, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:88
#3  0xb4089f59 in QWaitCondition::wait (this=0x86f6838, mutex=0x86f6834, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:160
#4  0xb651c3c0 in Digikam::ParkingThread::run (this=0x86f6828) at /local/git/extragear/graphics/digikam/libs/threads/threadmanager.cpp:119
#5  0xb4088dfc in QThreadPrivate::start (arg=0x86f6828) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:331
#6  0xb4000b05 in start_thread (arg=0xaccb2b70) at pthread_create.c:297
#7  0xb3ca9d5e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xaea099c0 (LWP 29469)):
[KCrash Handler]
#7  memcpy () at ../sysdeps/i386/i686/memcpy.S:75
#8  0x0877fe04 in ?? ()
#9  0xb4932273 in qt_blend_rgb32_on_rgb32 (destPixels=0xa83ee570 "\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377'12\377%13\377%13\377%13\377%13\377&24\377&24\377&24\377%13\377.26\377:19\377\070/4\377O\026%\377I\032(\377?-5\377\227B[\377\302\217\237\377\260m\202\377\241<\\\377)68\377(57\377(57\377(57\377(57\377(57\377(57\377)68\377*79\377"..., dbpl=4096, srcPixels=0xa4c9a0c4 <Address 0xa4c9a0c4 out of bounds>, sbpl=2796, w=22, h=11, const_alpha=256) at /local/git/Qt/qt/src/gui/painting/qblendfunctions.cpp:550
#10 0xb47e352e in qt_blend_rgb32_on_rgb32_sse2 (destPixels=0xa83ee570 "\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377'12\377%13\377%13\377%13\377%13\377&24\377&24\377&24\377%13\377.26\377:19\377\070/4\377O\026%\377I\032(\377?-5\377\227B[\377\302\217\237\377\260m\202\377\241<\\\377)68\377(57\377(57\377(57\377(57\377(57\377(57\377)68\377*79\377"..., dbpl=4096, srcPixels=0xa4c9a0c4 <Address 0xa4c9a0c4 out of bounds>, sbpl=2796, w=22, h=11, const_alpha=256) at /local/git/Qt/qt/src/gui/painting/qdrawhelper_sse2.cpp:139
#11 0xb4a05f13 in QRasterPaintEnginePrivate::drawImage (this=0x919bda8, pt=..., img=..., func=0xb47e2993 <qt_blend_rgb32_on_rgb32_sse2(uchar*, int, uchar const*, int, int, int, int)>, clip=..., alpha=256, sr=...) at /local/git/Qt/qt/src/gui/painting/qpaintengine_raster.cpp:1070
#12 0xb4a0eaca in QRasterPaintEngine::drawImage (this=0x936fa98, r=..., img=..., sr=...) at /local/git/Qt/qt/src/gui/painting/qpaintengine_raster.cpp:2777
#13 0xb4a0c877 in QRasterPaintEngine::drawPixmap (this=0x936fa98, r=..., pixmap=..., sr=...) at /local/git/Qt/qt/src/gui/painting/qpaintengine_raster.cpp:2435
#14 0xb4982699 in QPainter::drawPixmap (this=0xbfe7fdec, r=..., pm=..., sr=...) at /local/git/Qt/qt/src/gui/painting/qpainter.cpp:5387
#15 0xb658415a in QPainter::drawPixmap (this=0xbfe7fdec, p=..., pm=..., sr=...) at /local/qt4/include/QtGui/qpainter.h:879
#16 0xb65c4dc9 in Digikam::GraphicsDImgItem::paint (this=0x8782170, painter=0xbfe7fdec, option=0x877fe04) at /local/git/extragear/graphics/digikam/libs/widgets/graphicsview/graphicsdimgitem.cpp:197
#17 0xb4f18ddd in QGraphicsScenePrivate::draw (this=0x877fcb0, item=0x8782178, painter=0xbfe7fdec, viewTransform=0xbfe7fd20, transformPtr=0xbfe7f948, exposedRegion=0x8768598, widget=0x877f708, opacity=1, effectTransform=0x0, wasDirtyParentSceneTransform=false, drawItem=true) at /local/git/Qt/qt/src/gui/graphicsview/qgraphicsscene.cpp:4962
#18 0xb4f18776 in QGraphicsScenePrivate::drawSubtreeRecursive (this=0x877fcb0, item=0x8782178, painter=0xbfe7fdec, viewTransform=0xbfe7fd20, exposedRegion=0x8768598, widget=0x877f708, parentOpacity=1, effectTransform=0x0) at /local/git/Qt/qt/src/gui/graphicsview/qgraphicsscene.cpp:4855
#19 0xb4f17ce6 in QGraphicsScenePrivate::drawItems (this=0x877fcb0, painter=0xbfe7fdec, viewTransform=0xbfe7fd20, exposedRegion=0x8768598, widget=0x877f708) at /local/git/Qt/qt/src/gui/graphicsview/qgraphicsscene.cpp:4737
#20 0xb4f42340 in QGraphicsView::paintEvent (this=0x877a200, event=0xbfe80814) at /local/git/Qt/qt/src/gui/graphicsview/qgraphicsview.cpp:3469
#21 0xb485f25a in QWidget::event (this=0x877a200, event=0xbfe80814) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:8425
#22 0xb4cc5a3c in QFrame::event (this=0x877a200, e=0xbfe80814) at /local/git/Qt/qt/src/gui/widgets/qframe.cpp:557
#23 0xb4d6683b in QAbstractScrollArea::viewportEvent (this=0x877a200, e=0xbfe80814) at /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea.cpp:1043
#24 0xb4f3f868 in QGraphicsView::viewportEvent (this=0x877a200, event=0xbfe80814) at /local/git/Qt/qt/src/gui/graphicsview/qgraphicsview.cpp:2864
#25 0xb4d673b3 in QAbstractScrollAreaPrivate::viewportEvent (this=0x8768248, event=0xbfe80814) at /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea_p.h:100
#26 0xb4d67490 in QAbstractScrollAreaFilter::eventFilter (this=0x870c320, o=0x877f708, e=0xbfe80814) at /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea_p.h:116
#27 0xb4193067 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x855c5a8, receiver=0x877f708, event=0xbfe80814) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:902
#28 0xb47fe88a in QApplicationPrivate::notify_helper (this=0x855c5a8, receiver=0x877f708, e=0xbfe80814) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4458
#29 0xb47fe5e3 in QApplication::notify (this=0xbfe8240c, receiver=0x877f708, e=0xbfe80814) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4427
#30 0xb54eebbe in KApplication::notify (this=0xbfe8240c, receiver=0x877f708, event=0xbfe80814) at /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
#31 0xb4192d8f in QCoreApplication::notifyInternal (this=0xbfe8240c, receiver=0x877f708, event=0xbfe80814) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:787
#32 0xb48011c9 in QCoreApplication::sendSpontaneousEvent (receiver=0x877f708, event=0xbfe80814) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:218
#33 0xb4857a03 in QWidgetPrivate::drawWidget (this=0x877fa18, pdev=0x9761fa8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5512
#34 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8768248, pdev=0x9761fa8, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
#35 0xb4858651 in QWidgetPrivate::paintSiblingsRecursive (this=0x8768248, pdev=0x9761fa8, siblings=..., index=14, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5706
#36 0xb4858651 in QWidgetPrivate::paintSiblingsRecursive (this=0x8768248, pdev=0x9761fa8, siblings=..., index=18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5706
#37 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8768248, pdev=0x9761fa8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
#38 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x86f80a0, pdev=0x9761fa8, siblings=..., index=7, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
#39 0xb4857dec in QWidgetPrivate::drawWidget (this=0x86f80a0, pdev=0x9761fa8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
#40 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8703398, pdev=0x9761fa8, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
#41 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8703398, pdev=0x9761fa8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
#42 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8714920, pdev=0x9761fa8, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
#43 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8714920, pdev=0x9761fa8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
#44 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x87051e8, pdev=0x9761fa8, siblings=..., index=4, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
#45 0xb4857dec in QWidgetPrivate::drawWidget (this=0x87051e8, pdev=0x9761fa8, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
#46 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8720bc0, pdev=0x9761fa8, siblings=..., index=10, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
#47 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8720bc0, pdev=0x9761fa8, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x86dea08) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
#48 0xb4a66eb8 in QWidgetBackingStore::sync (this=0x86dea08) at /local/git/Qt/qt/src/gui/painting/qbackingstore.cpp:1338
#49 0xb484ee3a in QWidgetPrivate::syncBackingStore (this=0x8720bc0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1862
#50 0xb485f750 in QWidget::event (this=0x87110d0, event=0x9931130) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:8572
#51 0xb4ce7367 in QMainWindow::event (this=0x87110d0, event=0x9931130) at /local/git/Qt/qt/src/gui/widgets/qmainwindow.cpp:1480
#52 0xb55ce82c in KMainWindow::event (this=0x87110d0, ev=0x9931130) at /local/git/KDE/libs/kdelibs/kdeui/widgets/kmainwindow.cpp:1100
#53 0xb56154d3 in KXmlGuiWindow::event (this=0x87110d0, ev=0x9931130) at /local/git/KDE/libs/kdelibs/kdeui/xmlgui/kxmlguiwindow.cpp:126
#54 0xb47fe8ae in QApplicationPrivate::notify_helper (this=0x855c5a8, receiver=0x87110d0, e=0x9931130) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4462
#55 0xb47fe5e3 in QApplication::notify (this=0xbfe8240c, receiver=0x87110d0, e=0x9931130) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4427
#56 0xb54eebbe in KApplication::notify (this=0xbfe8240c, receiver=0x87110d0, event=0x9931130) at /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
#57 0xb4192d8f in QCoreApplication::notifyInternal (this=0xbfe8240c, receiver=0x87110d0, event=0x9931130) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:787
#58 0xb4196691 in QCoreApplication::sendEvent (receiver=0x87110d0, event=0x9931130) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:215
#59 0xb4193e28 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x851ea90) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1428
#60 0xb4193ae5 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1321
#61 0xb41c7c20 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:220
#62 0xb41c6d82 in postEventSourceDispatch (s=0x855e708) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#63 0xb36af509 in g_main_dispatch (context=0x855e678) at gmain.c:2440
#64 g_main_context_dispatch (context=0x855e678) at gmain.c:3013
#65 0xb36afd10 in g_main_context_iterate (context=0x855e678, block=1, dispatch=1, self=0x855c440) at gmain.c:3091
#66 0xb36affce in g_main_context_iteration (context=0x855e678, may_block=1) at gmain.c:3154
#67 0xb41c7548 in QEventDispatcherGlib::processEvents (this=0x855c260, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:422
#68 0xb48c7a98 in QGuiEventDispatcherGlib::processEvents (this=0x855c260, flags=...) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#69 0xb4190aed in QEventLoop::processEvents (this=0xbfe8231c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
#70 0xb4190c31 in QEventLoop::exec (this=0xbfe8231c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201
#71 0xb419347a in QCoreApplication::exec () at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1064
#72 0xb47fbddc in QApplication::exec () at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3736
#73 0x082a93bf in main (argc=1, argv=0xbfe82694) at /local/git/extragear/graphics/digikam/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 caulier.gilles 2011-07-23 13:43:47 UTC
which video card you use ?
gilles caulier

2011/7/23, Christoph Feck <christoph@maxiom.de>:
> https://bugs.kde.org/show_bug.cgi?id=278320
>
>            Summary: Crash with "-graphicssystem raster"
>            Product: digikam
>            Version: 2.0.0
>           Platform: Compiled Sources
>         OS/Version: Linux
>             Status: NEW
>           Severity: crash
>           Priority: NOR
>          Component: general
>         AssignedTo: digikam-devel@kde.org
>         ReportedBy: christoph@maxiom.de
>
>
> Application: digikam (2.0.0)
> KDE Platform Version: 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) (Compiled from
> sources)
> Qt Version: 4.7.4
> Operating System: Linux 2.6.37.6-0.5-desktop i686
> Distribution: "openSUSE 11.4 (i586)"
>
> -- Information about the crash:
> - What I was doing when the application crashed:
>
> I am pretty sure this is a Qt bug, but maybe you can reduce it to a minimal
> test case to attach to a Qt bug report.
>
> The crash happens when I hover the small "Prev/Next/Rotate/etc." icons when
> they partially overlap the image in the simple builtin image viewer.
>
> When running with "-graphicssystem native" that crash does not happen.
>
> The crash can be reproduced every time.
>
> -- Backtrace:
> Application: digiKam (digikam), signal: Segmentation fault
> [Current thread is 1 (Thread 0xaea099c0 (LWP 29469))]
>
> Thread 4 (Thread 0xadcb4b70 (LWP 29470)):
> #0  0xffffe424 in __kernel_vsyscall ()
> #1  0xb4005105 in pthread_cond_wait@@GLIBC_2.3.2 () at
> ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122
> #2  0xb408a155 in QWaitConditionPrivate::wait (this=0x8631408,
> time=4294967295)
> at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:88
> #3  0xb4089f59 in QWaitCondition::wait (this=0x8613de4, mutex=0x8613de0,
> time=4294967295) at
> /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:160
> #4  0x081e66f8 in Digikam::ScanController::run (this=0x8615908) at
> /local/git/extragear/graphics/digikam/digikam/database/scancontroller.cpp:618
> #5  0xb4088dfc in QThreadPrivate::start (arg=0x8615908) at
> /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:331
> #6  0xb4000b05 in start_thread (arg=0xadcb4b70) at pthread_create.c:297
> #7  0xb3ca9d5e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
>
> Thread 3 (Thread 0xad4b3b70 (LWP 29471)):
> #0  0xffffe424 in __kernel_vsyscall ()
> #1  0xb3c9f03e in __poll (fds=0x8641df0, nfds=1, timeout=-1) at
> ../sysdeps/unix/sysv/linux/poll.c:87
> #2  0xb36c00bb in g_poll (fds=0x8641df0, nfds=1, timeout=-1) at gpoll.c:132
> #3  0xb36afc46 in g_main_context_poll (context=0x8689ba0, block=1,
> dispatch=1,
> self=0x8670780) at gmain.c:3404
> #4  g_main_context_iterate (context=0x8689ba0, block=1, dispatch=1,
> self=0x8670780) at gmain.c:3086
> #5  0xb36affce in g_main_context_iteration (context=0x8689ba0, may_block=1)
> at
> gmain.c:3154
> #6  0xb41c7568 in QEventDispatcherGlib::processEvents (this=0x8689af8,
> flags=...) at
> /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
> #7  0xb4190aed in QEventLoop::processEvents (this=0xad4b3218, flags=...) at
> /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
> #8  0xb4190c31 in QEventLoop::exec (this=0xad4b3218, flags=...) at
> /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201
> #9  0xb40866b3 in QThread::exec (this=0x8638538) at
> /local/git/Qt/qt/src/corelib/thread/qthread.cpp:492
> #10 0xb41720f4 in QInotifyFileSystemWatcherEngine::run (this=0x8638538) at
> /local/git/Qt/qt/src/corelib/io/qfilesystemwatcher_inotify.cpp:248
> #11 0xb4088dfc in QThreadPrivate::start (arg=0x8638538) at
> /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:331
> #12 0xb4000b05 in start_thread (arg=0xad4b3b70) at pthread_create.c:297
> #13 0xb3ca9d5e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
>
> Thread 2 (Thread 0xaccb2b70 (LWP 29473)):
> #0  0xffffe424 in __kernel_vsyscall ()
> #1  0xb4005105 in pthread_cond_wait@@GLIBC_2.3.2 () at
> ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122
> #2  0xb408a155 in QWaitConditionPrivate::wait (this=0x868d5b0,
> time=4294967295)
> at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:88
> #3  0xb4089f59 in QWaitCondition::wait (this=0x86f6838, mutex=0x86f6834,
> time=4294967295) at
> /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:160
> #4  0xb651c3c0 in Digikam::ParkingThread::run (this=0x86f6828) at
> /local/git/extragear/graphics/digikam/libs/threads/threadmanager.cpp:119
> #5  0xb4088dfc in QThreadPrivate::start (arg=0x86f6828) at
> /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:331
> #6  0xb4000b05 in start_thread (arg=0xaccb2b70) at pthread_create.c:297
> #7  0xb3ca9d5e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
>
> Thread 1 (Thread 0xaea099c0 (LWP 29469)):
> [KCrash Handler]
> #7  memcpy () at ../sysdeps/i386/i686/memcpy.S:75
> #8  0x0877fe04 in ?? ()
> #9  0xb4932273 in qt_blend_rgb32_on_rgb32 (destPixels=0xa83ee570
> "\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377'12\377%13\377%13\377%13\377%13\377&24\377&24\377&24\377%13\377.26\377:19\377\070/4\377O\026%\377I\032(\377?-5\377\227B[\377\302\217\237\377\260m\202\377\241<\\\377)68\377(57\377(57\377(57\377(57\377(57\377(57\377)68\377*79\377"...,
> dbpl=4096, srcPixels=0xa4c9a0c4 <Address 0xa4c9a0c4 out of bounds>,
> sbpl=2796,
> w=22, h=11, const_alpha=256) at
> /local/git/Qt/qt/src/gui/painting/qblendfunctions.cpp:550
> #10 0xb47e352e in qt_blend_rgb32_on_rgb32_sse2 (destPixels=0xa83ee570
> "\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377'12\377%13\377%13\377%13\377%13\377&24\377&24\377&24\377%13\377.26\377:19\377\070/4\377O\026%\377I\032(\377?-5\377\227B[\377\302\217\237\377\260m\202\377\241<\\\377)68\377(57\377(57\377(57\377(57\377(57\377(57\377)68\377*79\377"...,
> dbpl=4096, srcPixels=0xa4c9a0c4 <Address 0xa4c9a0c4 out of bounds>,
> sbpl=2796,
> w=22, h=11, const_alpha=256) at
> /local/git/Qt/qt/src/gui/painting/qdrawhelper_sse2.cpp:139
> #11 0xb4a05f13 in QRasterPaintEnginePrivate::drawImage (this=0x919bda8,
> pt=...,
> img=..., func=0xb47e2993 <qt_blend_rgb32_on_rgb32_sse2(uchar*, int, uchar
> const*, int, int, int, int)>, clip=..., alpha=256, sr=...) at
> /local/git/Qt/qt/src/gui/painting/qpaintengine_raster.cpp:1070
> #12 0xb4a0eaca in QRasterPaintEngine::drawImage (this=0x936fa98, r=...,
> img=..., sr=...) at
> /local/git/Qt/qt/src/gui/painting/qpaintengine_raster.cpp:2777
> #13 0xb4a0c877 in QRasterPaintEngine::drawPixmap (this=0x936fa98, r=...,
> pixmap=..., sr=...) at
> /local/git/Qt/qt/src/gui/painting/qpaintengine_raster.cpp:2435
> #14 0xb4982699 in QPainter::drawPixmap (this=0xbfe7fdec, r=..., pm=...,
> sr=...)
> at /local/git/Qt/qt/src/gui/painting/qpainter.cpp:5387
> #15 0xb658415a in QPainter::drawPixmap (this=0xbfe7fdec, p=..., pm=...,
> sr=...)
> at /local/qt4/include/QtGui/qpainter.h:879
> #16 0xb65c4dc9 in Digikam::GraphicsDImgItem::paint (this=0x8782170,
> painter=0xbfe7fdec, option=0x877fe04) at
> /local/git/extragear/graphics/digikam/libs/widgets/graphicsview/graphicsdimgitem.cpp:197
> #17 0xb4f18ddd in QGraphicsScenePrivate::draw (this=0x877fcb0,
> item=0x8782178,
> painter=0xbfe7fdec, viewTransform=0xbfe7fd20, transformPtr=0xbfe7f948,
> exposedRegion=0x8768598, widget=0x877f708, opacity=1, effectTransform=0x0,
> wasDirtyParentSceneTransform=false, drawItem=true) at
> /local/git/Qt/qt/src/gui/graphicsview/qgraphicsscene.cpp:4962
> #18 0xb4f18776 in QGraphicsScenePrivate::drawSubtreeRecursive
> (this=0x877fcb0,
> item=0x8782178, painter=0xbfe7fdec, viewTransform=0xbfe7fd20,
> exposedRegion=0x8768598, widget=0x877f708, parentOpacity=1,
> effectTransform=0x0) at
> /local/git/Qt/qt/src/gui/graphicsview/qgraphicsscene.cpp:4855
> #19 0xb4f17ce6 in QGraphicsScenePrivate::drawItems (this=0x877fcb0,
> painter=0xbfe7fdec, viewTransform=0xbfe7fd20, exposedRegion=0x8768598,
> widget=0x877f708) at
> /local/git/Qt/qt/src/gui/graphicsview/qgraphicsscene.cpp:4737
> #20 0xb4f42340 in QGraphicsView::paintEvent (this=0x877a200,
> event=0xbfe80814)
> at /local/git/Qt/qt/src/gui/graphicsview/qgraphicsview.cpp:3469
> #21 0xb485f25a in QWidget::event (this=0x877a200, event=0xbfe80814) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:8425
> #22 0xb4cc5a3c in QFrame::event (this=0x877a200, e=0xbfe80814) at
> /local/git/Qt/qt/src/gui/widgets/qframe.cpp:557
> #23 0xb4d6683b in QAbstractScrollArea::viewportEvent (this=0x877a200,
> e=0xbfe80814) at
> /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea.cpp:1043
> #24 0xb4f3f868 in QGraphicsView::viewportEvent (this=0x877a200,
> event=0xbfe80814) at
> /local/git/Qt/qt/src/gui/graphicsview/qgraphicsview.cpp:2864
> #25 0xb4d673b3 in QAbstractScrollAreaPrivate::viewportEvent (this=0x8768248,
> event=0xbfe80814) at
> /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea_p.h:100
> #26 0xb4d67490 in QAbstractScrollAreaFilter::eventFilter (this=0x870c320,
> o=0x877f708, e=0xbfe80814) at
> /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea_p.h:116
> #27 0xb4193067 in QCoreApplicationPrivate::sendThroughObjectEventFilters
> (this=0x855c5a8, receiver=0x877f708, event=0xbfe80814) at
> /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:902
> #28 0xb47fe88a in QApplicationPrivate::notify_helper (this=0x855c5a8,
> receiver=0x877f708, e=0xbfe80814) at
> /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4458
> #29 0xb47fe5e3 in QApplication::notify (this=0xbfe8240c, receiver=0x877f708,
> e=0xbfe80814) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4427
> #30 0xb54eebbe in KApplication::notify (this=0xbfe8240c, receiver=0x877f708,
> event=0xbfe80814) at
> /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
> #31 0xb4192d8f in QCoreApplication::notifyInternal (this=0xbfe8240c,
> receiver=0x877f708, event=0xbfe80814) at
> /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:787
> #32 0xb48011c9 in QCoreApplication::sendSpontaneousEvent
> (receiver=0x877f708,
> event=0xbfe80814) at
> ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:218
> #33 0xb4857a03 in QWidgetPrivate::drawWidget (this=0x877fa18,
> pdev=0x9761fa8,
> rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5512
> #34 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8768248,
> pdev=0x9761fa8, siblings=..., index=1, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
> #35 0xb4858651 in QWidgetPrivate::paintSiblingsRecursive (this=0x8768248,
> pdev=0x9761fa8, siblings=..., index=14, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5706
> #36 0xb4858651 in QWidgetPrivate::paintSiblingsRecursive (this=0x8768248,
> pdev=0x9761fa8, siblings=..., index=18, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5706
> #37 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8768248,
> pdev=0x9761fa8,
> rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
> #38 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x86f80a0,
> pdev=0x9761fa8, siblings=..., index=7, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
> #39 0xb4857dec in QWidgetPrivate::drawWidget (this=0x86f80a0,
> pdev=0x9761fa8,
> rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
> #40 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8703398,
> pdev=0x9761fa8, siblings=..., index=1, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
> #41 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8703398,
> pdev=0x9761fa8,
> rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
> #42 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8714920,
> pdev=0x9761fa8, siblings=..., index=0, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
> #43 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8714920,
> pdev=0x9761fa8,
> rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
> #44 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x87051e8,
> pdev=0x9761fa8, siblings=..., index=4, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
> #45 0xb4857dec in QWidgetPrivate::drawWidget (this=0x87051e8,
> pdev=0x9761fa8,
> rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
> #46 0xb4858782 in QWidgetPrivate::paintSiblingsRecursive (this=0x8720bc0,
> pdev=0x9761fa8, siblings=..., index=10, rgn=..., offset=..., flags=4,
> sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5719
> #47 0xb4857dec in QWidgetPrivate::drawWidget (this=0x8720bc0,
> pdev=0x9761fa8,
> rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x86dea08) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5565
> #48 0xb4a66eb8 in QWidgetBackingStore::sync (this=0x86dea08) at
> /local/git/Qt/qt/src/gui/painting/qbackingstore.cpp:1338
> #49 0xb484ee3a in QWidgetPrivate::syncBackingStore (this=0x8720bc0) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1862
> #50 0xb485f750 in QWidget::event (this=0x87110d0, event=0x9931130) at
> /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:8572
> #51 0xb4ce7367 in QMainWindow::event (this=0x87110d0, event=0x9931130) at
> /local/git/Qt/qt/src/gui/widgets/qmainwindow.cpp:1480
> #52 0xb55ce82c in KMainWindow::event (this=0x87110d0, ev=0x9931130) at
> /local/git/KDE/libs/kdelibs/kdeui/widgets/kmainwindow.cpp:1100
> #53 0xb56154d3 in KXmlGuiWindow::event (this=0x87110d0, ev=0x9931130) at
> /local/git/KDE/libs/kdelibs/kdeui/xmlgui/kxmlguiwindow.cpp:126
> #54 0xb47fe8ae in QApplicationPrivate::notify_helper (this=0x855c5a8,
> receiver=0x87110d0, e=0x9931130) at
> /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4462
> #55 0xb47fe5e3 in QApplication::notify (this=0xbfe8240c, receiver=0x87110d0,
> e=0x9931130) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4427
> #56 0xb54eebbe in KApplication::notify (this=0xbfe8240c, receiver=0x87110d0,
> event=0x9931130) at
> /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
> #57 0xb4192d8f in QCoreApplication::notifyInternal (this=0xbfe8240c,
> receiver=0x87110d0, event=0x9931130) at
> /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:787
> #58 0xb4196691 in QCoreApplication::sendEvent (receiver=0x87110d0,
> event=0x9931130) at
> ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:215
> #59 0xb4193e28 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0,
> event_type=0, data=0x851ea90) at
> /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1428
> #60 0xb4193ae5 in QCoreApplication::sendPostedEvents (receiver=0x0,
> event_type=0) at
> /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1321
> #61 0xb41c7c20 in QCoreApplication::sendPostedEvents () at
> ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:220
> #62 0xb41c6d82 in postEventSourceDispatch (s=0x855e708) at
> /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:277
> #63 0xb36af509 in g_main_dispatch (context=0x855e678) at gmain.c:2440
> #64 g_main_context_dispatch (context=0x855e678) at gmain.c:3013
> #65 0xb36afd10 in g_main_context_iterate (context=0x855e678, block=1,
> dispatch=1, self=0x855c440) at gmain.c:3091
> #66 0xb36affce in g_main_context_iteration (context=0x855e678, may_block=1)
> at
> gmain.c:3154
> #67 0xb41c7548 in QEventDispatcherGlib::processEvents (this=0x855c260,
> flags=...) at
> /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:422
> #68 0xb48c7a98 in QGuiEventDispatcherGlib::processEvents (this=0x855c260,
> flags=...) at
> /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
> #69 0xb4190aed in QEventLoop::processEvents (this=0xbfe8231c, flags=...) at
> /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
> #70 0xb4190c31 in QEventLoop::exec (this=0xbfe8231c, flags=...) at
> /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201
> #71 0xb419347a in QCoreApplication::exec () at
> /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1064
> #72 0xb47fbddc in QApplication::exec () at
> /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3736
> #73 0x082a93bf in main (argc=1, argv=0xbfe82694) at
> /local/git/extragear/graphics/digikam/digikam/main/main.cpp:232
>
> Reported using DrKonqi
>
> --
> 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
> Digikam-devel@kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
Comment 2 Christoph Feck 2011-07-23 17:13:26 UTC
I use intel, but as I said, the crash actually happens with raster, not native, so it shouldn't be driver dependent.
Comment 3 caulier.gilles 2011-07-25 15:45:16 UTC
I also an Intel video card on my recent Toshiba netbook. I cannot reproduce the problem.

[gilles@localhost core]$ uname -a
Linux localhost.localdomain 2.6.38.8-desktop-4.mga #1 SMP Fri Jul 8 01:37:23 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
[gilles@localhost core]$ lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05)
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 05)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
06:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
10:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 20)
10:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 20)
10:00.3 System peripheral: JMicron Technology Corp. MS Host Controller (rev 20)
10:00.4 System peripheral: JMicron Technology Corp. xD Host Controller (rev 20)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)
[gilles@localhost core]$ 

Gilles Caulier
Comment 4 Marcel Wiesweg 2011-07-26 18:44:55 UTC
This is completely reproducible. It is sufficient to zoom in a preview image. Crash occurs when a pixmap is taken from the cache. I will need to investigate if we do something wrong here.

Gilles: You need to start digikam with 
digikam -graphicssystem raster
then open an image for preview, zoom in.
Comment 5 Marcel Wiesweg 2011-07-27 19:13:18 UTC
The crash occurs whenever we attempt to draw a pixmap from the QPixmapCache. I cannot see any serious problem with the way we use the cache. We use only QPainter API to draw the pixmap. Everything works fine with native graphics system.
Comment 6 Christoph Feck 2011-07-27 21:27:20 UTC
If possible, reduce to a minimal test case to submit a Qt bug report.
Comment 7 caulier.gilles 2011-07-31 12:51:39 UTC
*** Bug 278890 has been marked as a duplicate of this bug. ***
Comment 8 Marcel Wiesweg 2011-08-06 14:48:54 UTC
This is indeed a digikam bug, but a very subtle one. valgrind helped.
We need to create a pixmap from our custom image class DImg. For this conversion, we need a temporary QImage: DImg -> QImage -> QPixmap.  As an optimization, we create a temporary QImage on the DImg data without any memcpy. This QImage is invalid when the DImg is destroyed. For native systems, the QPixmap data is copied to graphics memory. But not for raster: Here, QPixmap is internally based on QImage, and, if possible, will just take the QImage which we provide => crash when the DImg is destroyed on which the QImage and thus QPixmap is based
Comment 9 Marcel Wiesweg 2011-08-06 15:23:11 UTC
Git commit 2b739c70f008ac2538eb635b7334104167ad0a50 by Marcel Wiesweg.
Committed on 06/08/2011 at 16:51.
Pushed by mwiesweg into branch 'master'.

Pass a persistent QImage to QPixmap::fromImage when paint engine is raster.
For native engines, a temporary QImage can be provided, but raster will just take
and store the QImage, so a memcpy is needed.
The paint engine relevant for pixmaps can be detected by opening a painter on a
1x1 pixmap and querying the QPaintEngine. For optimization, this is done only once
per application lifetime because DImg::convertToPixmap is very time critical.

BUG: 278320

M  +2    -1    NEWS
M  +38   -4    libs/dimg/dimg.cpp

http://commits.kde.org/digikam/2b739c70f008ac2538eb635b7334104167ad0a50
Comment 10 Christoph Feck 2011-08-13 01:57:26 UTC
*** Bug 279987 has been marked as a duplicate of this bug. ***
Comment 11 Christoph Feck 2011-10-17 19:43:51 UTC
*** Bug 280210 has been marked as a duplicate of this bug. ***