Fwd: error: no matching function for call to `KisSelection::selected()'

Melchior FRANZ mfranz at kde.org
Tue Apr 12 13:45:11 CEST 2005


* Boudewijn Rempt -- Tuesday 12 April 2005 11:32:
> Hi, here's an obvious memory corruption error that I however have never seen 
> before. Has anyone an idea what is happening?

FYI: I can "reliably" reproduce the crash like so:

- start krita and select one of the "recent documents" images
- "Image"->"Mode"->"Convert Image Type..."  -->  "Target Color Space" = "Watercolors"
- click into the image area
- boom

(Yes, I was trying to find out what watercolors can do for me. Have yet
to see a sign of them, though, apart from the color selector and the crash. :-)


But this is only one way to crash krita. I've observed similar crashes
at other opportunities. This is krita from today and the rest of KDE from
CVS/HEAD as of yesterday. Linux 2.6.11.7, gcc 3.3.4 (pre 3.3.5 20040809;
SUSE 9.2) with libc 2.3.3 (20040917), X11R6.8.2++ on P4. The system is
very stable. No signs of broken memory.

valgrind reports a couple of problems, some of which come immediately
before the crash and seem very related:

==2558== Invalid write of size 4
==2558==    at 0x1E7EC5BE: KisTiledDataManager::getMemento() (kis_tileddatamanager.cc:285)
==2558==    by 0x1E7D2C75: KisTransaction::KisTransaction(QString const&, KSharedPtr<KisPaintDevice>) (kis_datamanager.h:59)
==2558==    by 0x1E7C2621: KisPainter::beginTransaction(QString const&) (ksharedptr.h:62)
==2558==    by 0x1E80FB7C: KisToolFreehand::initPaint(KisEvent*) (kis_tool_freehand.cc:156)
==2558==    by 0x1F042DDC: KisToolBrush::initPaint(KisEvent*) (kis_tool_brush.cc:60)
==2558==    by 0x1E8102DB: KisToolFreehand::buttonPress(KisButtonPressEvent*) (kis_tool_freehand.cc:86)
==2558==    by 0x1E7AFD4C: KisView::canvasGotButtonPressEvent(KisButtonPressEvent*) (kis_view.cc:1849)
==2558==    by 0x1E7B9342: KisView::qt_invoke(int, QUObject*) (qucom_p.h:312)
[...]
==2558==  Address 0x21159298 is 16 bytes inside a block of size 28 free'd
==2558==    at 0x1B9011D4: operator delete(void*) (vg_replace_malloc.c:274)
==2558==    by 0x1C995C7F: QValueListPrivate<DockData>::clear() (qvaluelist.h:387)
==2558==    by 0x1C995413: QValueList<DockData>::clear() (qvaluelist.h:591)
==2558==    by 0x1C990AD1: QDockAreaLayout::layoutItems(QRect const&, bool) (qdockarea.cpp:371)


... followed by a few very similar "Invalid read of size 4" in the same files.
They don't make me half as nervous as an "Invalid *write*", though.  :-)




Other, probably unrelated valgrind complaints:
- dlopen
- dirlister/libfam
- QString::fromUtf8: illegal reads (KisPalette::ioResult)


This is with valgrind 3.0.0-SVN (valgrind: 3530; vex:1130)

m.


More information about the kimageshop mailing list