X2Go Bug report logs - #543
x2golistdesktops locks up if xwininfo does

version graph

Package: x2godesktopsharing; Maintainer for x2godesktopsharing is X2Go Developers <x2go-dev@lists.x2go.org>;

Reported by: "Gregory R. Warnes" <greg@warnes.net>

Date: Wed, 9 Jul 2014 22:00:02 UTC

Severity: normal

Tags: patch, pending

Found in version 3.1.1.1-0~131~ubuntu12

Fixed in version 4.0.1.16

Done: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#543; Package x2godesktopsharing. (Wed, 09 Jul 2014 22:00:02 GMT) (full text, mbox, link).


Acknowledgement sent to "Gregory R. Warnes" <greg@warnes.net>:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 09 Jul 2014 22:00:02 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

From: "Gregory R. Warnes" <greg@warnes.net>
To: submit@bugs.x2go.org
Subject: x2golistdesktops locks up if xwininfo does
Date: Wed, 9 Jul 2014 17:57:09 -0400
[Message part 1 (text/plain, inline)]
Package:  x2godesktopsharing
Version: 3.1.1.1-0~131~ubuntu12


Hi,  my server had a ‘weird’ file in /tmp/.X11-unix/ for which xwininfo would never return, locking up x2golistdesktops.

The solution is to provide a timeout for the shell call to xwininfo.  This can be accomplished either using the shell command ‘timeout’ or the Perl IPC::Run module (as described in the first response to http://stackoverflow.com/questions/16918005/time-out-when-using-system-cmd-in-perl).

For my purpose, I’ve used the shell timeout command. Patch below.

-Greg


--- /usr/bin/x2golistdesktops	2014-04-03 10:14:22.000000000 -0500
+++ x2golistdesktops	2014-07-09 16:43:54.000000000 -0500
@@ -43,7 +43,7 @@
 	$serv=hostname;
 }

-my $rsess=`x2golistsessions x2goserver |grep _stR`;
+my $rsess=`timeout 1s x2golistsessions x2goserver |grep _stR`;
 my @rsess=split("\n","$rsess");
 my @rdisplays;
 for (my $i=0;$i<@rsess;$i++)
@@ -67,7 +67,7 @@
 	$checkdisp="${checkdisp}I";
 	if (!( $rdisp =~ m/$checkdisp/ ))
 	{
-		my $inf=`xwininfo -root -display $display 2> /dev/null`;
+		my $inf=`timeout 1s xwininfo -root -display $display 2> /dev/null`;
 		if ( $inf=~ m/geometry/)
 		{
 			print "$uname\@$display\n";
@@ -88,4 +88,4 @@
 }

 # closing syslog
-closelog;
\ No newline at end of file
+closelog;
w


[Message part 2 (text/html, inline)]

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#543; Package x2godesktopsharing. (Thu, 10 Jul 2014 23:25:01 GMT) (full text, mbox, link).


Acknowledgement sent to Mike Gabriel <mike.gabriel@das-netzwerkteam.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Thu, 10 Jul 2014 23:25:02 GMT) (full text, mbox, link).


Message #10 received at 543@bugs.x2go.org (full text, mbox, reply):

From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
To: "Gregory R. Warnes" <greg@warnes.net>, 543@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#543: x2golistdesktops locks up if xwininfo does
Date: Thu, 10 Jul 2014 23:22:13 +0000
[Message part 1 (text/plain, inline)]
Control: tag -1 patch

On  Mi 09 Jul 2014 23:57:09 CEST, Gregory R. Warnes wrote:


> Hi,  my server had a ?weird? file in /tmp/.X11-unix/ for which  
> xwininfo would never return, locking up x2golistdesktops.
>
> The solution is to provide a timeout for the shell call to xwininfo.  
>  This can be accomplished either using the shell command ?timeout?  
> or the Perl IPC::Run module (as described in the first response to  
> http://stackoverflow.com/questions/16918005/time-out-when-using-system-cmd-in-perl).
>
> For my purpose, I?ve used the shell timeout command. Patch below.
>
> -Greg
>
>
> --- /usr/bin/x2golistdesktops	2014-04-03 10:14:22.000000000 -0500
> +++ x2golistdesktops	2014-07-09 16:43:54.000000000 -0500
> @@ -43,7 +43,7 @@
>  	$serv=hostname;
>  }
>
> -my $rsess=`x2golistsessions x2goserver |grep _stR`;
> +my $rsess=`timeout 1s x2golistsessions x2goserver |grep _stR`;
>  my @rsess=split("\n","$rsess");
>  my @rdisplays;
>  for (my $i=0;$i<@rsess;$i++)
> @@ -67,7 +67,7 @@
>  	$checkdisp="${checkdisp}I";
>  	if (!( $rdisp =~ m/$checkdisp/ ))
>  	{
> -		my $inf=`xwininfo -root -display $display 2> /dev/null`;
> +		my $inf=`timeout 1s xwininfo -root -display $display 2> /dev/null`;
>  		if ( $inf=~ m/geometry/)
>  		{
>  			print "$uname\@$display\n";
> @@ -88,4 +88,4 @@
>  }
>
>  # closing syslog
> -closelog;
> \ No newline at end of file
> +closelog;
> w

The glorious question here is, actually: Why does xwininfo hang in the  
first place?

Mike
-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
[Message part 2 (application/pgp-signature, inline)]

Added tag(s) patch. Request was from Mike Gabriel <mike.gabriel@das-netzwerkteam.de> to 543-submit@bugs.x2go.org. (Thu, 10 Jul 2014 23:25:02 GMT) (full text, mbox, link).


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#543; Package x2godesktopsharing. (Fri, 11 Jul 2014 11:40:01 GMT) (full text, mbox, link).


Acknowledgement sent to Mike Gabriel <mike.gabriel@das-netzwerkteam.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Fri, 11 Jul 2014 11:40:02 GMT) (full text, mbox, link).


Message #17 received at 543@bugs.x2go.org (full text, mbox, reply):

From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
To: 543-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 543@bugs.x2go.org
Subject: X2Go issue (in src:x2goserver) has been marked as pending for release
Date: Fri, 11 Jul 2014 13:39:31 +0200 (CEST)
tag #543 pending
fixed #543 4.0.1.16
thanks

Hello,

X2Go issue #543 (src:x2goserver) reported by you has been
fixed in X2Go Git. You can see the changelog below, and you can
check the diff of the fix at:

    http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=ce5bf88

The issue will most likely be fixed in src:x2goserver (4.0.1.16).

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
commit ce5bf882ff1e0cf9b603c25b7711c07f6a350ffc
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Date:   Fri Jul 11 13:38:21 2014 +0200

    Silently timeout in x2golistdesktops if calls to x2golistsessions and/or xwininfo don't produce output within one second. (Fixes: #543).

diff --git a/debian/changelog b/debian/changelog
index 350f67d..498a41a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -54,6 +54,8 @@ x2goserver (4.0.1.16-0x2go1) UNRELEASED; urgency=low
     - Make x2goruncommand more robust.
     - Don't fail Xsession startup if any of the profile scripts returns
       with an error.
+    - Silently timeout in x2golistdesktops if calls to x2golistsessions and/or
+      xwininfo don't produce output within one second. (Fixes: #543).
   * debian/control, x2goserver.spec:
     + Update versioned D: x2goagent (>= 3.5.0.25). This assures that X2Go
       works with poly-instantiated /tmp directories.


Added tag(s) pending. Request was from Mike Gabriel <mike.gabriel@das-netzwerkteam.de> to control@bugs.x2go.org. (Fri, 11 Jul 2014 11:40:02 GMT) (full text, mbox, link).


Marked as fixed in versions 4.0.1.16. Request was from Mike Gabriel <mike.gabriel@das-netzwerkteam.de> to control@bugs.x2go.org. (Fri, 11 Jul 2014 11:40:02 GMT) (full text, mbox, link).


Message sent on to "Gregory R. Warnes" <greg@warnes.net>:
Bug#543. (Fri, 11 Jul 2014 11:40:03 GMT) (full text, mbox, link).


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#543; Package x2godesktopsharing. (Thu, 25 Sep 2014 22:45:12 GMT) (full text, mbox, link).


Acknowledgement sent to Mike Gabriel <mike.gabriel@das-netzwerkteam.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Thu, 25 Sep 2014 22:45:13 GMT) (full text, mbox, link).


Message #29 received at 543@bugs.x2go.org (full text, mbox, reply):

From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
To: 543-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 543@bugs.x2go.org
Subject: X2Go issue (in src:x2goserver) has been marked as closed
Date: Fri, 26 Sep 2014 00:42:15 +0200 (CEST)
close #543
thanks

Hello,

we are very hopeful that X2Go issue #543 reported by you
has been resolved in the new release (4.0.1.16) of the
X2Go source project »src:x2goserver«.

You can view the complete changelog entry of src:x2goserver (4.0.1.16)
below, and you can use the following link to view all the code changes
between this and the last release of src:x2goserver.

    http://code.x2go.org/gitweb?p=x2goserver.git;a=commitdiff;h=c43b862f2ae0e8980fb7ab5e519d692b07da5a45;hp=98c4f84d83d701823b7887f79d0d9f5ce8233bd4

If you feel that the issue has not been resolved satisfyingly, feel
free to reopen this bug report or submit a follow-up report with
further observations described based on the new released version
of src:x2goserver.

Thanks a lot for contributing to X2Go!!!

light+love
X2Go Git Admin (on behalf of the sender of this mail)

---
X2Go Component: src:x2goserver
Version: 4.0.1.16-0x2go1
Status: RELEASE
Date: Fri, 26 Sep 2014 00:36:32 +0200
Fixes: 122 302 397 406 407 458 468 495 506 511 520 523 524 543 547 558 569 572 573 574 599 605 606 617 619
Changes: 
 x2goserver (4.0.1.16-0x2go1) RELEASED; urgency=low
 .
   [ Mike DePaulo ]
   * New upstream release (4.0.1.16):
     - Make X2Go Server aware of the Openbox desktop environment
       (Command: OPENBOX) (Fixes: #605)
     - Make X2Go Server aware of the IceWM desktop environment
       (Command: ICEWM) (Fixes: #606)
     - Support GNOME Flashback session (GNOME 3.8+) on distro releases such as
       Ubuntu 13.10+ and debian Jessie
       (NOTE: For most users, GNOME Flashback currently will not work.
        This requires that gnome-flashback.session actually be installed. Not
        every Linux distro has it available.
        It also requires that the gnome-session binary not require
        hardware 3D acceleration for said session. Currently, upstream GNOME
        and GNOME 3.8+ in all Linux distros do require this, only 3rd party
        builds do not. See X2Go bug #599 for example.)
       (Thanks Eugene San (eugenesan@gmail.com))
     - Fix launching GNOME 3 Fallback session (GNOME 3.4 & 3.6) on distros other
       than Ubuntu and Debian (Fixes: #599)
     - Fix support for Cinnamon 1.4 (Linux Mint 13) (Fixes: #569)
     - Fix the logic for launching Cinnamon 2.0 and 2.2 (Linux Mint 17).
       (Fixes: #572)
       NOTE: Fixing this bug in x2goserver is not sufficient to make Cinnamon 2.0
       & 2.2 to work properly with X2Go. Bug #150 in nx-libs is still a problem.
       Fixing this bug enables Cinnamon 2.0 and 2.2 to launch to their
       "fallback mode", which has many bugs and missing features when compared to
       "software rendering" mode (cinnamon2d), but is still better than nothing.
   * debian/rules:
     + Improve dh_auto_clean override.
 .
   [ Mike Gabriel ]
   * New upstream version (4.0.1.16):
     - Let x2goversion exit with an error if the X2Go component cannot be
       found.
     - Detect terminated sessions from NX log file. Also interpret a session as
       terminated if terminating just has started.
     - Detect started/starting/resumed/resuming sessions by explicitly scanning
       the NX session log file for those keywords.
     - Interpret NX sessions marked as "aborting session" as (not yet) terminated
       sessions.
     - Provide config option for server-side/global clipboard behaviour in
       x2goagent.options. (Fixes: #506).
     - Be aware of poly-instantiated /tmp directories bind-mounted under
       /tmp-inst. (Fixes: #406).
     - On suspend: Call x2goumount-session before sending SIGHUP to x2goagent.
     - Refuse client communcation if server-side hostname is not set up
       correctly (Fixes: #468).
     - Fix string comparison in x2goumount-session.
     - Fix problems with unmounting shared folders on session suspension/
       termination. Remove extra parentheses from the fusermount execution
       call. (Fixes: #407).
     - Use type -p instead of which in x2goumount-session. Suppress output
       to stdout properly.
     - Use if--then--else--fi during x2goagent resuming in x2goresume-session
       script.
     - More reliably sync the NX session state with the status information in
       the X2Go session DB.
     - x2golistdesktops: Also detect sharable desktop sessions behind abstract
       kernel namespace sockets.
     - Add logcheck rules for X2Go Server. Thanks to Frank Werner for sending
       them in.
     - Correctly use diversions from stderr to stdout in shell commands.
       (Fixes: #520).
     - Don't die if no session state file is found, as it will break X2Go
       completely after upgrading from versions << 4.0.1.16 if sessions
       are still running/suspended during package upgrade.
     - Provide support for client-side choice of clipboard security. (Fixes:
       #524).
     - Use more quotes in x2goruncommand.
     - Detect the exit of rootless applications that forked to background on
       application execution. (Fixes: #122).
     - Make x2goruncommand more robust.
     - Don't fail Xsession startup if any of the profile scripts returns
       with an error.
     - Silently timeout in x2golistdesktops if calls to x2golistsessions and/or
       xwininfo don't produce output within one second. (Fixes: #543).
     - Allow email addresses as login usernames. (Fixes: #573).
     - Abort session startup if env var $USER or $SSH_CLIENT are not set.
       (Fixes: #558).
     - Allow length of username up to 48 characters (was: 32 characters). (Fixes:
       #574).
     - Abort session if env var $HOME is not set or if $HOME contains non-ASCII
       characters. (Fixes: #397).
     - Export XAUTHORITY env var in x2goruncommand to enable privilege upgrade
       for applications started via pkexec. (Fixes: #458).
     - x2gocleansessions: Don't print to stderr if the session state file cannot
       be found. This can happen during session startups. Report to system log
       instead.
     - Don't use Perl package File::ReadBackwards anymore.
     - Fix x2gormforward for 4.0.1.x release series (the X2Go::Log Perl module
       only exists in X2Go Server >= 4.1.0.0, the 4.0.1.x release series has to
       use x2gologlevel.pm in `x2gopath lib`. (Fixes: #617).
     - Pick x2gogetagentstate from 4.1.0.0 release series and adapt to usage
       with X2Go Server 4.0.1.x. (Fixes: #619).
   * debian/control, x2goserver.spec:
     + Update versioned D: x2goagent (>= 3.5.0.25). This assures that X2Go
       works with poly-instantiated /tmp directories.
     + Make sure x2gogetagentstate gets packaged in bin:package x2goserver.
     + Bump Standards: to 3.9.5. No changes needed.
     + Mark x2goserver-pyhoca bin:package as deprecated.
     + Drop D (x2goserver): libfile-readbackwards-perl.
   * x2goserver.spec:
     + Install {libdir}/x2go/x2gormforward into bin:package x2goserver.
     + Drop R (x2goserver): perl(File::ReadBackwards).
 .
   [ Oleksandr Shneyder ]
   * New upstream version (4.0.1.16):
     - x2gostartagent, x2golistsession, x2gosuspend-session and
       x2goresume-session getting agent state from ~/.x2go/C-$SID/state. This
       should help to avoid session damage. Remove nxcleanup. (Fixes: #302,
       #511).
     - Move session file to /tmp/.x2go-$USER. (Fixes: #523).
     - Fix x2gostartagent failures if kbd is not "auto". Remove comma at end of
       options file.
     - Set default value for clipboard to "both" in x2gostartagent and
       x2goresume-session.
     - Clean user SSHD process if connection between server and client lost.
       This should fix error "Global request tcpip-forward failed". (Fixes:
       #495, #547).
 .
   [ Orion Paplowski ]
   * x2goserver.spec:
     + Sync Fedora .spec file with our upstream-provided x2goserver.spec.


Marked Bug as done Request was from Mike Gabriel <mike.gabriel@das-netzwerkteam.de> to control@bugs.x2go.org. (Thu, 25 Sep 2014 22:45:38 GMT) (full text, mbox, link).


Notification sent to "Gregory R. Warnes" <greg@warnes.net>:
Bug acknowledged by developer. (Thu, 25 Sep 2014 22:45:38 GMT) (full text, mbox, link).


Message sent on to "Gregory R. Warnes" <greg@warnes.net>:
Bug#543. (Thu, 25 Sep 2014 22:45:59 GMT) (full text, mbox, link).


Bug archived. Request was from Debbugs Internal Request <owner@bugs.x2go.org> to internal_control@bugs.x2go.org. (Fri, 24 Oct 2014 05:24:02 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Wed Dec 11 13:24:37 2019; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.