From unknown Thu Mar 28 23:53:55 2024 X-Loop: owner@bugs.x2go.org Subject: Bug#762: x2goclient segfaults if terminate button is repeatedly clicked Reply-To: Nadie Sin , 762@bugs.x2go.org Resent-From: Nadie Sin Resent-To: x2go-dev@lists.x2go.org Resent-CC: X2Go Developers X-Loop: owner@bugs.x2go.org Resent-Date: Thu, 22 Jan 2015 23:45:01 +0000 Resent-Message-ID: Resent-Sender: owner@bugs.x2go.org X-X2Go-PR-Message: report 762 X-X2Go-PR-Package: x2goclient X-X2Go-PR-Keywords: Received: via spool by submit@bugs.x2go.org id=B.14219700137241 (code B); Thu, 22 Jan 2015 23:45:01 +0000 Received: (at submit) by bugs.x2go.org; 22 Jan 2015 23:40:13 +0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on ymir.das-netzwerkteam.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID,URIBL_BLOCKED autolearn=ham version=3.3.2 Received: from mail-qg0-f54.google.com (mail-qg0-f54.google.com [209.85.192.54]) by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 897915DA51 for ; Fri, 23 Jan 2015 00:40:10 +0100 (CET) Received: by mail-qg0-f54.google.com with SMTP id q108so3812578qgd.13 for ; Thu, 22 Jan 2015 15:40:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=WsNLRqU5bKTUA53OzKGnFDPY6JImBke2GcJuER29V6Y=; b=ZiRD2KBYFnL+UCcAN11npBAfJgD4ARCU2cb7eDbg2wX77+oSNnsryDtVZn/EZMdSBU p4/SFb5fdg0EhijvL67Ol41/WkH3OepLqGUhTAKgLcZVZHx/aNTBqm121AUyIcv4lOxt VsbyXcib3GvfoL4RcJVGBtJov+bjJTnIFKC9gkI3k8jv2lFVmE5ulIzm87Ap8Ar+2LBK es7BDzxDxKXpb0BbmJEkSu9WNkH/LOtf0leTEANRE3c4sUkDdFxEFh8g57t8A8+mvFLU JvMgaVBI5G3W0sqf8Hej2GFnyFhurCmni0NFPd1g4Du3dgXDx2MYu1dYPo1+BMdpAyg3 7gjw== MIME-Version: 1.0 X-Received: by 10.140.95.105 with SMTP id h96mr7721587qge.64.1421970009167; Thu, 22 Jan 2015 15:40:09 -0800 (PST) Received: by 10.140.95.1 with HTTP; Thu, 22 Jan 2015 15:40:08 -0800 (PST) Date: Fri, 23 Jan 2015 00:40:08 +0100 Message-ID: From: Nadie Sin To: submit@bugs.x2go.org Content-Type: multipart/mixed; boundary=001a11c15ece474943050d4631f2 --001a11c15ece474943050d4631f2 Content-Type: multipart/alternative; boundary=001a11c15ece47493d050d4631f0 --001a11c15ece47493d050d4631f0 Content-Type: text/plain; charset=UTF-8 Package: x2goclient Version: 4.0.3.1 Tag: patch When the Terminate button is clicked, several seconds pass until the session is efectively terminated and the window reflects the changes. If the botton is pressed another time, the program segfaults. *The steps you took to produce the bug* Start any connection. Terminate connection with Terminate button or closing the window. Repeatedly click terminate button. *Any exact error messages* Segfault *What you expected to happen* The button should do nothing if clicked a segond time. *What actually happened* Crash *The client machine's OS* Archlinux fully updated *The client machine's version of X2GoClient* Latest version from git, also in the one in archlinux repo *Any relevant session settings in X2GoClient, PyHoca-GUI or Pyhoca-CLI* Nothing *The server's OS* Archlinux, fully updated Latest stable version of the software is used in the server, from Archlinux repositories, but server software is not relevant. *Backtrace* #0 0x00007ffff5b032e0 in QProcess::terminate() () from /usr/lib/libQtCore.so.4 #1 0x0000000000471ced in ONMainWindow::termSession (this=0xa92620, sessId=..., warn=false) at ../onmainwindow.cpp:5968 #2 0x00000000004698cb in ONMainWindow::slotTermSessFromSt (this=0xa92620) at ../onmainwindow.cpp:4587 #3 0x00000000004f43cd in ONMainWindow::qt_static_metacall (_o=0xa92620, _c=QMetaObject::InvokeMetaMethod, _id=42, _a=0x7fffffffd7d0) at moc_onmainwindow.cpp:366 #4 0x00007ffff5b89d9c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #5 0x00007ffff6a7f962 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4 #6 0x00007ffff67beef3 in ?? () from /usr/lib/libQtGui.so.4 #7 0x00007ffff67c02a4 in ?? () from /usr/lib/libQtGui.so.4 #8 0x00007ffff67c03b4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4 #9 0x00007ffff68824ba in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4 #10 0x00007ffff6442c08 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #11 0x00007ffff63ef9ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #12 0x00007ffff63f656f in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #13 0x00007ffff5b7528d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #14 0x00007ffff63f5bcf in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) () from /usr/lib/libQtGui.so.4 #15 0x00007ffff646c7a2 in ?? () from /usr/lib/libQtGui.so.4 #16 0x00007ffff646b19c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 #17 0x00007ffff64932e2 in ?? () from /usr/lib/libQtGui.so.4 #18 0x00007ffff1f0ea0d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #19 0x00007ffff1f0ecf8 in ?? () from /usr/lib/libglib-2.0.so.0 #20 0x00007ffff1f0edac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #21 0x00007ffff5ba437d in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib/libQtCore.so.4 #22 0x00007ffff64933a6 in ?? () from /usr/lib/libQtGui.so.4 #23 0x00007ffff5b73de1 in QEventLoop::processEvents(QFlags) () from /usr/lib/libQtCore.so.4 #24 0x00007ffff5b74145 in QEventLoop::exec(QFlags) () from /usr/lib/libQtCore.so.4 #25 0x00007ffff5b796e9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #26 0x00000000004dccd6 in x2goMain (argc=1, argv=0x7fffffffe688) at ../ongetpass.cpp:108 #27 0x00000000004f354c in main (argc=1, argv=0x7fffffffe688) at ../x2goclient.cpp:22 --001a11c15ece47493d050d4631f0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Package: x2goclient
Version: 4.0.3.1
Tag: patch

When the Terminate button is clicked, several seconds pas= s until the session is efectively terminated and the window reflects the ch= anges.
If the botton is pressed another time, the program seg=
faults.


The steps you took to produce the bu= g

Start any connection. Terminate connection with Terminate butt= on or closing the window. Repeatedly click terminate button.

Any = exact error messages

Segfault

What you expected to hap= pen

The button should do nothing if clicked a segond time.
What actually happened

Crash

The client machine&#= 39;s OS

Archlinux fully updated

The client machine'= ;s version of X2GoClient

Latest version from git, also in the on= e in archlinux repo

Any relevant session settings in X2GoClient, = PyHoca-GUI or Pyhoca-CLI

Nothing

The server's OS

Archlinux, fully updated

Latest stable version of the software = is used in the server, from Archlinux repositories, but server software is = not relevant.

Backtrace

#0 0x00007ffff5b032e0 in= QProcess::terminate() () from /usr/lib/libQtCore.so.4
#1 0x00000000004= 71ced in ONMainWindow::termSession (this=3D0xa92620, sessId=3D..., warn=3Df= alse) at ../onmainwindow.cpp:5968
#2 0x00000000004698cb in ONMainWindow= ::slotTermSessFromSt (this=3D0xa92620) at ../onmainwindow.cpp:4587
#3 0= x00000000004f43cd in ONMainWindow::qt_static_metacall (_o=3D0xa92620, _c=3D= QMetaObject::InvokeMetaMethod, _id=3D42, _a=3D0x7fffffffd7d0) at moc_onmain= window.cpp:366
#4 0x00007ffff5b89d9c in QMetaObject::activate(QObject*,= QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#5 0x= 00007ffff6a7f962 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGu= i.so.4
#6 0x00007ffff67beef3 in ?? () from /usr/lib/libQtGui.so.4
#7= 0x00007ffff67c02a4 in ?? () from /usr/lib/libQtGui.so.4
#8 0x00007fff= f67c03b4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/l= ib/libQtGui.so.4
#9 0x00007ffff68824ba in QToolButton::mouseReleaseEven= t(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#10 0x00007ffff6442c08 in= QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007ffff6= 3ef9ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /us= r/lib/libQtGui.so.4
#12 0x00007ffff63f656f in QApplication::notify(QObje= ct*, QEvent*) () from /usr/lib/libQtGui.so.4
#13 0x00007ffff5b7528d in Q= CoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCo= re.so.4
#14 0x00007ffff63f5bcf in QApplicationPrivate::sendMouseEvent(QW= idget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>= ;&, bool) () from /usr/lib/libQtGui.so.4
#15 0x00007ffff646c7a2 in ?= ? () from /usr/lib/libQtGui.so.4
#16 0x00007ffff646b19c in QApplication:= :x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#17 0x00007fff= f64932e2 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007ffff1f0ea0d in = g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#19 0x00007fff= f1f0ecf8 in ?? () from /usr/lib/libglib-2.0.so.0
#20 0x00007ffff1f0edac = in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#21 0x0000= 7ffff5ba437d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::P= rocessEventsFlag>) () from /usr/lib/libQtCore.so.4
#22 0x00007ffff649= 33a6 in ?? () from /usr/lib/libQtGui.so.4
#23 0x00007ffff5b73de1 in QEve= ntLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from = /usr/lib/libQtCore.so.4
#24 0x00007ffff5b74145 in QEventLoop::exec(QFlag= s<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
= #25 0x00007ffff5b796e9 in QCoreApplication::exec() () from /usr/lib/libQtCo= re.so.4
#26 0x00000000004dccd6 in x2goMain (argc=3D1, argv=3D0x7fffffffe= 688) at ../ongetpass.cpp:108
#27 0x00000000004f354c in main (argc=3D1, a= rgv=3D0x7fffffffe688) at ../x2goclient.cpp:22
--001a11c15ece47493d050d4631f0-- --001a11c15ece474943050d4631f2 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Fix-segfault-terminating-sessions.patch" Content-Disposition: attachment; filename="0001-Fix-segfault-terminating-sessions.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i58s7a1d0 RnJvbSBkOGFhNjkxNzRjMTZiNmNjMjQ3MTdmYzQyM2ViMjE5ODJjMTFjYjY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB4IHggPHhAeC5jb20+CkRhdGU6IEZyaSwgMjMgSmFuIDIwMTUg MDA6MTQ6MDYgKzAxMDAKU3ViamVjdDogW1BBVENIXSBGaXggc2VnZmF1bHQgdGVybWluYXRpbmcg c2Vzc2lvbnMKCi0tLQogb25tYWlud2luZG93LmNwcCB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvb25tYWlud2luZG93LmNwcCBiL29ubWFpbndp bmRvdy5jcHAKaW5kZXggOGUyZTExYS4uOTYyNTUyZCAxMDA2NDQKLS0tIGEvb25tYWlud2luZG93 LmNwcAorKysgYi9vbm1haW53aW5kb3cuY3BwCkBAIC01OTM1LDYgKzU5MzUsOSBAQCB2b2lkIE9O TWFpbldpbmRvdzo6c3VzcGVuZFNlc3Npb24gKCBRU3RyaW5nIHNlc3NJZCApCiAKIGJvb2wgT05N YWluV2luZG93Ojp0ZXJtU2Vzc2lvbiAoIFFTdHJpbmcgc2Vzc0lkLCBib29sIHdhcm4gKQogewor CWlmICggIW54cHJveHkgKQorCQlyZXR1cm4gdHJ1ZTsKKwogICAgIGlmICggd2FybiApCiAgICAg ewogICAgICAgICBib29sIGhpZGVfYWZ0ZXI9ZmFsc2U7Ci0tIAoyLjIuMgoK --001a11c15ece474943050d4631f2--