Hello list,
server: Debian testing 4.1.0.3-5 client: Debian testing 4.1.2.2-2
Since this morning I get this (large) error message on *all* clients, connecting to *one* particular server that has worked for many years. I have another server, same OS, same version: no problem. The problem occurs when connecting to this perticular server. AFAIUK there has been no recent update for x2go in Debian testing.
I removed all user x2go files, I removed x2go files in /var/lib/ and finally I purged the whole package, ran "apt autoremove" and purged all packages status "rc". Then I reinstalled the x2goserver: same problem. I fear it is some other package that messes up the functionality. Anyone a hint where to start?
This is the message (sorry, it's bit a mess):
Connection failed. /usr/lib/x2go/x2gocheckport: line 125: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. /usr/lib/x2go/x2gocheckport: line 58: /dev/fd/62: No such file or directory /usr/lib/x2go/x2gocheckport: line 87: /dev/fd/62: No such file or directory DBD::SQLite::st execute failed: UNIQUE constraint failed: used_ports.port at /usr/share/perl5/X2Go/Server/DB/SQLite3.pm line 330. Unable to find free port or insert new session into database; parameters: hostname (x2go), session name (richard-50-1597218428_stDwmaker_dp24) and port (49985).
-- richard lucassen http://contact.xaq.nl/
On Wed, 12 Aug 2020 12:50:08 +0200 richard lucassen <mailinglists@lucassen.org> wrote:
I had some time to investigate a bit further, this is what I see in syslog:
user.warn: Aug 12 16:56:09 /usr/sbin/x2gocleansessions[5021]: richard-50-1597244167_stDx2go.sh_dp24: state file for this session does not exist: /tmp/.x2go-richard/C-richard-50-1597244167_stDx2go.sh_dp24/state (this can be ignored during session startups) user.warn: Aug 12 16:56:09 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 1). user.warn: Aug 12 16:56:10 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 2). user.warn: Aug 12 16:56:10 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 3). user.warn: Aug 12 16:56:11 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 4). user.warn: Aug 12 16:56:12 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 5).
-- richard lucassen http://contact.xaq.nl/
Am 12.08.20 um 16:58 schrieb richard lucassen:
On Wed, 12 Aug 2020 12:50:08 +0200 richard lucassen <mailinglists@lucassen.org> wrote:
I had some time to investigate a bit further, this is what I see in syslog:
user.warn: Aug 12 16:56:09 /usr/sbin/x2gocleansessions[5021]: richard-50-1597244167_stDx2go.sh_dp24: state file for this session does not exist: /tmp/.x2go-richard/C-richard-50-1597244167_stDx2go.sh_dp24/state (this can be ignored during session startups) user.warn: Aug 12 16:56:09 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 1). user.warn: Aug 12 16:56:10 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 2). user.warn: Aug 12 16:56:10 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 3). user.warn: Aug 12 16:56:11 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 4). user.warn: Aug 12 16:56:12 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 5).
Hmm, could this be a disk full / read-only mount issue, or maybe a hung/stuck NFS mount somewhere? Or an issue with "private tmp"?
The sessions database is at /var/lib/x2go/x2go_sessions if you're using SQLite (the default). So you might want to check if that file exists, how large it is, what its ownership/permissions are, and how much disk space is available at its mountpoint.
Kind Regards, Stefan Baur
-- BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
On Wed, 12 Aug 2020 17:36:09 +0200 Stefan Baur <X2Go-ML-1@baur-itcs.de> wrote:
16:56:12 /usr/bin/x2gostartagent: unable to insert port into database. Retrying (run 5).
Hmm, could this be a disk full / read-only mount issue, or maybe a hung/stuck NFS mount somewhere? Or an issue with "private tmp"?
No NFS, I purged everything and the db file is created:
ls -al /var/lib/x2go/ total 52 drwxrwx--- 2 x2gouser x2gouser 4096 Aug 12 16:22 . drwxr-xr-x 41 root root 4096 Feb 20 10:37 .. -rw-rw---- 1 root x2gouser 40960 Aug 12 16:22 x2go_sessions
Compared to the working server this is correct.
The sessions database is at /var/lib/x2go/x2go_sessions if you're using SQLite (the default). So you might want to check if that file exists, how large it is, what its ownership/permissions are, and how much disk space is available at its mountpoint.
$ df / Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 32765712 13929784 17141824 45% /
$ df -i / Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 2097152 286285 1810867 14% /
The database is created at install, has the right permissions but is empty:
# sqlite3 /var/lib/x2go/x2go_sessions SQLite version 3.32.3 2020-06-18 14:00:33 Enter ".help" for usage hints. sqlite> .tables messages mounts sessions used_ports user_messages sqlite> SELECT * FROM used_ports; sqlite> SELECT * FROM user_messages; sqlite> SELECT * FROM sessions; sqlite> SELECT * FROM mounts; sqlite> SELECT * FROM messages; sqlite> INSERT INTO messages ('mess_id', 'message') VALUES ('1','test'); sqlite> SELECT * FROM messages; 1|test sqlite> DELETE FROM messages WHERE mess_id = '1'; sqlite> SELECT * FROM messages; sqlite> .q
So, nothing wrong with the database IMHO
# grep x2gouser /etc/group x2gouser:x:117: (same as on working server)
I'm a bit confused now...
Is there a way to output debug info to syslog on Debian packages?
R.
-- richard lucassen http://contact.xaq.nl/
On Wed, 12 Aug 2020 20:02:10 +0200 richard lucassen <mailinglists@lucassen.org> wrote:
The database is accessed:
# stat /var/lib/x2go/x2go_sessions File: /var/lib/x2go/x2go_sessions Size: 40960 Blocks: 88 IO Block: 4096 regular file Device: 803h/2051d Inode: 525816 Links: 1 Access: (0660/-rw-rw----) Uid: ( 0/ root) Gid: ( 117/x2gouser) Access: 2020-08-12 12:40:59.375820526 +0200 Modify: 2020-08-12 20:06:42.132981042 +0200 Change: 2020-08-12 20:06:42.132981042 +0200 Birth: -
-- richard lucassen http://contact.xaq.nl/
On Wed, 12 Aug 2020 20:02:10 +0200 richard lucassen <mailinglists@lucassen.org> wrote:
Is there a way to output debug info to syslog on Debian packages?
Yes, in /etc/x2go/x2goserver.conf
This is what I found in syslog:
-- richard lucassen http://contact.xaq.nl/
On Wed, 12 Aug 2020 20:18:35 +0200 richard lucassen <mailinglists@lucassen.org> wrote:
On Wed, 12 Aug 2020 20:02:10 +0200 richard lucassen <mailinglists@lucassen.org> wrote:
Is there a way to output debug info to syslog on Debian packages?
Yes, in /etc/x2go/x2goserver.conf
This is what I found in syslog:
Sometimes I get a message "running session", but resuming and reconnect ends in the same error. One weird thing is that the logs say that it cannot store the port into the database, but in fact the port is in the database (port 58921):
# echo "SELECT * FROM used_ports;" | sqlite3 /var/lib/x2go/x2go_sessions x2go|richard-50-1597256020_stDx2go.sh_dp24|51762 x2go|richard-50-1597256020_stDx2go.sh_dp24|58921
R.
-- richard lucassen http://contact.xaq.nl/
On Wed, 12 Aug 2020 20:02:10 +0200 richard lucassen <mailinglists@lucassen.org> wrote:
The error window on the client:
-- richard lucassen http://contact.xaq.nl/
On Wed, 12 Aug 2020 17:36:09 +0200 Stefan Baur <X2Go-ML-1@baur-itcs.de> wrote:
Hmm, could this be a disk full / read-only mount issue, or maybe a hung/stuck NFS mount somewhere? Or an issue with "private tmp"?
There is definitely something terribly wrong with this box. E.g.: I'm missing the link /dev/fd to /proc/self/fd. When I add the link manually (normally udev is in charge of this AFAIK) the x2go session starts, but cannot be terminated or suspended. There must be some bitrot somewhere.
R.
-- richard lucassen https://contact.xaq.nl/