Bug 276066 - Applications crash when selecting "Authors" or "Thanks To" tabs in about dialog
Summary: Applications crash when selecting "Authors" or "Thanks To" tabs in about dialog
Status: RESOLVED UPSTREAM
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdeui (show other bugs)
Version: 4.6
Platform: MacPorts macOS
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 278157 281072 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-19 18:53 UTC by Marko Käning
Modified: 2011-09-02 22:13 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (11.51 KB, text/plain)
2011-08-02 17:03 UTC, Cristian Oneț
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marko Käning 2011-06-19 18:53:01 UTC
Version:           4.6 (using KDE 4.6.4) 
OS:                OS X

Applications on Mac OS X crash when selecting "Authors" or "Thanks To" tabs in about dialog

Reproducible: Always

Steps to Reproduce:
Open about dialog
select "Authors" or "Thanks To" tab pane
leave dialog with Close button
->crash!

Actual Results:  
The application crashes after leaving the about dialog:

[ MP-clean-slate ] :build marko$ gdb
GNU gdb 6.3.50-20050815 (Apple version gdb-1515) (Sat Jan 15 08:33:48 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".
(gdb) file ./tutorial2.app/Contents/MacOS/tutorial2
Reading symbols for shared libraries .......^[[A... done
Reading symbols from /Users/marko/WC/kde-tests/AboutBoxCrash/build/tutorial2.app/Contents/MacOS/tutorial2...done.
(gdb) run
Starting program: /Users/marko/WC/kde-tests/AboutBoxCrash/build/tutorial2.app/Contents/MacOS/tutorial2 
Reading symbols for shared libraries .+++++++++........warning: Could not find object file "/opt/clean-slate/var/macports/build/_opt_clean-slate_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/bzip2-1.0.6/blocksort.o" - no debug information available for "blocksort.c".

warning: Could not find object file "/opt/clean-slate/var/macports/build/_opt_clean-slate_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/bzip2-1.0.6/huffman.o" - no debug information available for "huffman.c".

warning: Could not find object file "/opt/clean-slate/var/macports/build/_opt_clean-slate_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/bzip2-1.0.6/crctable.o" - no debug information available for "crctable.c".

warning: Could not find object file "/opt/clean-slate/var/macports/build/_opt_clean-slate_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/bzip2-1.0.6/randtable.o" - no debug information available for "randtable.c".

warning: Could not find object file "/opt/clean-slate/var/macports/build/_opt_clean-slate_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/bzip2-1.0.6/compress.o" - no debug information available for "compress.c".

warning: Could not find object file "/opt/clean-slate/var/macports/build/_opt_clean-slate_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/bzip2-1.0.6/decompress.o" - no debug information available for "decompress.c".

warning: Could not find object file "/opt/clean-slate/var/macports/build/_opt_clean-slate_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/bzip2-1.0.6/bzlib.o" - no debug information available for "bzlib.c".

................................................................................................. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries ...... done
Reading symbols for shared libraries ... done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries ... done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries ... done
Plugin paths:  ("/opt/clean-slate/share/qt4/plugins", "/Users/marko/Library/Preferences/KDE/lib/", "/opt/clean-slate/lib/") 
Trying to load Attica plugin:  "/opt/clean-slate/share/qt4/plugins/attica_kde.so" 
Trying to load Attica plugin:  "/Users/marko/Library/Preferences/KDE/lib//attica_kde.so" 
Trying to load Attica plugin:  "/opt/clean-slate/lib//attica_kde.so" 
Reading symbols for shared libraries ............ done
Using Attica with KDE support 
Plugin paths:  ("/opt/clean-slate/share/qt4/plugins", "/Users/marko/Library/Preferences/KDE/lib/", "/opt/clean-slate/lib/") 
Trying to load Attica plugin:  "/opt/clean-slate/share/qt4/plugins/attica_kde.so" 
Trying to load Attica plugin:  "/Users/marko/Library/Preferences/KDE/lib//attica_kde.so" 
Trying to load Attica plugin:  "/opt/clean-slate/lib//attica_kde.so" 
Using Attica with KDE support 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 
kmymoney(76909) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets! 

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000028
0x0000000100baf228 in QObject::metaObject ()
(gdb) bt f
<<issue 0>>  0x0000000100baf228 in QObject::metaObject ()
No symbol table info available.
<<issue 1>>  0x0000000100bb2777 in QObject::disconnect ()
No symbol table info available.
<<issue 2>>  0x000000010011e6e8 in KWidgetItemDelegatePrivate::eventFilter ()
No symbol table info available.
<<issue 3>>  0x0000000100ba1c97 in QCoreApplicationPrivate::sendThroughObjectEventFilters ()
No symbol table info available.
<<issue 4>>  0x0000000100df887e in QApplicationPrivate::notify_helper ()
No symbol table info available.
<<issue 5>>  0x0000000100dfe70d in QApplication::notify ()
No symbol table info available.
<<issue 6>>  0x000000010014461e in KApplication::notify ()
No symbol table info available.
<<issue 7>>  0x0000000100ab503c in QCoreApplication::notifyInternal ()
No symbol table info available.
<<issue 8>>  0x0000000100e42d10 in QWidgetPrivate::setWinId ()
No symbol table info available.
<<issue 9>>  0x0000000100d949eb in QWidget::destroy ()
No symbol table info available.
<<issue 10>> 0x0000000100e554e3 in QWidget::~QWidget ()
No symbol table info available.
<<issue 11>> 0x0000000100aba1df in QObjectPrivate::deleteChildren ()
No symbol table info available.
<<issue 12>> 0x0000000100e559a9 in QWidget::~QWidget ()
No symbol table info available.
<<issue 13>> 0x000000010009b8a6 in KDEPrivate::KAboutApplicationPersonListView::~KAboutApplicationPersonListView ()
No symbol table info available.
<<issue 14>> 0x0000000100aba1df in QObjectPrivate::deleteChildren ()
No symbol table info available.
<<issue 15>> 0x0000000100e554c9 in QWidget::~QWidget ()
No symbol table info available.
<<issue 16>> 0x0000000100aba1df in QObjectPrivate::deleteChildren ()
No symbol table info available.
<<issue 17>> 0x0000000100e559a9 in QWidget::~QWidget ()
No symbol table info available.
<<issue 18>> 0x000000010120f189 in QStackedWidget::~QStackedWidget ()
No symbol table info available.
<<issue 19>> 0x0000000100aba1df in QObjectPrivate::deleteChildren ()
No symbol table info available.
<<issue 20>> 0x0000000100e559a9 in QWidget::~QWidget ()
No symbol table info available.
<<issue 21>> 0x000000010121c536 in QTabWidget::~QTabWidget ()
No symbol table info available.
<<issue 22>> 0x0000000100aba1df in QObjectPrivate::deleteChildren ()
No symbol table info available.
<<issue 23>> 0x0000000100e554c9 in QWidget::~QWidget ()
No symbol table info available.
<<issue 24>> 0x0000000100aba1df in QObjectPrivate::deleteChildren ()
No symbol table info available.
<<issue 25>> 0x0000000100e559a9 in QWidget::~QWidget ()
No symbol table info available.
<<issue 26>> 0x000000010008b982 in KAboutApplicationDialog::~KAboutApplicationDialog ()
No symbol table info available.
<<issue 27>> 0x00000001002204b6 in KHelpMenu::timerExpired ()
No symbol table info available.
<<issue 28>> 0x0000000100221ea0 in KHelpMenu::qt_metacall ()
No symbol table info available.
<<issue 29>> 0x0000000100baf919 in QObject::event ()
No symbol table info available.
<<issue 30>> 0x0000000100df88ad in QApplicationPrivate::notify_helper ()
No symbol table info available.
<<issue 31>> 0x0000000100dfedde in QApplication::notify ()
No symbol table info available.
<<issue 32>> 0x000000010014461e in KApplication::notify ()
No symbol table info available.
<<issue 33>> 0x0000000100ab503c in QCoreApplication::notifyInternal ()
No symbol table info available.
<<issue 34>> 0x0000000100ba29cb in QCoreApplicationPrivate::sendPostedEvents ()
No symbol table info available.
<<issue 35>> 0x00007fff87f01401 in __CFRunLoopDoSources0 ()
No symbol table info available.
<<issue 36>> 0x00007fff87eff5f9 in __CFRunLoopRun ()
No symbol table info available.
<<issue 37>> 0x00007fff87efedbf in CFRunLoopRunSpecific ()
No symbol table info available.
<<issue 38>> 0x00007fff88e397ee in RunCurrentEventLoopInMode ()
No symbol table info available.
<<issue 39>> 0x00007fff88e39551 in ReceiveNextEventCommon ()
No symbol table info available.
<<issue 40>> 0x00007fff88e394ac in BlockUntilNextEventMatchingListInMode ()
No symbol table info available.
<<issue 41>> 0x00007fff80046e64 in _DPSNextEvent ()
No symbol table info available.
<<issue 42>> 0x00007fff800467a9 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
No symbol table info available.
<<issue 43>> 0x00007fff8000c48b in -[NSApplication run] ()
No symbol table info available.
<<issue 44>> 0x0000000100db3de5 in QEventDispatcherMac::processEvents ()
No symbol table info available.
<<issue 45>> 0x0000000100ba1354 in QEventLoop::processEvents ()
No symbol table info available.
<<issue 46>> 0x0000000100ba1674 in QEventLoop::exec ()
No symbol table info available.
<<issue 47>> 0x0000000100ba2c7c in QCoreApplication::exec ()
No symbol table info available.
<<issue 48>> 0x0000000100006037 in main (argc=1, argv=0x7fff5fbff550) at /Users/marko/WC/kde-tests/AboutBoxCrash/main.cpp:48
	aboutData = {
  d = 0x102302160
}
	options = {
  d = 0x102303a20
}
	app = {
  <QApplication> = {
    <QCoreApplication> = {
      <QObject> = {
        _vptr$QObject = 0x10043e6b0, 
        static staticMetaObject = {
          d = {
            superdata = 0x0, 
            stringdata = 0x100c48d40 "QObject", 
            data = 0x100c48de0, 
            extradata = 0x100ced1a0
          }
        }, 
        d_ptr = {
          d = 0x10211db30
        }, 
        static staticQtMetaObject = {
          d = {
            superdata = 0x0, 
            stringdata = 0x100c4d480 "Qt", 
            data = 0x100c50d00, 
            extradata = 0x0
          }
        }
      }, 
      members of QCoreApplication: 
      static staticMetaObject = {
        d = {
          superdata = 0x100ced020, 
          stringdata = 0x100c569c0 "QCoreApplication", 
          data = 0x100c56a60, 
          extradata = 0x0
        }
      }, 
      static self = 0x7fff5fbfefd0
    }, 
    members of QApplication: 
    static staticMetaObject = {
      d = {
        superdata = 0x100cf2520, 
        stringdata = 0x1014733c0 "QApplication", 
        data = 0x101473600, 
        extradata = 0x0
      }
    }
  }, 
  members of KApplication: 
  static staticMetaObject = {
    d = {
      superdata = 0x101730a40, 
      stringdata = 0x1002f0ee0 "KApplication", 
      data = 0x1002f0fe0, 
      extradata = 0x0
    }
  }, 
  static loadedByKdeinit = false, 
  static KApp = 0x7fff5fbfefd0, 
  d = 0x10238b3f0
}
	window = (MainWindow *) 0x102161170
(gdb)  

Expected Results:  
No crash

At the moment I am not able to deliver more proper debug output than the stuff above in "Actual Results", since I am up to now unable to get my system setup in such a way that it would only use QT's debug libraries. Right now it is undefined which one is used, which leads to crashes during debugging described here: http://developer.qt.nokia.com/forums/viewthread/6748/
Comment 1 Marko Käning 2011-06-19 19:00:46 UTC
To answer your questions Teo:

> 1) Is there a way you can install debug symbols for Qt and KDElibs? I
See right above!

> have very little experience with Mac, 
So do I, unfortunately. :-(

> might offer a way to install -debug or -dbg packages. Our goal is to
> get something better than "No symbol table info available." in those
> backtraces.
I know, and I'll try to do what's needed.

> I'm the developer who created the new About dialog so I
> can try and guess what goes on, but without a better backtrace it will
> be hard to figure this out.
Great to see that I finally got into direct contact with the original author. :-)

> 2) I see you submitted various reports with two different backtraces
> in those links so I don't understand, does the crash happen when you
> click on one of the elements of the view or just when you close the
> dialog? Or are those two different crashes that are triggered by
> different situations?
The different descriptions posted previously were due to the fact that I am running multiple MacPorts installations here on my machine. One uses a debug version of QT and KDE and another one doesn't use any debug versions. The backtrace from the latter one is shown above. And that's also the one we should focus on for now, I guess.

As I said above, I haven't figured out yet how to reliably make sure that ONLY debug libraries are used in an application. Once I've found the proper way to achieve this, I could go further.
I'll be on holiday next week, but I'll keep in touch with you afterwards, since this bug has been annoying me since quite a while. :-)
Comment 2 Marko Käning 2011-06-19 19:06:32 UTC
For completeness here once again the link to my little demonstrator app:

   https://bitbucket.org/mkae/kde-tests/src/9b358fdbe20f/AboutBoxCrash/

being derived from tutorial2 originating from 

   http://techbase.kde.org/Development/Tutorials/Using_KXmlGuiWindow

The crashing code can be download via:

   https://bitbucket.org/mkae/kde-tests/downloads
Comment 3 Marko Käning 2011-06-19 19:37:27 UTC
I did further experiments with my debug version, but it leads nowhere. I can't get a functioning debug version built. Wondering how we could tackle this problem. Looks like you could send me some patches for kdelibs4 which I'd incorporate in my installation, which then would allow to get more information about what's going on here.
Comment 4 Teo Mrnjavac 2011-06-19 19:42:51 UTC
I can't think of anything I can do from here, it's all a needle-in-a-haystack situation without a full backtrace.
Comment 5 Marko Käning 2011-06-19 19:47:02 UTC
OK, I see, so I guess I have to find a way to get a full backtrace from my demonstrator program...
Comment 6 Marko Käning 2011-06-19 23:58:20 UTC
Unfortunately I cannot build kdelibs4 as debug version without also building QT as its debug version.
Doing the latter lets me end up with the dilemma that I have no chance so far to run any of my programs in their debug versions without immediate crashes. :-(
I am off into holidays now. :-)
Comment 7 Marko Käning 2011-06-25 19:24:13 UTC
I can't really get an answer from neither QTdev nor QTbug about how to get a debuggable QT application up and running on MacOSX. So, I guess I won't be able for now to give you more readable information about what's going wrong here.

Please, keep me updated about changes which might affect this issue.
Comment 8 Marko Käning 2011-07-21 06:09:34 UTC
The bug obviously also happens to exist on recent Linuxes: see https://bugs.kde.org/show_bug.cgi?id=278157

So, Teo, perhaps there's hope you'll get debug info from Jack. :-))

(I haven't been able to figure out how to deliver full debug info on MacOSX.)     :-(
Comment 9 Thomas Baumgart 2011-07-21 07:22:33 UTC
*** Bug 278157 has been marked as a duplicate of this bug. ***
Comment 10 allan 2011-07-21 12:42:56 UTC
*** Bug 278157 has been marked as a duplicate of this bug. ***
Comment 11 Jack 2011-07-21 14:13:32 UTC
Thanks to Marko for pointing me to this bug.  I have a problem with KMyMoney compiled from svn under ArchLinux with KDE 4.6.5.  All the tabs in Help/About KDE work fine, but I get a crash in Help/About KMyMoney clicking on either the Authors or Thanks To tabs.  Note that I do NOT get any such crash with KMyMoney 4.5.3 under Gentoo.  Here's the backtrace:

Application: KMyMoney (kmymoney), signal: Segmentation fault
[KCrash Handler]
#7  0xb59b83f8 in ?? () from /usr/lib/libQtGui.so.4
#8  0xb59cb6a9 in ?? () from /usr/lib/libQtGui.so.4
#9  0xb6c43d1e in ?? () from /usr/lib/libkdeui.so.5
#10 0xb5c12511 in QListView::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#11 0xb56bcf7e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#12 0xb5ab8d95 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#13 0xb5b4aa31 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#14 0xb5bec7cc in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#15 0xb5b4d136 in ?? () from /usr/lib/libQtGui.so.4
#16 0xb6190356 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#17 0xb5663052 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#18 0xb56684d8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#19 0xb6cda321 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#20 0xb61901be in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#21 0xb56b9e2b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#22 0xb56bab24 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#23 0xb56ba9ea in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#24 0xb56b9b88 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#25 0xb56bab24 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#26 0xb56b9b88 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#27 0xb56bab24 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#28 0xb56b9b88 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#29 0xb56bab24 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#30 0xb56ba9ea in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#31 0xb56b9b88 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#32 0xb56bab24 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#33 0xb56b9b88 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#34 0xb56bab24 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#35 0xb56b9b88 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#36 0xb589c4bd in ?? () from /usr/lib/libQtGui.so.4
#37 0xb56af79b in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#38 0xb56bd917 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#39 0xb5663084 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#40 0xb56684d8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#41 0xb6cda321 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#42 0xb61901be in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#43 0xb61939a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#44 0xb6193afc in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#45 0xb61be014 in ?? () from /usr/lib/libQtCore.so.4
#46 0xb48f0c4f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#47 0xb48f13b0 in ?? () from /usr/lib/libglib-2.0.so.0
#48 0xb48f16da in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#49 0xb61be44a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#50 0xb57166ba in ?? () from /usr/lib/libQtGui.so.4
#51 0xb618f1fd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#52 0xb618f441 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#53 0xb6193bad in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#54 0xb5660ed4 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#55 0x08090df1 in runKMyMoney (splash=0xbfe24300, a=<value optimized out>) at /home/jack/KDE/KMM/svn/kmymoney/main.cpp:282
#56 0x0808f738 in main (argc=25856, argv=0x88500) at /home/jack/KDE/KMM/svn/kmymoney/main.cpp:181

This is with CMAKE_BUILD_TYPE=debug.  Let me know if I need to try it with debugfull.  Note I also get what seems to be the same crash from the Configure/Configure KMyMoney page in the Plugins section if I select the "i" for any of the plugins and then click the authors tab on the plugin's about dialog.

Please let me know if there is anything else I can provide.  (I do not currently have any other locally compiled KDE apps on this box, but I'll be glad to try one if it will help track this down.

Jack
Comment 12 Teo Mrnjavac 2011-07-21 16:36:05 UTC
With KMyMoney 4.5.3 on kdelibs 4.6.5. and Archlinux it doesn't crash, but I can confirm your crash with the kmymoney-svn PKGBUILD.
I'm still not sure it's exactly the same as the one first reported here.
Comment 13 Jack 2011-07-29 23:14:24 UTC
In case it matters, I still get the crash on Archlinux with KDE 4.7.0 and KMM compiled from svn.  Is there any other information I can provide or troubleshooting I can do?
Comment 14 Teo Mrnjavac 2011-07-30 10:37:23 UTC
I would appreciate if KMyMoney developers could please take another look at this, as it only seems to happen with a recent build of KMyMoney and nowhere else.
Comment 15 Marko Käning 2011-07-30 11:15:40 UTC
Teo, please see my comment #2 above, where I list links to test code. This all is not KMyMoney-specific, but it is caused by QT4/KDE4 at least on MacOSX. Unfortunately I am still unable to get a debug version built on it, here.

Because of this it's interesting to see that Jack sees it also on Archlinux. I wonder whether he can give you more information. I'm interested myself as to what it is in his case.

Hope he comes back with more info!
Comment 16 Marko Käning 2011-07-30 11:18:09 UTC
I'll contact Jack whether he can give my test code a try on his Archlinux.
Comment 17 Teo Mrnjavac 2011-07-30 11:23:58 UTC
I was referring to the other backtrace, it's different, at this point I wouldn't bet they are related at all.
Comment 18 Marko Käning 2011-07-30 11:28:45 UTC
Oh, I see, I am sorry then.

PS: I figure you can build and run my "test code" just fine on your Linuxes...
Comment 19 Jack 2011-07-30 16:13:45 UTC
(In reply to comment #16)
> I'll contact Jack whether he can give my test code a try on his Archlinux.

Unfortunately (?) that test code compiles and runs without crash on both Archlinux with KDE 4.7.0 and on Gentoo with KDE 4.6.3.

However - I just tried compiling svn on my Gentoo box, and I DO get the crash there, but not with 4.5.3.  (This is running .../build/kmymoney/kmymoney without doing make install.)  Unfortunately, this does seem to point to KMM rather than KDE.  I hate to ask whether a svn bisect approach might be worth the effort to find exactly what commit created the problem?

Marko - do you know the oldest version of the code (svn commit, perhaps) that showed the problem, so I can try that exact version?
Comment 20 Marko Käning 2011-07-30 16:20:06 UTC
(In reply to comment #19)
> Unfortunately (?) that test code compiles and runs without crash on both
> Archlinux with KDE 4.7.0 and on Gentoo with KDE 4.6.3.
Well, Jack, that's all consistent then. As Teo pointed out the crash trace points that already out.

> without doing make install.)  Unfortunately, this does seem to point to KMM
> rather than KDE.
Yeah, it seems that it's KMM's problem then.

> Marko - do you know the oldest version of the code (svn commit, perhaps) that
> showed the problem, so I can try that exact version?
What code are you talking about her?
If we are talking about KMM then it is still happening, like the test code, which you just tried.
Comment 21 Jack 2011-07-30 22:45:17 UTC
Well, it does look like we have two different crashes.  Perhaps 278157 is not really a duplicate of this?

Current status:  On both Gentoo with KDE 4.6.3 and Archlinux with KDE 4.7.0, KMM compiled from svn crashes, but KMM 4.5.3 compiled from tarball does not crash.  Marko's test program also does not crash.  However, Marko does not get the crash with KMM compiled from svn in a virtual environment with OpenSuse and KDE 4.3.5.  In addition, I just tested in a virtual environment with Kubuntu and KDE 4.5.5 and KMM compiled from svn does not crash there either.

Is it possible something that changed in KMM after 4.5.3 interacts with something that changed in KDE since 4.5.5 to cause the crash?
Comment 22 Marko Käning 2011-07-30 23:55:20 UTC
I could verify that my test application on my virtual OpenSUSE 11.4 ran through the about dialog WITHOUT CRASHING with KDE 4.6.0 installed.
Comment 23 Marko Käning 2011-07-31 00:59:55 UTC
I can also verify that the test application runs without crash on a vm with OpenSUSE 12.1rc3 with KDE 4.6.5...
Comment 24 Marko Käning 2011-07-31 02:05:49 UTC
Additionally I can finally say that KMyMoney's latest svn version could be built and run on said OpenSUSE 12.1rc3 vm WITH THE CRASH described by Jack when entering the About dialog boxes tabs.

This means we have to have to separate tickets for this, i.e. Jack's original ticket isn't just a duplicate of this MacOSX-specific ticket.


Summary: Crash in Author tab of About dialog with latest KMM on KDE 4.6.5!
Comment 25 Cristian Oneț 2011-08-02 17:03:53 UTC
Created attachment 62475 [details]
New crash information added by DrKonqi

kmymoney (4.5.96-svn1241546) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt 4.7.1

From the stack trace it is clear that the code from
KAboutApplicationPersonListDelegate::paint
style->drawPrimitive(QStyle::PE_Widget, &option, painter, 0);
causes a crash in Qt when a custom stylesheet is used by the application.
This is because in static QWidget *containerWidget(const QWidget *w) from qstylesheetstyle.cpp w is used without checking if it's 0. Although this is Qt's fault not KDE's.

-- Backtrace (Reduced):
#6  0x00007f6002a931c8 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=0x8) at /home/kde-devel/qt4/include/QtCore/qscopedpointer.h:112
#7  0x00007f6002a92f96 in QObject::parent (this=0x0) at /home/kde-devel/qt4/include/QtCore/qobject.h:250
#8  0x00007f6002aa7e76 in QWidget::parentWidget (this=0x0) at /home/kde-devel/qt4/include/QtGui/qwidget.h:1022
#9  0x00007f6002ee78e8 in containerWidget (w=0x0) at /home/kde-devel/kdesrc/qt-copy/src/gui/styles/qstylesheetstyle.cpp:2380
#10 0x00007f6002ef5e68 in QStyleSheetStyle::drawPrimitive (this=0xd8e470, pe=QStyle::PE_Widget, opt=0x7fff605e8a70, p=0x7fff605e8c00, w=0x0) at /home/kde-devel/kdesrc/qt-copy/src/gui/styles/qstylesheetstyle.cpp:4252
Comment 26 Marko Käning 2011-08-02 17:05:35 UTC
I have just verified that the little test app crashes with a custom style.

Shall I post this to QTdev?
Comment 27 Cristian Oneț 2011-08-02 17:07:10 UTC
*** Bug 278157 has been marked as a duplicate of this bug. ***
Comment 28 Cristian Oneț 2011-08-02 17:09:08 UTC
Marko, could you please pursue this whit the Qt developers? From my point of view the BUG is pretty clear and with the stack trace I've just attached plus the explanation they can fix the bug without much effort.
Thanks for all your perseverance with this!
Comment 29 Marko Käning 2011-08-02 17:10:56 UTC
Yep, I'll go for it then!

Thanks for your endurance as well, Cristian! :-)
Comment 30 Marko Käning 2011-08-02 17:40:03 UTC
Posted on QTdev: http://developer.qt.nokia.com/forums/viewthread/8385/

(Proceeding with QTbug now.)
Comment 31 Marko Käning 2011-08-02 17:44:54 UTC
There we are: https://bugreports.qt.nokia.com/browse/QTBUG-19872

More I can't do for now. We'll see whether QTdev or QTbug are going to respond...
Comment 32 Cristian Oneț 2011-08-09 17:31:26 UTC
The upstream bug that was causing this https://bugreports.qt.nokia.com/browse/QTBUG-15910 was fixed in http://qt.gitorious.org/qt/qt/commit/0bf70c35bd51be4435c95f28dab96bf9f00b49db
Comment 33 allan 2011-09-01 07:48:08 UTC
*** Bug 281072 has been marked as a duplicate of this bug. ***
Comment 34 Marko Käning 2011-09-01 22:50:30 UTC
I just build QT4.7.4 on my MacOSX and I have to say that the bug still persists.
Although the app doesn't crash immediately after clicking on the Authors tab it does when leaving the dialog by clicking the Close button.
Comment 35 Jack 2011-09-02 21:39:22 UTC
Marko - since you built from source, can you confirm that the patch to git mentioned in comment #32 has actually been applied in 4.7.4?  If not, we wait another round.  If so, it might be appropriate to reopen your qt bug.  (Archlinux is still on 4.7.3, so I still can't test yet.)

Also - can you tell from the  backtrace if it's really the same bug?
Comment 36 Marko Käning 2011-09-02 22:13:49 UTC
Yes, the backtrace looks like the one above:
---
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000028
0x0000000100bdc1e8 in QObject::metaObject ()
(gdb) bt f
#0  0x0000000100bdc1e8 in QObject::metaObject ()
No symbol table info available.
#1  0x0000000100bdf737 in QObject::disconnect ()
No symbol table info available.
#2  0x000000010011e0a8 in KWidgetItemDelegatePrivate::eventFilter ()
---
What concerns comment #32, you are right, it was a good idea to check that, indeed.

The check for a NULL pointer is not yet present in 4.7.4.

Thanks for pointing this our, Jack!!!

So, I guess, we have to wait for 4.7.5 or something later.