Старый друг - лучше новых двух (тут трется воскресший freenx-server)

Модераторы: dimbor, Модераторы разделов

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Это не очень понятное поведение. На 16.04 после обновления из гит сразу же так стало.
На 19.04 вроде поднималось, но я упрямый, я еще раз обновил и переставил, вот после этого работать наконец перестало.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

А файлы все измененные обновил? Ну если у тебя не выйдет понять, буду сам под убунтой пробовать.
Добавлено (14:03):
А она совсем падает, или какие процессы остаются?
Добавлено (14:14):
Еще одно отличие вспомнил: В процессе restore клиенту теперь не передается 'NX> 1005 Session status: suspended', а раньше передавалось. Посмотрел, opennx его вроде не обрабатывает, nxclient-у тоже пофигу. А свою вундервафлю ты зажал.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Да, конечно, скриптом обновляю из гит, собираю пакет и устанавливаю его.
Сессия поднимается, даже успевает что-то показать на экране, а потом опять уходит в суспенд.

Перезагрузил виртуалку, один раз поднялось, второй раз уже нет.
При проверке ушла ли сессия в суспенд выловил еще вот это.
Spoiler
NX> 100 NXSERVER - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 127 Sessions list:

Server Display Username Remote IP Session ID
------ ------- --------------- --------------- --------------------------------
/usr/share/freenx-server/nxfuncs: строка 97: /proc//fd/0: Нет такого файла или каталога
/usr/share/freenx-server/nxfuncs: строка 99: /proc//fd/1: Нет такого файла или каталога
NX> 999 Bye
root@addm-VirtualBox:/home/addm# nxserver --list
NX> 100 NXSERVER - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 127 Sessions list:

Server Display Username Remote IP Session ID
------ ------- --------------- --------------- --------------------------------
NX> 999 Bye
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

dimbor писал:
18.03.2020 14:02
Еще одно отличие вспомнил: В процессе restore клиенту теперь не передается 'NX> 1005 Session status: suspended', а раньше передавалось. Посмотрел, opennx его вроде не обрабатывает, nxclient-у тоже пофигу. А свою вундервафлю ты зажал.
Так в логе nxclient вот это:
NX> 718 Session restore succeded
Connection to 192.168.10.229 closed by remote host.

А в моей поделке много чего не сделано, в частности восстановление сессий. И с гуями в голанг туго, много кода надо ручками делать :(

12:27:29.011: /usr/bin/nxnode (13368): run nxnode with PARAMS:"--startsession"; CMDLINE='&virtualdesktop=1&application=startxfce4&link=adsl&backingstore=1&encryption=1&cache=8M&images=32M&shmem=1&shpix=1&strict=0&composite=1&media=0&session=server2-wg&type=unix-application&geometry=1914x1011&client=winnt&keyboard=pc102/en_US&screeninfo=1914x1011x32+render&clientproto=3.5.0&login_method=SU&user=addm&userip=172.21.21.2&session_id=A5BF81A6282A3F8AEEB77EF58D647A0D&display=3003&host=127.0.0.1'

12:28:30.310: /usr/bin/nxnode (14189): run nxnode with PARAMS:"--resumesession"; CMDLINE='&virtualdesktop=1&application=startxfce4&link=adsl&backingstore=1&encryption=1&cache=8M&images=32M&shmem=1&shpix=1&strict=0&composite=1&media=0&session=server2-wg&type=unix-application&geometry=1914x1011&client=winnt&keyboard=pc102/en_US&session_id=A5BF81A6282A3F8AEEB77EF58D647A0D&virtualdesktop=1&resize=1&display=3003&clientproto=3.5.0&login_method=SU&user=addm&userip=172.21.21.2&display=3003&status=Suspended'
Последний раз редактировалось Djelf 18.03.2020 14:36, всего редактировалось 1 раз.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Djelf писал:
18.03.2020 14:17
Да, конечно, скриптом обновляю из гит, собираю пакет и устанавливаю его.
Мог бы скачивать. Я его тоже обновляю.
Djelf писал:
18.03.2020 14:17
/usr/share/freenx-server/nxfuncs: строка 97: /proc//fd/0: Нет такого файла или каталога
/usr/share/freenx-server/nxfuncs: строка 99: /proc//fd/1: Нет такого файла или каталога
А это уныло. Сбоит поднятие самопальной хреновины, которую я обозвал dbe. Отдельный инстанс, где висит sqlite. Сильно хитрый, со своими лок-файлами в /tmp. Два дня его отлаживал и радовался потом, что могу про него забыть. До сего момента. Ну значит буду опять мучить на убунте.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Выше выделил отличия.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Djelf писал:
18.03.2020 14:37
Выше выделил отличия.
А может быть косяк...
Попробуй в 1306 nxnode условие убрать и оставить accept="127.0.0.1".
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

dimbor писал:
18.03.2020 14:54
Попробуй в 1306 nxnode условие убрать и оставить accept="127.0.0.1".
Не помогло.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Починил, пробуй. Но чинил не то, что ты описывал. Или у меня с пониманием проблемы.

Когда сеанс поднимался, суспендился, восстанавливался, в оконцовке статус в базе не менялся на Running. И при повторном запуске того же сеанса не поднимался, а загонял первый опять в суспенд. (Там точно триггер на HUP в агенте).
Добавлено (08:03):
Под 16 убнтой пробовал, работает. Ужасов с dbe не видел. Не знаю, как воспроизвести этот кошмар.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

dimbor писал:
19.03.2020 08:01
Починил, пробуй. Но чинил не то, что ты описывал. Или у меня с пониманием проблемы.

Когда сеанс поднимался, суспендился, восстанавливался, в оконцовке статус в базе не менялся на Running. И при повторном запуске того же сеанса не поднимался, а загонял первый опять в суспенд. (Там точно триггер на HUP в агенте).
Djelf писал:
18.03.2020 14:17
Сессия поднимается, даже успевает что-то показать на экране, а потом опять уходит в суспенд.
Кажется я про суспенд и писал :huh:

Увы, опять фигвам (на двух разных серверах, на живом 16.04 и в виртуалке на 19.04).
Spoiler
NX> 148 Server capacity: not reached for user: addm
[19.03 09:51:29.450:7893/7893] NX> 105[19.03 09:51:32.547] [19.03 09:51:32.554:7893/7893] restoresession --virtualdesktop="1" --application="startxfce4" --link="adsl" --backingstore="1" --encryption="1" --cache="16M" --images="64M" --shmem="1" --shpix="1" --strict="0" --composite="1" --media="0" --session="192.168.10.229" --type="unix-application" --geometry="1914x1011" --client="winnt" --keyboard="pc102/en_US" --id="8E5A056DF049B2B817471DBBCE060E26" --virtualdesktop="1" --resize="1"

NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[19.03 09:51:32.865:7893/8143] server_nxnode_echo >&1: NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 1009 Session status: resuming
[19.03 09:51:32.927:7893/8143] server_nxnode_echo >&1: NX> 1009 Session status: resuming
NX> 700 Session id: addm-VirtualBox-3001-8E5A056DF049B2B817471DBBCE060E26
NX> 705 Session display: 3001
NX> 703 Session type: unix-application
NX> 701 Proxy cookie: 0949799458bd57991a24207a6994a516
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: 0949799458bd57991a24207a6994a516
NX> 704 Session cache: unix-application
NX> 707 SSL tunneling: 1
NX> 710 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
[19.03 09:51:32.929:7893/8143] server_nxnode_echo >&1: NX> 700 Session id: addm-VirtualBox-3001-8E5A056DF049B2B817471DBBCE060E26
[19.03 09:51:32.930:7893/8143] server_nxnode_echo >&1: NX> 705 Session display: 3001
[19.03 09:51:32.932:7893/8143] server_nxnode_echo >&1: NX> 703 Session type: unix-application
[19.03 09:51:32.934:7893/8143] server_nxnode_echo >&1: NX> 701 Proxy cookie: 0949799458bd57991a24207a6994a516
[19.03 09:51:32.935:7893/8143] server_nxnode_echo >&1: NX> 702 Proxy IP: 127.0.0.1
[19.03 09:51:32.937:7893/8143] server_nxnode_echo >&1: NX> 706 Agent cookie: 0949799458bd57991a24207a6994a516
[19.03 09:51:32.938:7893/8143] server_nxnode_echo >&1: NX> 704 Session cache: unix-application
[19.03 09:51:32.940:7893/8143] server_nxnode_echo >&1: NX> 707 SSL tunneling: 1
[19.03 09:51:32.942:7893/8143] server_nxnode_echo >&1: NX> 710 Session status: running
[19.03 09:51:32.943:7893/8143] server_nxnode_echo >&1: NX> 1002 Commit
[19.03 09:51:32.945:7893/8143] server_nxnode_start_wait: set status 8E5A056DF049B2B817471DBBCE060E26: Running
[19.03 09:51:32.946:7893/7893] NX> 105[19.03 09:51:32.948:7893/8143] server_nxnode_echo >&2: NX> 1006 Session status: running
[19.03 09:51:32.974:7893/7893] bye
[19.03 09:51:32.975:7893/7893] Bye
[19.03 09:51:32.977:7893/7893] NX> 999 Bye
NX> 718 Session restore succeded
[19.03 09:51:37.684:7893/8143] server_nxnode_echo >&2: NX> 718 Session restore succeded
NX> 1001 Bye.
[19.03 09:51:37.694:7893/8143] server_nxnode_start_wait: nxnode finished (1001) on display 3001
[19.03 09:51:37.706:7893/8139] server_nxnode_start_wait: --resumesession end on display 3001
NX> 1009 Session status: suspending
[19.03 09:51:37.786:7259/7359] server_nxnode_start_wait: set status 8E5A056DF049B2B817471DBBCE060E26: Suspending
[19.03 09:51:53.550:7893/7893] Session stage: proxy display finished rc=0
NX> 1005 Session status: suspended
[19.03 09:51:53.747:7259/7359] server_nxnode_start_wait: session suspend 8E5A056DF049B2B817471DBBCE060E26
Ну и сессия залипает на сервере, как запущенная, клиент ее не видит, а поднять новую ему не дает сервер.
Spoiler
NX> 203 NXSSH running with pid: 34328
NX> 285 Enabling check on switch command
NX> 285 Enabling skip of SSH config files
NX> 285 Setting the preferred NX options
NX> 200 Connected to address: 192.168.10.229 on port: 22
NX> 202 Authenticating user: nx
NX> 208 Using auth method: publickey
HELLO NXSERVER - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 105 hello NXCLIENT - Version 3.5.0
NX> 134 Accepted protocol: 3.5.0
NX> 105 SET SHELL_MODE SHELL
NX> 105 SET AUTH_MODE PASSWORD
NX> 105 login
NX> 101 User: addm
NX> 102 Password:
NX> 103 Welcome to: addm-VirtualBox user: addm
NX> 105 listsession --user="addm" --status="suspended,running" --geometry="1920x1080x32+render" --type="unix-application"
NX> 127 Sessions list of user 'addm' for reconnect:

Display Type Session ID Options Depth Screen Status Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------


NX> 148 Server capacity: not reached for user: addm
NX> 105 startsession --virtualdesktop="1" --application="startxfce4" --link="adsl" --backingstore="1" --encryption="1" --cache="16M" --images="64M" --shmem="1" --shpix="1" --strict="0" --composite="1" --media="0" --session="192.168.10.229" --type="unix-application" --geometry="1914x1011" --client="winnt" --keyboard="pc102/en_US" --screeninfo="1914x1011x32+render"

NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 500 Error: Fatal - Missing parameter session id.
NX> 280 Exiting on signal: 15
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Так у тебя nxserver старый. По крайней мере, логи ты мне шлешь от старого. С новым должно быть при restore:

Код: Выделить всё

...
[19.03 11:45:25.146:26738/26990] server_nxnode_echo >&1: NX> 710 Session status: running
[19.03 11:45:25.149:26738/26990] server_nxnode_echo >&1: NX> 1002 Commit
[19.03 11:45:25.152:26738/26990] server_nxnode_start_wait: set status 20B8476BA59C72400A3C7288889EF872: Running
[19.03 11:45:25.153:26738/26738] NX> 105[19.03 11:45:25.157:26738/26990] server_nxnode_echo >&2: NX> 1006 Session status: running
[19.03 11:45:25.157:26738/26738] bye
[19.03 11:45:25.159:26738/26738] Bye
[19.03 11:45:25.162:26738/26738] NX> 999 Bye
...
Лог такой же. Не знаю, в чем дело.
Добавлено (12:01):
А в sessions.sq3 какой статус остается ? На убунте все работает, не могу воспроизвести вообще.
Добавлено (12:10):
Рекомендую еще перед тестами прибить все старые процессы nx* и sqlite3. Они могут лочить базу.
Добавлено (12:46):
Есть еще "зона риска" в ~4-5 секунд (у меня). Примерно через столько HUP-ается или завершается nxagent, и через столько после команды в базе появится Suspended или Finished. Если в это время стартовать еще что-то, будет весело.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Перед реконнектом я сначала проверяю ушла ли сессия в суспенд.
Надо подумать, может стоит клиента в это время посылать нафиг? Во избежание...

Удалось один раз поднять сессию. Но во второй раз она опять ушла в отказ.
Попробуй несколько раз подряд загонять в суспенд, может поймаешь.
Spoiler
[19.03 13:32:14.944:16110/16110] -- NX SERVER START: -c /usr/bin/nxserver - ORIG_COMMAND=
[19.03 13:32:14.947:16110/16110] HELLO NXSERVER - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[19.03 13:32:14.949:16110/16110] NX> 105[19.03 13:32:15.009:16110/16110] hello NXCLIENT - Version 3.5.0
[19.03 13:32:15.011:16110/16110] NX> 134 Accepted protocol: 3.5.0
[19.03 13:32:15.013:16110/16110] NX> 105[19.03 13:32:15.014:16110/16110] SET SHELL_MODE SHELL
[19.03 13:32:15.015:16110/16110] NX> 105[19.03 13:32:15.017:16110/16110] SET AUTH_MODE PASSWORD
[19.03 13:32:15.018:16110/16110] NX> 105[19.03 13:32:15.019:16110/16110] login
[19.03 13:32:15.021:16110/16110] NX> 101 User:[19.03 13:32:15.137:16110/16110] addm
[19.03 13:32:15.139:16110/16110] NX> 102 Password:
[19.03 13:32:15.247:16110/16110] Info: Auth method:[19.03 13:32:15.249:16110/16110] su
[19.03 13:32:15.271:16110/16110] NX> 103 Welcome to: addm-VirtualBox user: addm
[19.03 13:32:15.278:16110/16110] NX> 105[19.03 13:32:15.368:16110/16110] listsession --user="addm" --status="suspended,running" --geometry="1920x1080x32+render" --type="unix-application"
NX> 127 Sessions list of user 'addm' for reconnect:

Display Type Session ID Options Depth Screen Status Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------


NX> 148 Server capacity: not reached for user: addm
[19.03 13:32:15.385:16110/16110] NX> 105[19.03 13:32:18.643] [19.03 13:32:18.645:16110/16110] startsession --virtualdesktop="1" --application="startxfce4" --link="adsl" --backingstore="1" --encryption="1" --cache="16M" --images="64M" --shmem="1" --shpix="1" --strict="0" --composite="1" --media="0" --session="192.168.10.229" --type="unix-application" --geometry="1914x1011" --client="winnt" --keyboard="pc102/en_US" --screeninfo="1914x1011x32+render"

[19.03 13:32:18.666:16110/16110] &virtualdesktop=1&application=startxfce4&link=adsl&backingstore=1&encryption=1&cache=16M&images=64M&shmem=1&shpix=1&strict=0&composite=1&media=0&session=192.168.10.229&type=unix-application&geometry=1914x1011&client=winnt&keyboard=pc102/en_US&screeninfo=1914x1011x32+render&clientproto=3.5.0&login_method=SU&user=addm&userip=192.168.10.215&session_id=30A0F6C178FD199D40BE50CCA1CC8334&display=3004&host=127.0.0.1
NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[19.03 13:32:18.796:16110/16205] server_nxnode_echo >&1: NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 1009 Session status: starting
NX> 700 Session id: addm-VirtualBox-3004-30A0F6C178FD199D40BE50CCA1CC8334
NX> 705 Session display: 3004
NX> 703 Session type: unix-application
NX> 701 Proxy cookie: 4339b164afa661b1599b4d51af9fcaa2
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: 4339b164afa661b1599b4d51af9fcaa2
NX> 704 Session cache: unix-application
NX> 707 SSL tunneling: 1
NX> 710 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
[19.03 13:32:18.885:16110/16205] server_nxnode_echo >&1: NX> 1009 Session status: starting
[19.03 13:32:18.887:16110/16205] server_nxnode_echo >&1: NX> 700 Session id: addm-VirtualBox-3004-30A0F6C178FD199D40BE50CCA1CC8334
[19.03 13:32:18.889:16110/16205] server_nxnode_echo >&1: NX> 705 Session display: 3004
[19.03 13:32:18.891:16110/16205] server_nxnode_echo >&1: NX> 703 Session type: unix-application
[19.03 13:32:18.893:16110/16205] server_nxnode_echo >&1: NX> 701 Proxy cookie: 4339b164afa661b1599b4d51af9fcaa2
[19.03 13:32:18.895:16110/16205] server_nxnode_echo >&1: NX> 702 Proxy IP: 127.0.0.1
[19.03 13:32:18.896:16110/16205] server_nxnode_echo >&1: NX> 706 Agent cookie: 4339b164afa661b1599b4d51af9fcaa2
[19.03 13:32:18.897:16110/16205] server_nxnode_echo >&1: NX> 704 Session cache: unix-application
[19.03 13:32:18.899:16110/16205] server_nxnode_echo >&1: NX> 707 SSL tunneling: 1
[19.03 13:32:18.902:16110/16205] server_nxnode_echo >&1: NX> 710 Session status: running
[19.03 13:32:18.904:16110/16205] server_nxnode_echo >&1: NX> 1002 Commit
[19.03 13:32:18.908:16110/16110] NX> 105[19.03 13:32:18.907:16110/16205] server_nxnode_start_wait: set status 30A0F6C178FD199D40BE50CCA1CC8334: Running
[19.03 13:32:18.912:16110/16205] server_nxnode_echo >&2: NX> 1006 Session status: running
[19.03 13:32:18.969:16110/16110] bye
[19.03 13:32:18.971:16110/16110] Bye
[19.03 13:32:18.973:16110/16110] NX> 999 Bye
NX> 1009 Session status: suspending
[19.03 13:32:32.672:16110/16205] server_nxnode_start_wait: set status 30A0F6C178FD199D40BE50CCA1CC8334: Suspending
[19.03 13:32:43.455:16110/16110] Session stage: proxy display finished rc=0
NX> 1005 Session status: suspended
[19.03 13:32:43.653:16110/16205] server_nxnode_start_wait: session suspend 30A0F6C178FD199D40BE50CCA1CC8334
[19.03 13:32:54.263:16873/16873] -- NX SERVER START: -c /usr/bin/nxserver - ORIG_COMMAND=
[19.03 13:32:54.266:16873/16873] HELLO NXSERVER - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[19.03 13:32:54.268:16873/16873] NX> 105[19.03 13:32:54.287:16873/16873] hello NXCLIENT - Version 3.5.0
[19.03 13:32:54.290:16873/16873] NX> 134 Accepted protocol: 3.5.0
[19.03 13:32:54.292:16873/16873] NX> 105[19.03 13:32:54.294:16873/16873] SET SHELL_MODE SHELL
[19.03 13:32:54.296:16873/16873] NX> 105[19.03 13:32:54.298:16873/16873] SET AUTH_MODE PASSWORD
[19.03 13:32:54.300:16873/16873] NX> 105[19.03 13:32:54.302:16873/16873] login
[19.03 13:32:54.304:16873/16873] NX> 101 User:[19.03 13:32:54.396:16873/16873] addm
[19.03 13:32:54.398:16873/16873] NX> 102 Password:
[19.03 13:32:54.513:16873/16873] Info: Auth method:[19.03 13:32:54.516:16873/16873] su
[19.03 13:32:54.536:16873/16873] NX> 103 Welcome to: addm-VirtualBox user: addm
[19.03 13:32:54.544:16873/16873] NX> 105[19.03 13:32:54.614:16873/16873] listsession --user="addm" --status="suspended,running" --geometry="1920x1080x32+render" --type="unix-application"
NX> 127 Sessions list of user 'addm' for reconnect:

Display Type Session ID Options Depth Screen Status Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
3004 unix-application 30A0F6C178FD199D40BE50CCA1CC8334 -RD--PSA 32 1914x1011 Suspended 192.168.10.229


NX> 148 Server capacity: not reached for user: addm
[19.03 13:32:54.708:16873/16873] NX> 105[19.03 13:32:57.911] [19.03 13:32:57.913:16873/16873] restoresession --virtualdesktop="1" --application="startxfce4" --link="adsl" --backingstore="1" --encryption="1" --cache="16M" --images="64M" --shmem="1" --shpix="1" --strict="0" --composite="1" --media="0" --session="192.168.10.229" --type="unix-application" --geometry="1914x1011" --client="winnt" --keyboard="pc102/en_US" --id="30A0F6C178FD199D40BE50CCA1CC8334" --virtualdesktop="1" --resize="1"

NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[19.03 13:32:58.123:16873/17124] server_nxnode_echo >&1: NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 1009 Session status: resuming
NX> 700 Session id: addm-VirtualBox-3004-30A0F6C178FD199D40BE50CCA1CC8334
NX> 705 Session display: 3004
NX> 703 Session type: unix-application
NX> 701 Proxy cookie: 4339b164afa661b1599b4d51af9fcaa2
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: 4339b164afa661b1599b4d51af9fcaa2
NX> 704 Session cache: unix-application
NX> 707 SSL tunneling: 1
NX> 710 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
[19.03 13:32:58.193:16873/17124] server_nxnode_echo >&1: NX> 1009 Session status: resuming
[19.03 13:32:58.194:16873/17124] server_nxnode_echo >&1: NX> 700 Session id: addm-VirtualBox-3004-30A0F6C178FD199D40BE50CCA1CC8334
[19.03 13:32:58.195:16873/17124] server_nxnode_echo >&1: NX> 705 Session display: 3004
[19.03 13:32:58.197:16873/17124] server_nxnode_echo >&1: NX> 703 Session type: unix-application
[19.03 13:32:58.198:16873/17124] server_nxnode_echo >&1: NX> 701 Proxy cookie: 4339b164afa661b1599b4d51af9fcaa2
[19.03 13:32:58.200:16873/17124] server_nxnode_echo >&1: NX> 702 Proxy IP: 127.0.0.1
[19.03 13:32:58.201:16873/17124] server_nxnode_echo >&1: NX> 706 Agent cookie: 4339b164afa661b1599b4d51af9fcaa2
[19.03 13:32:58.203:16873/17124] server_nxnode_echo >&1: NX> 704 Session cache: unix-application
[19.03 13:32:58.204:16873/17124] server_nxnode_echo >&1: NX> 707 SSL tunneling: 1
[19.03 13:32:58.206:16873/17124] server_nxnode_echo >&1: NX> 710 Session status: running
[19.03 13:32:58.207:16873/17124] server_nxnode_echo >&1: NX> 1002 Commit
[19.03 13:32:58.209:16873/17124] server_nxnode_start_wait: set status 30A0F6C178FD199D40BE50CCA1CC8334: Running
[19.03 13:32:58.209:16873/16873] NX> 105[19.03 13:32:58.216:16873/17124] server_nxnode_echo >&2: NX> 1006 Session status: running
[19.03 13:32:58.238:16873/16873] bye
[19.03 13:32:58.240:16873/16873] Bye
[19.03 13:32:58.241:16873/16873] NX> 999 Bye
NX> 718 Session restore succeded
[19.03 13:33:02.540:16873/17124] server_nxnode_echo >&2: NX> 718 Session restore succeded
NX> 1001 Bye.
[19.03 13:33:02.559:16873/17124] server_nxnode_start_wait: nxnode finished (1001) on display 3004
[19.03 13:33:02.572:16873/17120] server_nxnode_start_wait: --resumesession end on display 3004
NX> 1009 Session status: suspending
[19.03 13:33:14.167:16110/16205] server_nxnode_start_wait: set status 30A0F6C178FD199D40BE50CCA1CC8334: Suspending
[19.03 13:33:24.914:16873/16873] Session stage: proxy display finished rc=0
NX> 1005 Session status: suspended
[19.03 13:33:25.118:16110/16205] server_nxnode_start_wait: session suspend 30A0F6C178FD199D40BE50CCA1CC8334
[19.03 13:33:35.496:17939/17939] -- NX SERVER START: -c /usr/bin/nxserver - ORIG_COMMAND=
[19.03 13:33:35.498:17939/17939] HELLO NXSERVER - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[19.03 13:33:35.500:17939/17939] NX> 105[19.03 13:33:35.566:17939/17939] hello NXCLIENT - Version 3.5.0
[19.03 13:33:35.569:17939/17939] NX> 134 Accepted protocol: 3.5.0
[19.03 13:33:35.570:17939/17939] NX> 105[19.03 13:33:35.572:17939/17939] SET SHELL_MODE SHELL
[19.03 13:33:35.573:17939/17939] NX> 105[19.03 13:33:35.575:17939/17939] SET AUTH_MODE PASSWORD
[19.03 13:33:35.576:17939/17939] NX> 105[19.03 13:33:35.578:17939/17939] login
[19.03 13:33:35.579:17939/17939] NX> 101 User:[19.03 13:33:35.691:17939/17939] addm
[19.03 13:33:35.696:17939/17939] NX> 102 Password:
[19.03 13:33:35.796:17939/17939] Info: Auth method:[19.03 13:33:35.804:17939/17939] su
[19.03 13:33:35.852:17939/17939] NX> 103 Welcome to: addm-VirtualBox user: addm
[19.03 13:33:35.859:17939/17939] NX> 105[19.03 13:33:35.902:17939/17939] listsession --user="addm" --status="suspended,running" --geometry="1920x1080x32+render" --type="unix-application"
NX> 127 Sessions list of user 'addm' for reconnect:

Display Type Session ID Options Depth Screen Status Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
3004 unix-application 30A0F6C178FD199D40BE50CCA1CC8334 -RD--PSA 32 1914x1011 Suspended 192.168.10.229


NX> 148 Server capacity: not reached for user: addm
[19.03 13:33:36.008:17939/17939] NX> 105[19.03 13:33:39.221] [19.03 13:33:39.228:17939/17939] restoresession --virtualdesktop="1" --application="startxfce4" --link="adsl" --backingstore="1" --encryption="1" --cache="16M" --images="64M" --shmem="1" --shpix="1" --strict="0" --composite="1" --media="0" --session="192.168.10.229" --type="unix-application" --geometry="1914x1011" --client="winnt" --keyboard="pc102/en_US" --id="30A0F6C178FD199D40BE50CCA1CC8334" --virtualdesktop="1" --resize="1"

NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[19.03 13:33:39.486:17939/18190] server_nxnode_echo >&1: NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 1009 Session status: resuming
[19.03 13:33:39.550:17939/18190] server_nxnode_echo >&1: NX> 1009 Session status: resuming
NX> 700 Session id: addm-VirtualBox-3004-30A0F6C178FD199D40BE50CCA1CC8334
NX> 705 Session display: 3004
NX> 703 Session type: unix-application
NX> 701 Proxy cookie: 4339b164afa661b1599b4d51af9fcaa2
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: 4339b164afa661b1599b4d51af9fcaa2
NX> 704 Session cache: unix-application
NX> 707 SSL tunneling: 1
NX> 710 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
[19.03 13:33:39.553:17939/18190] server_nxnode_echo >&1: NX> 700 Session id: addm-VirtualBox-3004-30A0F6C178FD199D40BE50CCA1CC8334
[19.03 13:33:39.554:17939/18190] server_nxnode_echo >&1: NX> 705 Session display: 3004
[19.03 13:33:39.556:17939/18190] server_nxnode_echo >&1: NX> 703 Session type: unix-application
[19.03 13:33:39.558:17939/18190] server_nxnode_echo >&1: NX> 701 Proxy cookie: 4339b164afa661b1599b4d51af9fcaa2
[19.03 13:33:39.559:17939/18190] server_nxnode_echo >&1: NX> 702 Proxy IP: 127.0.0.1
[19.03 13:33:39.561:17939/18190] server_nxnode_echo >&1: NX> 706 Agent cookie: 4339b164afa661b1599b4d51af9fcaa2
[19.03 13:33:39.562:17939/18190] server_nxnode_echo >&1: NX> 704 Session cache: unix-application
[19.03 13:33:39.564:17939/18190] server_nxnode_echo >&1: NX> 707 SSL tunneling: 1
[19.03 13:33:39.565:17939/18190] server_nxnode_echo >&1: NX> 710 Session status: running
[19.03 13:33:39.567:17939/18190] server_nxnode_echo >&1: NX> 1002 Commit
[19.03 13:33:39.569:17939/18190] server_nxnode_start_wait: set status 30A0F6C178FD199D40BE50CCA1CC8334: Running
[19.03 13:33:39.569:17939/17939] NX> 105[19.03 13:33:39.572:17939/18190] server_nxnode_echo >&2: NX> 1006 Session status: running
[19.03 13:33:39.660:17939/17939] bye
[19.03 13:33:39.667:17939/17939] Bye
[19.03 13:33:39.674:17939/17939] NX> 999 Bye
NX> 718 Session restore succeded
[19.03 13:33:43.924:17939/18190] server_nxnode_echo >&2: NX> 718 Session restore succeded
NX> 1009 Session status: suspending
NX> 1001 Bye.
[19.03 13:33:43.937:16110/16205] server_nxnode_start_wait: set status 30A0F6C178FD199D40BE50CCA1CC8334: Suspending
[19.03 13:33:43.937:17939/18190] server_nxnode_start_wait: nxnode finished (1001) on display 3004
[19.03 13:33:43.955:17939/18186] server_nxnode_start_wait: --resumesession end on display 3004
[19.03 13:33:59.702:17939/17939] Session stage: proxy display finished rc=0
NX> 1005 Session status: suspended
[19.03 13:33:59.901:16110/16205] server_nxnode_start_wait: session suspend 30A0F6C178FD199D40BE50CCA1CC8334
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Удалось сделать первое восстановление сессии стабильным, во второй раз, все равно сразу уходит в suspend.
Spoiler
nxserver
# Session stage
while true; do
...
bye|BYE)
echo_x "Bye" 1>&2
echo_x "NX> 999 Bye" 1>&2
if [ "$ENCRYPTION" = "1" ]; then
((proxy_display=display+4000))
$COMMAND_NETCAT $server_host $proxy_display 2>/dev/null; rc=$?
log 6 "Session stage: proxy display finished rc=$rc"
+ #kill $PPID # kill our parent sshd process
+ #exit_proc $rc
+ echo_x "NX> 1001 Bye."
else
echo_x "NX> 1001 Bye."
fi
;;
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Ты абсолютно не там ковыряешь. То что закомментировал, максимум оставит болтаться лишний nxserver-sqlite3 после завершения. Этот код отрабатывает _после_ suspend и _после_ завершения. Как только netcat завершился, каналу уже кирдык.

Самое поганое, не могу воспроизвести даже под убунту. Хоть рутлес, хоть десктоп, хоть с линукса, хоть с виндовса. Сессия суспендится и востанавливается пять раз подряд точно. Дальше мое терпение падает, а не она.
Что-то там у тебя специфичное завелось.

Если не найдешь бяку, скажу, что в nxnode надо откатить по минимуму.
Добавлено (16:43):
Еще раз, после удачного восстановления суспенда посмотри в базе просмотрщиком, какой статус там.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Видимо не совсем после, раз помогло.
Ну и я хз что там специфическое на 2х совершенно разных серверах.
Скинул на почту, wireguard + ssh, rdp, nx. Права рутовые. Если потребуется перезагрузка, то лучше после 18, тогда бухи точно свалят.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

А ведь это действительно идея: Можно влегкую отпинывать юзера, когда у него есть сеансы со статусами Suspending и Terminating. А еще лучше ему задержку делать, пока такие статусы есть. Займусь, как с твоими чудесами разберемся.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Публично заявляю: Это хорошо, что ты снимаешь претензии к моей криворукости. Продолжаю тогда увлекательное занятие по облагораживанию nxnode.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Снимаю, снимаю. Почти снимаю ;)
Последняя сборка файла nxwin.exe глючит при восстановлении сессии. Этот факт зафиксирован.
Но что оказалось интересным, старый FreeNX, после первой неудачной попытки грохает сессию, а новый нет.
IMHO: это поведение старого FreeNX правильное.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Не могу найти, где ты этим nxwin делился. Так да, надо будет посмотреть. Чуть позже, а то у меня уже день сурка - постоянная ловля багов. Только налажусь дописывать, и вот. Хорошо хоть в гите stash есть.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Вот она вся папка nxclient/bin https://cloud.mail.ru/public/4gcU/379FRgSk3 на 3м cygwin и nx-libs 3.5.99.23.
Все работает, кроме восстановления сессии. Если взять старый nxwin, восстановление сессии работает.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Наконец-то наживил sqlite на nxnode. Пакет не собирал, т.к. принтеры, шары и прочая мультимудия сейчас отсутствует совсем. Зато в прекрасном будущем все упростится. Ну когда перепишется. Тестил пока подъем и восстановление. Если будет свободное время, погоняй в виртуалке на тему косяков.

На тему чистки этих смешных табличек. Планирую для начала сделать так же как в nxserver: при SESSION_LOG_CLEAN=1 строки удаляются, а наоборот - будет чиститься по новой команде от юзера типа nxnode --history clear. Еще можно сделать авточистку в зависимости от превышения SESSION_HISTORY. При завершении сеансов, чтобы скорость поднятия не просаживать. Тогда нужно будет столбцы со временем добавлять.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Твик clenup`а отложи на ОЧЕНЬ потом.
Потому что с одной стороны, вроде бы он ускорит, но с другой стороны sqlite3 и без этой оптимизации и так справится, без статистики 100500 сессий это бессмысленно.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Так... а старый nxserver и на новом nxwin сессию поднимает. Но это странно, при чем тут вообще nxwin?
Вот тут может быть закопана проблема:

Старый
Spoiler
[?? 24. ??? 17:25:57 2020]: Received line from nxssh process [NX> 1000 NXNODE - Version 3.5.1 1.1.2-eter14ubuntu RX@Etersoft (GPL, using NX backend: 3.5.1)] with code [1000]
[?? 24. ??? 17:25:57 2020]: Received code[1000]
[?? 24. ??? 17:25:57 2020]: Received line from nxssh process [NX> 700 Session id: server4-1011-E87AA9F31E89D932CC21310018441A4D] with code [700]
[?? 24. ??? 17:25:57 2020]: Received code[700]

[?? 24. ??? 17:25:59 2020]: Received line from nxssh process [NX> 1002 Commit] with code [1002]
[?? 24. ??? 17:25:59 2020]: Received code[1002]
[?? 24. ??? 17:25:59 2020]: Received line from nxssh process [NX> 105 /usr/bin/nxserver: строка 1584: 2822 Завершено sleep $AGENT_STARTUP_TIMEOUT] with code [105]
[?? 24. ??? 17:25:59 2020]: Received code[105]
[?? 24. ??? 17:25:59 2020]: Received line from nxssh process [NX> 1006 Session status: running] with code [1006]
[?? 24. ??? 17:25:59 2020]: Received code[1006]
[?? 24. ??? 17:25:59 2020]: Received line from nxssh process [bye] with code [-1]
[?? 24. ??? 17:25:59 2020]: Received code[-1]
[?? 24. ??? 17:25:59 2020]: Received line from nxssh process [Bye] with code [-1]
[?? 24. ??? 17:25:59 2020]: Received code[-1]
[?? 24. ??? 17:25:59 2020]: Received line from nxssh process [NX> 999 Bye] with code [999]
[?? 24. ??? 17:25:59 2020]: Received code[999]
Новый
Spoiler
[?? 24. ??? 17:35:07 2020]: Received line from nxssh process [NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)] with code [1000]
[?? 24. ??? 17:35:07 2020]: Received code[1000]
[?? 24. ??? 17:35:08 2020]: Received line from nxssh process [NX> 1009 Session status: resuming] with code [1009]
[?? 24. ??? 17:35:08 2020]: Received code[1009]
[?? 24. ??? 17:35:08 2020]: Received line from nxssh process [NX> 700 Session id: server2-3001-7FBD8F437B862ABB3E72154BEB4AFF8F] with code [700]
[?? 24. ??? 17:35:08 2020]: Received code[700]

[?? 24. ??? 17:35:08 2020]: Received line from nxssh process [NX> 1002 Commit] with code [1002]
[?? 24. ??? 17:35:08 2020]: Received code[1002]
[?? 24. ??? 17:35:08 2020]: Received line from nxssh process [NX> 105 NX> 1006 Session status: running] with code [105]
[?? 24. ??? 17:35:08 2020]: Received code[105]
[?? 24. ??? 17:35:08 2020]: Received line from nxssh process [bye] with code [-1]
[?? 24. ??? 17:35:08 2020]: Received code[-1]
[?? 24. ??? 17:35:08 2020]: Received line from nxssh process [Bye] with code [-1]
[?? 24. ??? 17:35:08 2020]: Received code[-1]
[?? 24. ??? 17:35:08 2020]: Received line from nxssh process [NX> 999 Bye] with code [999]
[?? 24. ??? 17:35:08 2020]: Received code[999]
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Напомни ка мне, что за террорист придумал из nxnode одним пакетом усе посылать? А я говорил, что nxserver этот пакет все равно построчно разбирает. Как оказалось, еще и вставляет туда-куда-придется 'NX> 105' без перевода строки. Была у меня идея, как все разруливать и снова в один пакет собирать. Видимо трупик придется откопать и это-самое с ним.
Добавлено (18:31):
А еще точнее, там инстанс session stage тупо в цикле 105 посылает и ждет команды от клиента. Ни на что, падля, больше не смотрит. Я, если потерпишь, какой-нить лок ща на него придумаю.
Добавлено (18:36):
Там самая мякотка: 105 папа шлет, а остальное - чилдренок. Видимо, придется флажок в базу добавлять. Или SIGUSR какой слать.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Не террорист, а фактически рокетмэн ;)
Разбор в клиентах идет по crlf и по таймауту, вот с таймаутоми мы и боремся, это уродство должно быть уничтожено :crazy:
Одним пакетом посылать можно и нужно, думаю, ты в этом уже убедился на OpenNX, без этих "я пока пойду, покурю, пока оно запустится".
Но разделение строк в этом случае, обязательно должно быть.
В данном случае можно попробовать хаком проверить (воткнуть туда crlf ПЕРЕД 1006) - и посмотреть сработает или нет.
Ну и я не знаю что есть "NX> 1009" (на старом сервере, на рабочем с 1С 7.7) передачи этого тэга нет...
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

На 1009 пока забей - resuming - выше написано. Всегда, по идее, передается. Тут дело, что хак с переводом строки ни о чем. Это 105 в любое место может попасть сейчас рэндомно. Можно сказать, ты вскрыл нарыв! Килограмм гречки уходит в Питер. (Придет - греча, не переживай.)
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Попробуй. Последний комит - это попытка. В серверных логах стало лучше. Гонять с твоим nxwin сейчас нет возможности.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

В случае успеха имеет ли смысл пытаться отдавать всю стартовую тряхомудь (NX> 700 ... NX> 1006) действительно одним пакетом? Или ну его?
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Теперь на сервере падает.
Ты же знаешь мое мнение: все что можно завернуть в пакет, желательно завернуть.
Spoiler
NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
[25.03 09:36:24.995:30493/31627] server_nxnode_echo >&1: NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.23)
NX> 1004 Error: Could not resume session. nxagent process could not be found.
[25.03 09:36:25.015:30493/31627] server_nxnode_echo >&1: NX> 596 Session startup failed.
[25.03 09:36:25.016:30493/31627] NX> 596 Session startup failed.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1502
Статус: Подвинутый участник

Re: Старый друг - лучше новых двух

Сообщение dimbor »

У меня не падает, но. Расчехлил твой nxwin и наконец увидел, как оно при восстановлении уходит обратно в суспенд. Предположительно от того теперь, что я в nxserver одну хрень "починил". А именно: предполагалось после 'NX> 1006 running' все последующие команды гонятся наружу (для клиента) не в stdout, а в stderr. Раньше оно не работало, но задумка была ясна. Посмотрю в логах клиента, что ему не хватает.
Спасибо сказали: