Bug 473517 - DrKonqi reports crashes for non-KDE software on bugs.kde.org
Summary: DrKonqi reports crashes for non-KDE software on bugs.kde.org
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kcoreaddons
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-18 23:04 UTC by Nicolas Fella
Modified: 2023-09-10 12:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Fella 2023-08-18 23:04:39 UTC
STEPS TO REPRODUCE
1. killall -SEGV hotspot 
2. Open the appearing DrKonqi
3. Submit a bug

OBSERVED RESULT
A report on bugs.kde.org is created, but hotspot is not a KDE project and its bugs are tracked elsewhere

EXPECTED RESULT
DrKonqi should recognize that Hotspot isn't a KDE projects and not submit a bugreport to KDE. Bonus points for giving actionable suggestions on what else to do

See https://bugs.kde.org/show_bug.cgi?id=473516
Comment 1 Harald Sitter 2023-08-19 08:48:48 UTC
What appears to be going on is: hotspot loads the konsole kpart, this implicitly creates kaboutdata (with the implicit bug reporting address of KDE), hotspot now has a kaboutdata that says its bug reports go to us

https://invent.kde.org/frameworks/kcoreaddons/-/blob/1ceead331529a2f86125ef831f7b719730b68455/src/lib/kaboutdata.cpp#L587

  * frame #0: 0x00007ffff75864b0 libKF5CoreAddons.so.5`KAboutData::KAboutData(QString const&, QString const&, QString const&)
    frame #1: 0x00007ffff7588d34 libKF5CoreAddons.so.5`KAboutData::applicationData() + 692
    frame #2: 0x00007ffff7ca0df1 libKF5Parts.so.5`KParts::PartBase::PartBase() + 97
    frame #3: 0x00005555555981ce hotspot`___lldb_unnamed_symbol2705 + 5166
    frame #4: 0x00007ffff5429d90 libc.so.6`__libc_start_call_main(main=(hotspot`___lldb_unnamed_symbol2705), argc=1, argv=0x00007fffffffd7d8) at libc_start_call_main.h:58:16
    frame #5: 0x00007ffff5429e40 libc.so.6`__libc_start_main_impl(main=(hotspot`___lldb_unnamed_symbol2705), argc=1, argv=0x00007fffffffd7d8, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007fffffffd7c8) at libc-start.c:392:3
    frame #6: 0x000055555559a2d5 hotspot`___lldb_unnamed_symbol2707 + 37
Comment 2 Nicolas Fella 2023-08-19 17:40:04 UTC
Creating a KAboutData itself is fine as long as we don't apply it globally (via KAboutData::setApplicationData). That's what we do in https://invent.kde.org/frameworks/kxmlgui/-/blob/master/src/kmainwindow.cpp#L275 though.

What's worse is that KAboutData::applicationData implicitly creates a KAboutData if none exists, and we use that in several places. Maybe for KF6 we should just not do that
Comment 3 Bug Janitor Service 2023-08-19 18:15:42 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/368
Comment 4 Nicolas Fella 2023-09-10 12:05:55 UTC
Git commit 3324b59b8d30d0cd622bd081b71121c3ce7834c6 by Nicolas Fella.
Committed on 10/09/2023 at 14:02.
Pushed by nicolasfella into branch 'master'.

Unset bug address for implicitly created KAboutData

When calling KAboutData::applicationData when setApplicationData hasn't been called before we create a new KAboutData and set that as global about data

That gets the default KDE bug report address

Since this is likely happening in a third-party app this is likely wrong and causes DrKonqi to try and submit it to bugs.kde.org

Manually unset the value to avoid that

M  +2    -0    src/lib/kaboutdata.cpp

https://invent.kde.org/frameworks/kcoreaddons/-/commit/3324b59b8d30d0cd622bd081b71121c3ce7834c6
Comment 5 Nicolas Fella 2023-09-10 12:34:56 UTC
Git commit 38cb4139042af1282f4073d8780f0634ce856bca by Nicolas Fella.
Committed on 10/09/2023 at 14:34.
Pushed by nicolasfella into branch 'kf5'.

Unset bug address for implicitly created KAboutData

When calling KAboutData::applicationData when setApplicationData hasn't been called before we create a new KAboutData and set that as global about data

That gets the default KDE bug report address

Since this is likely happening in a third-party app this is likely wrong and causes DrKonqi to try and submit it to bugs.kde.org

Manually unset the value to avoid that
(cherry picked from commit 3324b59b8d30d0cd622bd081b71121c3ce7834c6)

M  +2    -0    src/lib/kaboutdata.cpp

https://invent.kde.org/frameworks/kcoreaddons/-/commit/38cb4139042af1282f4073d8780f0634ce856bca