On Thursday 25 February 2010 23:10:17 Dr. Robert Marmorstein wrote:
> Hmm.  Strange bug.
>
> I'm unable to duplicate this in the way you described, but there is
> definitely something wrong.  Valgrind indicates a problem in kdelibs, but
> it may just be that we're using that class incorrectly.  I'll look into it
> some more when I have more time.  I need to look at the Undo/Redo stuff, as
> well.
>
> Nicholas, could you open a bug report and attach your backtrace?
>
> I wonder if we need to check whether m_passivePopup is non-NULL before we
> delete it?
>
> It would help if you could run basket under gdb and set a break point at
> line 2313 of bnpview.cpp.
>
> Then let me know what the following variables are set to (they are
> pointers, but if you give me the addresses in hex I can get a pretty good
> guess at whether they are NULL, point to something deleted, etc):
>
> m_passivePopup
> Global::systemTray

Robert, 

if I set "break bnpview.cpp:2313", basket segfaults before hitting the 
breakpoint. I set "break bnpview.cpp.2306".

Hopefully the following gbd session will help you.

(gdb) cont
Continuing.
basket(14740) ImageContent::finishLazyLoad: FAILED TO LOAD ImageContent:  
"/home/nsushkin/.kde/share/apps/basket/baskets/basket10/note1.png"
[Switching to Thread 0xb58f6960 (LWP 14740)]

Breakpoint 2, BNPView::showPassiveDroppedDelayed (this=0x80eef30)
    at 
/home/nsushkin/download/basket/atomopawn-basket-3802d49/src/bnpview.cpp:2306
2306    void BNPView::showPassiveDroppedDelayed()
(gdb) info break
Num     Type           Disp Enb Address    What
2       breakpoint     keep y   0xb7c48000 in 
BNPView::showPassiveDroppedDelayed()
                                       at 
/home/nsushkin/download/basket/atomopawn-basket-3802d49/src/bnpview.cpp:2306
        breakpoint already hit 1 time
3       breakpoint     keep y   0xb7c48290 in 
BNPView::showPassiveDroppedDelayed()
                                       at 
/home/nsushkin/download/basket/atomopawn-basket-3802d49/src/bnpview.cpp:2311
(gdb) next
2308        if (isMainWindowActive() || m_passiveDroppedSelection == 0)
(gdb) n

Breakpoint 3, BNPView::showPassiveDroppedDelayed (this=0x80eef30)
    at 
/home/nsushkin/download/basket/atomopawn-basket-3802d49/src/bnpview.cpp:2311
2311        QString title = m_passiveDroppedTitle;
(gdb) n
2313        delete m_passivePopup; // Delete previous one (if exists): it will 
then hide it (only one at a time)
(gdb) n
2314        m_passivePopup = new KPassivePopup(Settings::useSystray() ? 
(QWidget*)Global::systemTray : this);
(gdb) print m_passivePopup
$4 = (struct KPassivePopup *) 0x0
(gdb) print Global::systemTray
$5 = (SystemTray *) 0x8240eb0
(gdb) step
Settings::useSystray () at 
/home/nsushkin/download/basket/atomopawn-basket-3802d49/src/settings.h:276
276         static inline bool    useSystray()           {
(gdb) step
278         }
(gdb) step
QFlags (this=0xbfca36e0) at /usr/lib/qt/include/QtCore/qglobal.h:1997
1997        inline QFlags(Zero = 0) : i(0) {}
(gdb) step

Program received signal SIGSEGV, Segmentation fault.
0xb642b4e0 in QWidget::effectiveWinId () from /usr/lib/libQtGui.so.4


-- 
Nick

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Basket-devel mailing list
Basket-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/basket-devel

Reply via email to