X2Go Bug report logs - #1230
x2go fails unhelpfully when a session fails to start

version graph

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

Reported by: "Norman Gray" <gray@nxg.name>

Date: Fri, 27 Oct 2017 17:05:01 UTC

Severity: normal

Tags: pending

Found in version 4.0.1.20

Fixed in version 4.0.1.23

Reply or subscribe to this bug.

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#1230; Package x2goserver. (Fri, 27 Oct 2017 17:05:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Norman Gray" <gray@nxg.name>:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Fri, 27 Oct 2017 17:05:01 GMT) Full text and rfc822 format available.

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

From: "Norman Gray" <gray@nxg.name>
To: submit@bugs.x2go.org
Subject: x2go fails unhelpfully when a session fails to start
Date: Fri, 27 Oct 2017 18:02:20 +0100
Package: x2goserver
Version: 4.0.1.20

When a username is rejected by the 'valid username' test (see separate 
bug report<https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1229>), the 
session doesn't fail, but simply seems to hang, giving no feedback about 
the problem, nor, as far as I can see, reporting anything in the logs.

To reproduce, attempt to log in using a username such as '123x'.  The 
session doesn't complete the setup, leaving the user at a blank screen.

Suggestion: a user-visible error message should be produced, and an 
informative message sent to the system log.

Best wishes,

Norman


-- 
Norman Gray  :  https://nxg.me.uk


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1230; Package x2goserver. (Wed, 01 Nov 2017 09:25:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 01 Nov 2017 09:25:03 GMT) Full text and rfc822 format available.

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

From: Mihai Moldovan <ionic@ionic.de>
To: 1230-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 1230@bugs.x2go.org
Subject: X2Go issue (in src:x2goserver) has been marked as pending for release
Date: Wed, 1 Nov 2017 10:23:25 +0100 (CET)
tag #1230 pending
fixed #1230 4.0.1.21
thanks

Hello,

X2Go issue #1230 (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=80d2f2d

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

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

---
commit 80d2f2d9068f4bcdfeb98cf675a8505301bb7130
Author: Mihai Moldovan <ionic@ionic.de>
Date:   Wed Nov 1 09:34:53 2017 +0100

    x2goserver/bin/x2goresume-session: catch errors while inserting values into database more gracefully. Fixes: #1230.

diff --git a/debian/changelog b/debian/changelog
index b707326..533bd80 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -54,6 +54,8 @@ x2goserver (4.0.1.21-0x2go1) UNRELEASED; urgency=medium
       from a Debian patch.
     - x2goserver/bin/x2goresume-session: backport HOSTNAME changes from
       x2goserver/bin/x2gostartagent.
+    - x2goserver/bin/x2go{resume-session,startagent}: catch errors while
+      inserting values into database more gracefully. Fixes: #1230.
   * x2goserver.spec:
     - Add mandatory perl-generators Build-Requires as per
       https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl


Added tag(s) pending. Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Wed, 01 Nov 2017 09:25:03 GMT) Full text and rfc822 format available.

Marked as fixed in versions 4.0.1.21. Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Wed, 01 Nov 2017 09:25:03 GMT) Full text and rfc822 format available.

Message sent on to "Norman Gray" <gray@nxg.name>:
Bug#1230. (Wed, 01 Nov 2017 09:25:04 GMT) Full text and rfc822 format available.

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1230; Package x2goserver. (Thu, 02 Nov 2017 19:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Thu, 02 Nov 2017 19:10:02 GMT) Full text and rfc822 format available.

Message #22 received at 1230@bugs.x2go.org (full text, mbox):

From: Mihai Moldovan <ionic@ionic.de>
To: Norman Gray <gray@nxg.name>, 1230@bugs.x2go.org
Subject: Re: [X2Go-Dev] x2go fails unhelpfully when a session fails to start
Date: Thu, 2 Nov 2017 20:08:41 +0100
[Message part 1 (text/plain, inline)]
Control: tag -1 -pending
Control: notfixed -1 4.0.1.21

On 10/27/2017 07:02 PM, Norman Gray wrote:
> Package: x2goserver
> Version: 4.0.1.20
> 
> When a username is rejected by the 'valid username' test (see separate 
> bug report<https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1229>), the 
> session doesn't fail, but simply seems to hang, giving no feedback about 
> the problem, nor, as far as I can see, reporting anything in the logs.
> 
> To reproduce, attempt to log in using a username such as '123x'.  The 
> session doesn't complete the setup, leaving the user at a blank screen.
> 
> Suggestion: a user-visible error message should be produced, and an 
> informative message sent to the system log.

I've tried catching errors while inserting values into the database, but it
turns out that doing this is not easily possible, since the current code relies
on brute-force adding of new DB entries and ignoring errors until it succeeds.
If a hard error occurs that will make any insertion fail, of course this will
loop forever.

I'll need to implement something more sophisticated that detects hard errors
which will always lead to failures.



Mihai


[signature.asc (application/pgp-signature, attachment)]

Removed tag(s) pending. Request was from Mihai Moldovan <ionic@ionic.de> to 1230-submit@bugs.x2go.org. (Thu, 02 Nov 2017 19:10:02 GMT) Full text and rfc822 format available.

No longer marked as fixed in versions 4.0.1.21. Request was from Mihai Moldovan <ionic@ionic.de> to 1230-submit@bugs.x2go.org. (Thu, 02 Nov 2017 19:10:02 GMT) Full text and rfc822 format available.

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1230; Package x2goserver. (Wed, 08 Nov 2017 14:10:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 08 Nov 2017 14:10:04 GMT) Full text and rfc822 format available.

Message #31 received at 1230@bugs.x2go.org (full text, mbox):

From: X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>
To: 1230-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 1230@bugs.x2go.org
Subject: X2Go issue (in src:x2goserver) has been marked as closed
Date: Wed, 8 Nov 2017 15:04:46 +0100 (CET)
close #1230
thanks

Hello,

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

You can view the complete changelog entry of src:x2goserver (4.0.1.21)
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=b8cd8ad873763b546632b8b1ee2762e058da75f4;hp=2c504692966fa2ac456961c2fe561f53c33536b5

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.21-0x2go1
Status: RELEASE
Date: Wed, 08 Nov 2017 15:01:58 +0100
Fixes: 1151 1153 1198 1229 1230
Changes:
 x2goserver (4.0.1.21-0x2go1) RELEASED; urgency=medium
 .
   [ Mihai Moldovan ]
   * New upstream version (4.0.1.21):
     - x2goserver/sbin/x2gocleansessions: don't overzealously try to remove old
       nxagent sockets. If the nxagent process already vanished, simply forget
       the remembered session. Otherwise we might delete sockets that have been
       re-assigned to other sessions in the meantime.
     - x2goserver/bin/x2gostartagent: convert X2GO_PORT searching algorithm to
       pure bash and let script fail if no display port is available.
     - x2goserver/sbin/x2gocleansessions: fix syntax error introduced in last
       change to this file.
     - x2goserver/bin/x2gosetkeyboard: make compatible with changes in
       Arctica's nxagent. Also change to an all-bash algorithm. Fixes: #1151.
     - x2goserver/bin/x2gosetkeyboard: fix a typo that caused the script to not
       work properly - with or without Arctica's nx-libs.
     - x2goserver/bin/x2gosetkeyboard: rename ${setxkbcomp_opts} to
       ${setxkbmap_opts}, that's what it really is.
     - x2goserver/bin/x2gosetkeyboard: setxkbmap expects a parameter called
       "-option", but nxagent uses the key "options". Make setxkbmap happy.
     - x2goserver/bin/x2gosetkeyboard: $BASH_REMATCH is tricky, actually fetch
       the first match. In the $BASH_REMATCH array, index 0 contains the *full*
       match, while indices 1+ only contain the partial matches. We're only
       interested in the first partial match.
     - x2goserver/bin/x2gosetkeyboard: only match up the first ending quote
       character in a non-greedy way. This will not support nested quotes
       within values, but we probably don't need this feature anyway.
     - x2goserver/bin/x2gostartagent: try to enable lingering via systemd's
       loginctl utility before calling x2goagent. Fixes: #1198.
     - x2goserver-xsession/etc/Xsession: support Devuan just like Debian, give
       useful error message in case the OS is unknown.
     - x2goserver/bin/x2gostartagent: fetch hostname via "hostname -s" and do
       not rely on the HOSTNAME variable. The latter is only set automatically
       by bash if it's not already part of the environment. We might get
       "garbage" in this way (and one user actually did.)
     - x2goserver/bin/x2golistshadowsessions: whitespace only.
     - x2goserver/sbin/x2gocleansessions: close syslog at program exit.
     - x2goserver/sbin/x2gocleansessions: whitespace only.
     - x2goserver/bin/x2golistshadowsessions: copy and use a few needed utility
       functions from x2gocleansessions.
     - x2goserver/bin/x2golistshadowsessions: mark unavailable functionality
       with FIXME comments.
     - x2goserver-xsession/etc/Xsession: add support for OS RT via
       /etc/os-rt-release (file needs to be created by upstream first, bug
       pending.)
     - x2goserver/{bin/x2golistshadowsessions,
       lib/x2go{dbwrapper.pm,sqlitewrapper.pl}}: backport listshadowsessions*
       DB functions and unmark them as FIXME entries.
     - x2goserver/lib/x2go{sqlitewrapper.pl,utils.pm}: allow arbitrary-length
       user names, user names starting with digits and drop $ as a valid user
       name character. Fixes: #1229.
     - x2goserver/bin/x2goruncommand: use dbus-run-session to start a new dbus
       user session if available. Only for full desktop sessions. Backported
       from a Debian patch.
     - x2goserver/bin/x2goresume-session: backport HOSTNAME changes from
       x2goserver/bin/x2gostartagent.
     - x2goserver/bin/x2go{resume-session,startagent}: catch errors while
       inserting values into database more gracefully. Fixes: #1230.
     - x2goserver/bin/x2gostartagent: write hostname errors to stderr to make
       X2Go Client (and maybe PyHoca?) fail.
     - x2goserver/{bin/x2go{runcommand,suspend-session},
       sbin/x2gocleansessions}: remove hopefully redundant HOSTNAME export
       commands.
     - x2goserver/etc/x2goagent.options: remove file, moved to x2goagent.
     - x2goserver/Makefile: actually unreference x2goagent.options file as
       well.
     - x2goserver/bin/x2go{resume-session,startagent}: revert error catching
       while inserting values into database. The current code structure relies
       on ignoring failures and retrying until an operation succeeded, which
       may eventually happen or just as well may never happen. We need
       something smarter here.
     - x2goserver/bin/x2gostartagent: log x2goagent startup command to syslog
       in debug mode.
   * x2goserver.spec:
     - Add mandatory perl-generators Build-Requires as per
       https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl
     - Correct usage of mime and desktop database upgrade scriptlets and
       dependencies. Fedora mandates to not depend upon shared-mime-info, even
       not for the scriplets. Additionally, FC24 has deprecated usage of the
       mime database update scriptlet and FC25 has deprecated usage of the
       desktop database update scriptlet. (Open)SUSE mandates to pull in
       shared-mime-info and desktop-file-utils as post/postun scriptlet
       dependencies and provides special macros since 11.4. Older versions are
       handled via the usual commands.
     - Simplify systemd usage a bit and make sure that it's restarted on Fedora
       and RHEL-based distros. FIXME: Not enabled by default on FC/RHEL/*SuSE.
     - Use Suggests instead of Recommends, as an even weaker dependency. We can
       live just fine without printing or fmbindings and no functions of the
       x2goserver package as well will be impacted. The DEB control file also
       uses "Suggests" for this.
     - Fix RPM spec syntax error in shared-mime-info dependency section.
     - Fix %{?fedora} macro usage.
     - Add the correct package name to the %posttrans scriptlet, we only need
       it for x2goserver-fmbindings.
     - Make sure that we don't go into branches just because a macro is not
       defined on our platform.
     - Work around a bug in SuSE's mime DB update script...
     - Make sure that there's always at least one (nil) command in the if
       command list.
     - Break older SLES builds on purpose to see what branch is *actually*
       taken. Will be reverted shortly.
     - Fix typo in %if condition (0%?{?fedora} instead of 0%{?fedora}.)
     - Contrary to other information that says "brackets" and consistent with
       RPM's source code, grouping is done via "(" and ")" in conditions.
     - More platform-specific condition fixup.
     - Pull in shared-mime-info as a build requirement only on *SuSE and add
       comment regarding why desktop-file-utils is always needed.
     - Also add a trans(action)-requirement on shared-mime-info for older
       RHEL-based distros.
     - RPM spec does not allow %elif or %elseif, which lead to all weird kinds
       of errors. Split these up into nested conditions.
     - There is no %trans scriptlet, we're using %posttrans, so the dependency
       should be specified as Requires(posttrans) as well.
     - Pull in dbus-run-session if possible. Only available on Fedora, SLE12+
       and OpenSuSE 13+.
     - Pull in x2goagent >= 3.5.0.33 explicitly, first version that reflects
       the x2goagent.options file move.
   * debian/po:
     - Tiny fixup on author name.
   * debian/control:
     - Whitespace fixes.
     - Add BD on dh-systemd. We'll need it for systemd integration.
     - Depend upon dbus for dbus-run-session.
     - Pull in x2goagent >= 3.5.0.33 explicitly, first version that reflects
       the x2goagent.options file move.
   * debian/rules:
     - Call the systemd addon to process and install the systemd service file.
     - Don't fail if we don't have the systemd addon. Systems that don't have
       that will likely not use systemd in the first place.
 .
   [ Martti Pitkänen ]
   * debian/po:
     - Translate DebConf templates to Finnish.
 .
   [ Orion Paplowski ]
   * x2goserver.spec:
     - Requires(post) does not imply Requires, and missing ones on grep and the
       SQLite perl module.
     - Fedora >= 21 and (Open)SUSE >= 11 now allow Recommends.
     - perl(:MODULE_COMPAT...) is only needed for perl modules. Drop from
       x2goserver-printing and x2goserver-xsession.
     - Delete .packlist which may be in different locations.
     - Sort some %files entries.
 .
   [ Mike Gabriel ]
   * New upstream version (4.0.1.21):
     - x2goserver/bin/x2goruncommand: stop exporting LD_LIBRARY_PATH when using
       Arctica's nx-libs and its new Xinerama feature. Fixes: #1153.
     - Make x2goruncommand aware of the LXQt desktop shell.
     - x2goserver/x2gosqlitewrapper.c: fix implicit declaration of execv().
     - x2goserver/: backport x2golistshadowsessions.


Marked Bug as done Request was from X2Go Release Manager X2Go Release Manager <git-admin@x2go.org> to control@bugs.x2go.org. (Wed, 08 Nov 2017 14:10:05 GMT) Full text and rfc822 format available.

Notification sent to "Norman Gray" <gray@nxg.name>:
Bug acknowledged by developer. (Wed, 08 Nov 2017 14:10:05 GMT) Full text and rfc822 format available.

Message sent on to "Norman Gray" <gray@nxg.name>:
Bug#1230. (Wed, 08 Nov 2017 14:10:08 GMT) Full text and rfc822 format available.

Bug reopened Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Wed, 08 Nov 2017 14:45:01 GMT) Full text and rfc822 format available.

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1230; Package x2goserver. (Tue, 09 Jan 2018 23:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Tue, 09 Jan 2018 23:20:02 GMT) Full text and rfc822 format available.

Message #45 received at 1230@bugs.x2go.org (full text, mbox):

From: Mihai Moldovan <ionic@ionic.de>
To: 1230-submitter@bugs.x2go.org
Cc: control@bugs.x2go.org, 1230@bugs.x2go.org
Subject: X2Go issue (in src:x2goserver) has been marked as pending for release
Date: Wed, 10 Jan 2018 00:17:54 +0100 (CET)
tag #1230 pending
fixed #1230 4.0.1.23
thanks

Hello,

X2Go issue #1230 (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=7a76b29

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

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

---
commit 7a76b291ed589775ee5d84c34b677fd621ce6d11
Author: Mihai Moldovan <ionic@ionic.de>
Date:   Thu Jan 4 06:16:51 2018 +0100

    x2goserver/bin/x2go{startagent,resume-session}: use x2gogetfreeport instead of duplicating the same code everywhere. Fixes: #1230.
    
    Also, rely on it returning a valid value and try at most 10 times to
    fetch a usable port value, then error out and make the session startup
    or resumption fail.

diff --git a/debian/changelog b/debian/changelog
index 818e823..f8582d4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -51,6 +51,11 @@ x2goserver (4.0.1.23-0x2go1) UNRELEASED; urgency=medium
       quotes on the lib path line.
     - x2goserver/bin/x2goresume-session: properly randomize first port, just
       like in x2gostartagent.
+    - x2goserver/bin/x2go{startagent,resume-session}: use x2gogetfreeport
+      instead of duplicating the same code everywhere. Fixes: #1230. Also,
+      rely on it returning a valid value and try at most 10 times to fetch a
+      usable port value, then error out and make the session startup or
+      resumption fail.
   * x2goserver.spec:
     - RPMify x2goserver-xsession description.
     - Remove qt4 stuff, we're not using the framework here.


Added tag(s) pending. Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Tue, 09 Jan 2018 23:20:03 GMT) Full text and rfc822 format available.

Marked as fixed in versions 4.0.1.23. Request was from Mihai Moldovan <ionic@ionic.de> to control@bugs.x2go.org. (Tue, 09 Jan 2018 23:20:03 GMT) Full text and rfc822 format available.

Message sent on to "Norman Gray" <gray@nxg.name>:
Bug#1230. (Tue, 09 Jan 2018 23:20:03 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Tue Dec 11 06:46:18 2018; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.