I've found a crash on Mac OS X. [1]
When an app has an about dialog available which includes at least one author added using addAuthor() the application will crash as described originally in [2].
All one needs to do is to open the about dialog from Mac OSX' global menu and select the author tab. Either the app crashes immediately or after leaving the dialog by pressing the close button.
I assumed that this could be a QT issue, which is why I also posted at QT-dev [3], but I am afraid this is KDE stuff.
Any ideas?
Greets,
Marko
[1] https://bitbucket.org/mkae/kde-tests/issue/1/aboutboxcrash-only-on-mac-os-x
[2] https://trac.macports.org/ticket/28410#comment:30
[3] http://developer.qt.nokia.com/forums/viewthread/6725/
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
Thanks for your response!
> I do have an idea, not sure if it's actually a good one...
> Could you please check if it happens with any item view that uses
> KWidgetItemDelegate, like a KNewStuff3 item view?
if I only knew how to modify my code at
https://bitbucket.org/mkae/kde-tests/src/d4aad378ca71/AboutBoxCrash/
in such a way that I could achieve what you mean.
I just took the code from KDE's tutorial #2 and added one line to demonstrate the crash.
I have no idea, how to use any other view which would be using KWidgetItemDelegate.
If you could give me a reference to a exemplary code it would be very helpful, since my QT/KDE knowledge is basically zero. :-/
Would be great if we could tackle this bug together. :-)
Greets,
Marko
Hello
An instance of KNewStuff3 is used in Dolphin.
Settings -> Configure Dolphin... -> Services -> Download New Services...
The dialog that pops up has a view which uses a delegate derived from
KWidgetItemDelegate, so if that crashes too then it might give us a
clue.
Cheers,
--
Teo
I do have an idea, not sure if it's actually a good one...
Could you please check if it happens with any item view that uses
KWidgetItemDelegate, like a KNewStuff3 item view?
Cheers,
--
Teo
An instance of KNewStuff3 is used in Dolphin.
Settings -> Configure Dolphin... -> Services -> Download New Services...
The dialog that pops up has a view which uses a delegate derived from
KWidgetItemDelegate, so if that crashes too then it might give us a
clue.
Here it wasn't even necessary to enter the Authors tab, Dolphin crashed before the dialog could be shown. :-(
Now I have resurrected the previous state, I see the about dialog and I can select the author tab in there.
Here is what lokalize told me now when selecting Authors before it crashed after pressing the Close button:
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
lokalize(81766) KWidgetItemDelegateEventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createItemWidgets!
QKqueueFileSystemWatcherEngine: error during kevent wait: Bad file descriptor
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = lokalize path = /opt/macports-test/Applications/KDE4/lokalize.app/Contents/MacOS pid = 81766
KCrash: Arguments: /opt/macports-test/Applications/KDE4/lokalize.app/Contents/MacOS/lokalize --nocrashhandler
I wonder how interesting the line
QKqueueFileSystemWatcherEngine: error during kevent wait: Bad file descriptor
is. That I hadn't seen in the AboutBoxCrash app in https://bitbucket.org/mkae/kde-tests/issue/1/aboutboxcrash-only-on-mac-os-x
Ok, thank you for your feedback.
So, let's try and dig deeper to fix this...
1) Is there a way you can install debug symbols for Qt and KDElibs? I
have very little experience with Mac, but I suppose that MacPorts
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'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.
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? It would be great if you could please submit a
bug report with a backtrace and description on how to reproduce on
bugs.kde.org, and it would be best if we could continue this
discussion there so we don't pollute this mailing list with a single
bug. Use "kdelibs" as target and "kdeui" as component in your report,
and describe how and when the about dialog makes your app crash.
Cheers,
--
Teo
Will do so, Teo.
:-)
Thanks for your help.