Bug 2239100

Summary: core dump on exit after merge
Product: [Fedora] Fedora Reporter: Kim Bisgaard <kim-rh>
Component: kdiff3Assignee: Vasiliy Glazov <vascom2>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 38CC: bolek, kde-sig, ndbecker2, vascom2
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: kdiff3-1.10.6-1.fc39 kdiff3-1.10.6-1.fc38 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-10-03 13:58:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
test file 1
none
test file 2 none

Description Kim Bisgaard 2023-09-15 07:54:25 UTC
Application: kdiff3 (kdiff3), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fed401db363 in QWidget::isActiveWindow() const () from /lib64/libQt5Widgets.so.5
#5  0x00007fed403ce24b in QDialog::setVisible(bool) () from /lib64/libQt5Widgets.so.5
#6  0x00007fed403cbb7d in QDialog::~QDialog() () from /lib64/libQt5Widgets.so.5
#7  0x0000557bfd0931e1 in std::shared_ptr<ProgressDialog>::~shared_ptr() [clone .lto_priv.0] ()
#8  0x00007fed3ec621e6 in __run_exit_handlers () from /lib64/libc.so.6
#9  0x00007fed3ec6232e in exit () from /lib64/libc.so.6
#10 0x00007fed3ec49b91 in __libc_start_call_main () from /lib64/libc.so.6
#11 0x00007fed3ec49c4b in __libc_start_main_impl () from /lib64/libc.so.6
#12 0x0000557bfd002185 in _start ()
[Inferior 1 (process 41470) detached]



Reproducible: Always

Steps to Reproduce:
1.I use rpmconf (with kdiff3 as merge tool
2.Upon end of merge i save/exit
3.
Actual Results:  
Nothing gets saved, and core dump happens


# rpm -q kdiff3 qt5-qtbase-gui
kdiff3-1.10.5-1.fc38.x86_64
qt5-qtbase-gui-5.15.10-5.fc38.x86_64

Comment 1 Vasiliy Glazov 2023-09-18 06:01:32 UTC
I can't reproduce that.

If it is still reproducible if kdiff3 run directly from terminal?

Comment 2 Kim Bisgaard 2023-09-18 06:58:28 UTC
Yes.

Output from commandline:
# kdiff3 -o /tmp/pgdg-fedora-all.repo -m /etc/yum.repos.d/pgdg-fedora-all.repo /etc/yum.repos.d/pgdg-fedora-all.repo.rpmnew 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kf.notifications: Failed to play sound with canberra: Not available
kf.notifications: Failed to play sound with canberra: Not available
KCrash: Application 'kdiff3' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kf.kirigami: Failed to find a Kirigami platform plugin
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/ContextDrawer.qml:135:9: QML ListView: Binding loop detected for property "topMargin"

Comment 3 Vasiliy Glazov 2023-09-18 07:38:00 UTC
Try to run it from user and not from root.

Comment 4 Kim Bisgaard 2023-09-18 08:43:03 UTC
Still crashes :-( 

[kim@kim ~]$ kdiff3 -o /tmp/kde-kim/pgdg-fedora-all.repo -m /etc/yum.repos.d/pgdg-fedora-all.repo /etc/yum.repos.d/pgdg-fedora-all.repo.rpmnew
KCrash: Application 'kdiff3' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi

[1]+  Stopped                 kdiff3 -o /tmp/kde-kim/pgdg-fedora-all.repo -m /etc/yum.repos.d/pgdg-fedora-all.repo /etc/yum.repos.d/pgdg-fedora-all.repo.rpmnew

Comment 5 Boleslaw Ciesielski 2023-09-22 23:46:02 UTC
I can reproduce the crash on exit just by diffing two files (attached).

[pilot:/tmp] kdiff3 License.txt License3.txt
Segmentation fault (core dumped)
Exit 139
[pilot:/tmp] 

This is a regression in kdiff3-1.10.5-1.fc38.x86_64. Downgrading to kdiff3-1.10.0-1.fc38.x86_64 fixes the crash.

Note that I am not using Wayland.

But the call stack is different than the original report:

Thread 1 "kdiff3" received signal SIGSEGV, Segmentation fault.
0x00007fffe489c880 in QXcbConnection::removeWindowEventListener(unsigned int) () from /lib64/libQt5XcbQpa.so.5
(gdb) bt
#0  0x00007fffe489c880 in QXcbConnection::removeWindowEventListener(unsigned int) () from /lib64/libQt5XcbQpa.so.5
#1  0x00007fffe48ac63d in QXcbWindow::destroy() () from /lib64/libQt5XcbQpa.so.5
#2  0x00007fffe48ac73d in QXcbWindow::~QXcbWindow() () from /lib64/libQt5XcbQpa.so.5
#3  0x00007ffff203471d in non-virtual thunk to QXcbGlxWindow::~QXcbGlxWindow() ()
   from /usr/lib64/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
#4  0x00007ffff6b77871 in QWindowPrivate::destroy() () from /lib64/libQt5Gui.so.5
#5  0x00007ffff73d873d in QWidgetPrivate::deleteTLSysExtra() () from /lib64/libQt5Widgets.so.5
#6  0x00007ffff73e7698 in QWidget::destroy(bool, bool) () from /lib64/libQt5Widgets.so.5
#7  0x00007ffff73eed44 in QWidget::~QWidget() () from /lib64/libQt5Widgets.so.5
#8  0x000055555564a1e1 in std::shared_ptr<ProgressDialog>::~shared_ptr() [clone .lto_priv.0] ()
#9  0x00007ffff5e621e6 in __run_exit_handlers () from /lib64/libc.so.6
#10 0x00007ffff5e6232e in exit () from /lib64/libc.so.6
#11 0x00007ffff5e49b91 in __libc_start_call_main () from /lib64/libc.so.6
#12 0x00007ffff5e49c4b in __libc_start_main_impl () from /lib64/libc.so.6
#13 0x00005555555b9185 in _start ()

Comment 6 Boleslaw Ciesielski 2023-09-22 23:46:48 UTC
Created attachment 1990145 [details]
test file 1

Comment 7 Boleslaw Ciesielski 2023-09-22 23:47:25 UTC
Created attachment 1990146 [details]
test file 2

Comment 8 Boleslaw Ciesielski 2023-09-22 23:57:27 UTC
One other observation:
The crash only happens if I exit via the File->Quit menu or Ctrl-Q. It does not crash if I exit by closing the window via Ctrl-F4 or the mouse click.

Comment 9 Boleslaw Ciesielski 2023-09-23 05:24:25 UTC
This bug has been already fixed upstream on the "stable" 1.10.x branch in https://invent.kde.org/sdk/kdiff3/-/commit/5849ea6d7de19dcdb21534bdc63881e1d3cf274f. I verified locally that the fix works, but it is dependent on some previous commits, so it can't be easily patched to stock 1.10.5.

Comment 10 Vasiliy Glazov 2023-09-23 13:17:51 UTC
Thanks.
I will apply patch in next few days.

Comment 11 Vasiliy Glazov 2023-09-25 05:54:34 UTC
Seems problem solved in version 1.10.6.
Builds on the way.

Comment 12 Fedora Update System 2023-09-25 06:16:20 UTC
FEDORA-2023-2c227920b9 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-2c227920b9

Comment 13 Fedora Update System 2023-09-25 06:16:20 UTC
FEDORA-2023-96f5ef6ceb has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-96f5ef6ceb

Comment 14 Boleslaw Ciesielski 2023-09-25 16:33:16 UTC
Thanks, kdiff3-1.10.6-1.fc38.x86_64 fixes this for me on Fedora 38.

Comment 15 Fedora Update System 2023-09-26 01:26:04 UTC
FEDORA-2023-96f5ef6ceb has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-96f5ef6ceb`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-96f5ef6ceb

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2023-09-26 02:29:15 UTC
FEDORA-2023-2c227920b9 has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-2c227920b9`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-2c227920b9

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 17 Kim Bisgaard 2023-09-27 07:56:50 UTC
Thanks a lot!! :-)  I have tested the fix (new version) and it works as a charm.

Comment 18 Fedora Update System 2023-10-03 13:58:58 UTC
FEDORA-2023-96f5ef6ceb has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2023-10-04 02:33:42 UTC
FEDORA-2023-2c227920b9 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.