X2Go Bug report logs -
#888
x2gocleansessions suspends resuming sessions
Reported by: Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
Date: Thu, 18 Jun 2015 06:35:01 UTC
Severity: normal
Tags: pending
Found in version 4.1.0.0-0~1281~ubuntu14.04.1
Fixed in version 4.0.1.20
Done: X2Go Release Manager <git-admin@x2go.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>
:
Bug#888
; Package x2goserver
.
(Thu, 18 Jun 2015 06:35:01 GMT) (full text, mbox, link).
Acknowledgement sent
to Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>
.
(Thu, 18 Jun 2015 06:35:02 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Package: x2goserver
Version: 4.1.0.0-0~1281~ubuntu14.04.1
Current workflow of x2gocleansessions:
- read the sessions from database
- loop over this session list
-> check state of session (S,R,...)
-> if state S (suspended) check if session is running
-> if the session that should be suspended in the datase is running then
suspend the session
Unfortunately this leads to the following problem:
If you have many sessions the time between generating the session list
from the database and the "is_running"-checks of sessions at the end of
the list is enough as time window that a user can log in via x2goclient
and getting logged out because x2gocleansessions suspends the now
running/resumed session.
Suggestions to fix:
Reread the state of the session from the database on each iteration of
the session-list-loop to minimize the timeframe between database read
and check execution and use counters like "the check has to be the same
result for the last three "sleep 2"-big-loop-runs of x2gocleansessions"
because the extra seconds don't matter in a valid case of unsuspended
sessions but matter a lot to fix this bug.
--
Kind regards
Florian Wicke
Hetzner Online AG
Industriestr. 25
91710 Gunzenhausen / Germany
Tel: +49 9831 505-187
Fax: +49 9831 505-387
florian.wicke@hetzner.de
www.hetzner.com
Register Court: Registergericht Ansbach, HRB 3204
Management Board: Dipl. Ing. (FH) Martin Hetzner
Chairwoman of the Supervisory Board: Diana Rothhan
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>
:
Bug#888
; Package x2goserver
.
(Sun, 21 Jun 2015 22:15:02 GMT) (full text, mbox, link).
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>
.
(Sun, 21 Jun 2015 22:15:02 GMT) (full text, mbox, link).
Message #10 received at 888@bugs.x2go.org (full text, mbox, reply):
tag #888 pending
fixed #888 4.0.1.20
thanks
Hello,
X2Go issue #888 (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=8592542
The issue will most likely be fixed in src:x2goserver (4.0.1.20).
light+love
X2Go Git Admin (on behalf of the sender of this mail)
---
commit 8592542c60e3499f2037656ba7ad033fe84cc49b
Author: Mihai Moldovan <ionic@ionic.de>
Date: Sun Jun 21 23:28:04 2015 +0200
x2goserver/sbin/x2gocleansessions: give suspended-but-running sessions a grace period of one iteration.
Fixes: #888.
diff --git a/debian/changelog b/debian/changelog
index cb9c2cc..0458a3d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -34,6 +34,8 @@ x2goserver (4.0.1.20-0x2go1) UNRELEASED; urgency=low
%remembered_sessions_status_since_time. Add
%remembered_sessions_status_since_iterations that will come in handy for
the next change.
+ - x2goserver/sbin/x2gocleansessions: give suspended-but-running sessions a
+ grace period of one iteration. Fixes: #888.
* x2goserver.spec:
- Add sudo and logcheck as BuildRequires and Requires. Don't own
directories that are owned by sudo and logcheck. Logcheck is not
Added tag(s) pending.
Request was from Mihai Moldovan <ionic@ionic.de>
to control@bugs.x2go.org
.
(Sun, 21 Jun 2015 22:15:02 GMT) (full text, mbox, link).
Marked as fixed in versions 4.0.1.20.
Request was from Mihai Moldovan <ionic@ionic.de>
to control@bugs.x2go.org
.
(Sun, 21 Jun 2015 22:15:02 GMT) (full text, mbox, link).
Message sent on
to Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
:
Bug#888.
(Sun, 21 Jun 2015 22:15:03 GMT) (full text, mbox, link).
Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>
:
Bug#888
; Package x2goserver
.
(Mon, 22 Jun 2015 09:00:02 GMT) (full text, mbox, link).
Acknowledgement sent
to Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>
.
(Mon, 22 Jun 2015 09:00:02 GMT) (full text, mbox, link).
Message #22 received at 888@bugs.x2go.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Thanks for the fix - but now i get many new messages like:
::: debug ::: user-80-1434961136_stDXFCE_dp24, pid 27944 does not exist,
changing status from to F
It seems that there is something broken for the @sinfo array in general
because he doesn't know about the current status? -> @sinfo[4] in line
256 in x2gocleansessions
The line is:
log_message('debug', "@sinfo[1], pid @sinfo[0] does not exist, changing
status from @sinfo[4] to F");
--
Kind regards
Florian Wicke
Hetzner Online AG
Industriestr. 25
91710 Gunzenhausen / Germany
Tel: +49 9831 505-187
Fax: +49 9831 505-387
florian.wicke@hetzner.de
www.hetzner.com
Register Court: Registergericht Ansbach, HRB 3204
Management Board: Dipl. Ing. (FH) Martin Hetzner
Chairwoman of the Supervisory Board: Diana Rothhan
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>
:
Bug#888
; Package x2goserver
.
(Sun, 20 Nov 2016 15:35:02 GMT) (full text, mbox, link).
Acknowledgement sent
to X2Go Release Manager <git-admin@x2go.org>
:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>
.
(Sun, 20 Nov 2016 15:35:02 GMT) (full text, mbox, link).
Message #27 received at 888@bugs.x2go.org (full text, mbox, reply):
close #888
thanks
Hello,
we are very hopeful that X2Go issue #888 reported by you
has been resolved in the new release (4.0.1.20) of the
X2Go source project »src:x2goserver«.
You can view the complete changelog entry of src:x2goserver (4.0.1.20)
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=71e1e82d82acc718da71301d2fbd67eb0a71ad44;hp=8a494e794402c1b124d861893d649726a9016eb7
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.20-0x2go1
Status: RELEASE
Date: Sun, 20 Nov 2016 12:39:36 +0100
Fixes: 799 812 888 889 903 922 923 985 1065 1068 1073
Changes:
x2goserver (4.0.1.20-0x2go1) RELEASED; urgency=low
.
[ Mike DePaulo ]
* New upstream version (4.0.1.20):
- TERMINAL Session: Add support for qterminal
(Lightweight terminal emulator written in Qt)
- TRINITY: Add support for Q4OS
.
[ Mihai Moldovan ]
* New upstream version (4.0.1.20):
- x2goserver/bin/x2gogetapps: respect NoDisplay and Hidden values, don't
parse the full desktop file if there are non-Desktop Entries groups.
Based on a patch submitted by Jason Alavaliant. Fixes: #812.
- x2goserver/bin/x2gogetapps: do not print spurious newlines.
- Change string "X2go" to "X2Go" where appropriate.
- Add runcommand.d hooks to x2goserver-extensions Makefile.
- x2goserver/bin/x2gosessionlimit: don't iterate over the whole groups
file. Only check the primary and secondary groups as returned by
getgid()/getgroups(). Fixes long delays in session startup on machines
with a gazillion of groups.
- x2goserver/sbin/x2gocleansessions: re-fetch the current sessions' status
before handling it. Using the "cached" value from the initial
x2golistsessions run may be desynchronized with the actual current
value. Avoids a race condition logging users out after they attached to a
session.
- x2goserver/sbin/x2gocleansessions: rename %remembered_sessions_since to
%remembered_sessions_status_since. That's what it really is. Add
comments to further clarify what it's actually doing. Change it to
include a timestamp instead of the "iteration count multiplied by two"
value. Compare timestamps to see if killing hanging nxagent processes is
necessary.
- x2goserver/sbin/x2gocleansessions: rename
%remembered_sessions_status_since to
%remembered_sessions_status_since_time. Add
%remembered_sessions_status_since_iterations that will come in handy for
the next change.
- x2goserver/sbin/x2gocleansessions: give suspended-but-running sessions a
grace period of one iteration. Fixes: #888.
- x2goserver/sbin/x2gocleansessions: fix ugly missing whitespace.
- x2goserver/sbin/x2gocleansessions: move up session status sync a bit,
don't update session state when session has been removed from the
database.
- x2goserver/sbin/x2gocleansessions: unify log messages. Move dangling
line around.
- x2goserver/sbin/x2gocleansessions: whitespace only.
- x2goserver/sbin/x2gocleansessions: also delete entries in the other,
overlooked hashes.
- x2goserver/sbin/x2gocleansessions: move socket and lock file cleanup
into time-based block for finished/failed sessions.
- x2goserver/sbin/x2gocleansessions: add @remembered_finished_sessions
array. Merge with session list as queried from the database (won't
include finished/failed sessions) and remember F-state sessions via this
array. Only delete elements once work on these has been finished.
- x2goserver/sbin/x2gocleansessions: don't add failed/finished sessions to
remembered list if that list already includes them.
- x2goserver/sbin/x2gocleansessions: don't use gmtime (time ()) but merely
time (). The former one returns a formatted date-time string, which
can't be checked by forming a difference. The latter one returns an UNIX
timestamp, which is what we really want... minus leap seconds. Let's
hope this doesn't bite back some time or later...
- x2goserver/sbin/x2gocleansessions: add debugging output to show the
state change when updating the cached state result.
- x2goserver/sbin/x2gocleansessions: only output status refreshing debug
message if the old and new states actually differ. Prevents log spam.
- x2goserver/bin/x2gostartagent: changes to Robert Nowotny's SSH_PORT
patch. Fixes: #922. Use default outgoing interface to determine IP
address. Use the whole range of ${RANDOM}'s pool. Seed it for good
measure. Change the default method to randomization instead of IP-based
initialization. If IP-based initialization was requested but the default
outgoing IP address unavailable, fall back to randomization.
- x2goserver/bin/x2goruncommand: whitespace and comment changes only.
- x2goserver/bin/x2gocleansessions: replace system_capture_stdout_output()
with actual implementation. We don't have that function on the release
branch.
- x2goserver-xsession/etc/Xsession: use /bin/bash explicitly on RedHat-,
Gentoo- and SuSE-based systems. Users might change /bin/sh to point to a
shell like mksh or dash, which do not support the -l or -c flags to
exec. C.f., BGO #575022 (Gentoo.)
- x2goserver/bin/x2gomountdirs: remove blowfish Cipher spec hardcoded for
sshfs mounts. The speed improvement is probably mostly an illusion
(unless talking about high-bandwidth links) and more importantly recent
OpenSSH server versions seem to disable the Blowfish cipher by default,
leading to errors like "Connection reset by peer."
- x2goserver/bin/x2goruncommand: whitespace only.
- x2goserver/sbin/x2gocleansessions: add Perl documentation and --help,
-h, -? and --man options. Fixes: #1065. Also print a usage message on
unknown options.
- x2goserver/man/man8/x2gocleansessions.8: drop obsolete man page.
- x2goserver-xsession/etc/Xsession: fix uname calls when (potentially)
creating session log/error file and add uname call where necessary.
- x2goserver-xsession/etc/Xsession: include hostname in
xsession-x2go-errors file name. Part of #923.
- x2goserver-xsession/etc/Xsession: rotate old log/error file before
appending new data. Fixes: #923.
- x2goserver-xsession/etc/Xsession: fix wrong variable usage.
Fixes: #1073.
- x2goserver/sbin/x2gocleansessions: move in-file POD to end of file,
rather than "commenting" out all the remaining code. Fixes: #1068.
- x2goserver/sbin/x2godbadmin: exit earlier when not finding the required
"x2gouser" user.
* x2goserver.spec:
- Add sudo and logcheck as BuildRequires and Requires. Don't own
directories that are owned by sudo and logcheck. Logcheck is not
available on *SUSE, FC < 20 and RHEL, so for those distros still own the
directories.
- Typo fix in comment: Recommands -> Recommends.
- Fix installation on OpenSUSE 12.3 and higher: has replaced pwdutils with
shadow. Also affects SLE{S,D} 12.
- Add workaround documentation for sudoers on *SUSE 11.
- Add shadow/shadow-utils/pwdutils Requires to x2goserver-printing
sub package.
- Add new dependency on bash.
- Add new dependency on xkeyboard-config to x2goserver. Fixes: #903.
- Add new dependency on perl and the Cwd module to x2goserver-xsession.
Part of #923.
* debian/control:
- Add new dependency on bash.
- Add new dependency on xkb-data to x2goserver.
- Maintainer change in package: X2Go Developers <x2go-dev@lists.x2go.org>.
- Uploaders: add myself. Also, force a rebuild due to the changed
versioning.
- Add new dependency on perl-modules for Cwd. Part of #923.
.
[ Henning Heinold ]
* New upstream version (4.0.1.20):
- x2goserver/sbin/x2godbadmin: remove trailing whitespace.
- x2goserver/sbin/x2godbadmin: revoke all PRIVILEGES before trying to
delete a user on postgres. Fixes: #889.
.
[ Mike Gabriel ]
* debian/x2goserver.preinst:
+ Use proper comment header explaining about preinst script argument
calls (not postinst).
.
[ Robert Nowotny ]
* New upstream version (4.0.1.20):
- x2goserver/bin/x2gostartagent: original patch for SSH_PORT
randomization/IP-based initialization. Submitted as #922.
.
[ Stefan Baur ]
* New upstream version (4.0.1.20):
- x2goserver/bin/x2goruncommand: add the other trinity launcher scripts in
order from newest to oldest. Fixes: #985.
.
[ Tor Perkins ]
* New upstream version (4.0.1.20):
- x2goserver/bin/x2goruncommand: capture x2goruncommand debug output for
x2gofeature X2GO_XSESSION.
.
[ Orion Poplawski ]
* New upstream version (4.0.1.20):
- x2goserver/bin/x2golistdesktops: drop -u parameter to ss. Fixes: #799.
We would filter out UDP sockets later anyway and the combination -lxu is
known to be broken with some versions of iproute2.
Marked Bug as done
Request was from X2Go Release Manager <git-admin@x2go.org>
to control@bugs.x2go.org
.
(Sun, 20 Nov 2016 15:35:03 GMT) (full text, mbox, link).
Notification sent
to Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
:
Bug acknowledged by developer.
(Sun, 20 Nov 2016 15:35:03 GMT) (full text, mbox, link).
Message sent on
to Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
:
Bug#888.
(Sun, 20 Nov 2016 15:35:04 GMT) (full text, mbox, link).
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.x2go.org>
to internal_control@bugs.x2go.org
.
(Mon, 19 Dec 2016 06:24:02 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
X2Go Developers <owner@bugs.x2go.org>.
Last modified:
Tue Dec 3 17:19:27 2024;
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.