Bug 433231 - KRDC crashes after while logging in
Summary: KRDC crashes after while logging in
Status: REPORTED
Alias: None
Product: krdc
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-02-19 09:18 UTC by Reverend Homer
Modified: 2022-02-04 18:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (5.43 KB, text/plain)
2022-02-04 18:34 UTC, Octavia Togami
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Reverend Homer 2021-02-19 09:18:15 UTC
Application: krdc (20.08.1)

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.10.10-200.fc33.x86_64 x86_64
Windowing system: X11
Distribution: Fedora 33 (KDE Plasma)

-- Information about the crash:
- What I was doing when the application crashed:

1. Open KRDC
2. Click on the saved connection
3. Pasted the password I copied from Konsole

During the paste, I noticed there's much more symbols than in the password itself.
When I re-open the KRDC and try again, it works

The crash can be reproduced every time.

-- Backtrace:
Application: KRDC (krdc), signal: Aborted

[KCrash Handler]
#4  0x00007eff176df9d5 in raise () from /lib64/libc.so.6
#5  0x00007eff176c88a4 in abort () from /lib64/libc.so.6
#6  0x00007eff17b0648f in QMessageLogger::fatal(char const*, ...) const () from /lib64/libQt5Core.so.5
#7  0x00007eff17b06cfb in QThread::~QThread() [clone .cold] () from /lib64/libQt5Core.so.5
#8  0x00007eff0433c118 in VncView::~VncView() () from /usr/lib64/qt5/plugins/krdc/libkrdc_vncplugin.so
#9  0x00007eff0433c189 in VncView::~VncView() () from /usr/lib64/qt5/plugins/krdc/libkrdc_vncplugin.so
#10 0x00007eff17cfe93a in QObjectPrivate::deleteChildren() () from /lib64/libQt5Core.so.5
#11 0x00007eff1895e246 in QWidget::~QWidget() () from /lib64/libQt5Widgets.so.5
#12 0x00007eff1895e59d in QWidget::~QWidget() () from /lib64/libQt5Widgets.so.5
#13 0x00007eff17cfe93a in QObjectPrivate::deleteChildren() () from /lib64/libQt5Core.so.5
#14 0x00007eff1895e246 in QWidget::~QWidget() () from /lib64/libQt5Widgets.so.5
#15 0x00005649d529e6fd in RemoteViewScrollArea::~RemoteViewScrollArea() ()
#16 0x00007eff17cfeb21 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#17 0x00007eff18a0c6f2 in QFrame::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#18 0x00007eff18921ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#19 0x00007eff17cd6bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#20 0x00007eff17cd98c7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#21 0x00007eff17d23c27 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#22 0x00007eff15a4aa9f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#23 0x00007eff15a9ca98 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#24 0x00007eff15a47e73 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#25 0x00007eff17d236f3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#26 0x00007eff17cd557b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#27 0x00007eff18b21f8f in QDialog::exec() () from /lib64/libQt5Widgets.so.5
#28 0x00007eff04341150 in VncView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.0] () from /usr/lib64/qt5/plugins/krdc/libkrdc_vncplugin.so
#29 0x00007eff17cfed1e in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#30 0x00007eff18921ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#31 0x00007eff17cd6bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#32 0x00007eff17cd98c7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#33 0x00007eff17d23c27 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#34 0x00007eff15a4aa9f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#35 0x00007eff15a9ca98 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#36 0x00007eff15a47e73 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#37 0x00007eff17d236f3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#38 0x00007eff17cd557b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#39 0x00007eff17cdd1b4 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#40 0x00005649d529d3c0 in main ()
[Inferior 1 (process 1832100) detached]

Possible duplicates by query: bug 424911, bug 423951, bug 423132, bug 417285, bug 414922.

Reported using DrKonqi
Comment 1 Reverend Homer 2021-02-19 09:33:55 UTC
Okay so I understand how to reproduce it.
What I really had in my clipboard was an image which I managed to successfully paste as a VNC password. After that I got a message "VNC closed the connection", but the password window for some reason reappeared. Right after that KRDC crashed.
Comment 2 Albert Astals Cid 2021-02-20 10:27:49 UTC
When you say "pasted as VNC password", can you clarify exactly where you pasted it? 

A screenshot would probably help
Comment 3 Reverend Homer 2021-02-22 14:26:46 UTC
>When you say "pasted as VNC password", can you clarify exactly where you pasted it? 
>
>A screenshot would probably help

Sure. Here's the window asking for the password: https://i.imgur.com/GkME4Cz.png

It appears when I double-left-click the saved connection.
So, as a reproduction, I can do these steps:
1. Open a picture in Gwenview
2. Copy the picture to the clipboard via pressing Ctrl-C in Gwenview window
3. Paste this picture via Ctrl-V to the only text input field in the window from the screenshot

The image appears there as lots of (hidden) characters. Then, if I press "OK", I'll get an error about invalid password *and* the window from the screenshot will reappear (which doesn't happen if I simply type the incorrect password). Right after that KRDC crashes.
Comment 4 Albert Astals Cid 2021-02-22 22:11:37 UTC
I can not make it crash, can you please run krdc from the command line?

When it crashes it seems like it's writing something to the command line, can you paste it here?
Comment 5 Reverend Homer 2021-03-02 08:14:21 UTC
Sorry, I can't reproduce it anymore. If I get to this issue again, I'll reopen this task.
Comment 6 Reverend Homer 2021-03-03 07:03:46 UTC
So I could reproduce this again. For some reason it happens only with one of my connections while doesn't happen with the other. I collected the output of the krdc while it was crashing and here it is:

❯ krdc
KRDC: rfbInitClient failed
KRDC: "VNC server closed connection."
QThread: Destroyed while thread is still running
KCrash: Application 'krdc' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi
[1]  + 1728121 suspended (signal)  krdc
Comment 7 Albert Astals Cid 2021-03-03 23:40:05 UTC
Not super useful, something is not working as it should but doesn't really give much information, without a way to reproduce it, i don't personally have time to investigate it, maybe someone else does
Comment 8 Octavia Togami 2022-02-04 18:34:17 UTC
Created attachment 146270 [details]
New crash information added by DrKonqi

krdc (21.12.2) using Qt 5.15.2

- What I was doing when the application crashed:
Entering password into KRDC, had recently reconnected multiple times.

-- Backtrace (Reduced):
#6  0x00007f073c941ee4 in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914
#7  QMessageLogger::fatal (this=<optimized out>, msg=<optimized out>) at global/qlogging.cpp:893
#8  0x00007f073c94371a in QThread::~QThread (this=<optimized out>, this=<optimized out>) at thread/qthread.cpp:456
#9  0x00007f073622bb5d in VncView::~VncView (this=<optimized out>, this=<optimized out>) at /usr/src/debug/krdc-21.12.2/vnc/vncview.cpp:84
#10 0x00007f073622bbcd in VncView::~VncView (this=<optimized out>, this=<optimized out>) at /usr/src/debug/krdc-21.12.2/vnc/vncview.cpp:84