[Не спят] мои соседи, белые медведи (Пилим ArcticaProjects nx-libs)

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

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

[Не спят] мои соседи, белые медведи

Сообщение Djelf »

dimbor писал:
29.12.2019 14:47
Djelf писал:
29.12.2019 13:45
Запускается что-то медленно, задержка после соединения,в логе
29.12 13:25:34: node_start_applications (13367): DISPLAY is 2000
29.12 13:25:38: node_start_applications (13367): Sleep while get a valid DISPLAY (59)
потом
29.12 13:25:39: try_remount_printers (13367): Session dir NOT FOUND! Calling twice? Why?
29.12 13:25:39: node_cupsd_stop (13367): end
29.12 13:25:39: node_stop_services (13367): call reconnect_pa
29.12 13:25:39: node_stop_services (13367): end
29.12 13:25:39: node_start_monitor_2_0_0 (13367): end
29.12 13:25:40: node_start_applications (13367): Sleep while get a valid DISPLAY (55)
и так ~17с...
Это ждется дисплейный порт арктического эныкс-агента посредством xdpyinfo. Вообще, оно у них медленно стало стартовать/завершаться. Но не семнадцать секунд. В session при этом что? И версия либ какая? На 3.5.99.22 больше двух сек не выжимает, даже в виртуалке.
Странно все это, либы последние 3.5.99.22, xrdp стартует за 3c, nxagent :1 из запущенной сессии - мгновенно.
Закомментировал проверку через xdpyinfo, все равно около 17с, даже если вызывать просто xterm.

Ха! А локально по сетке вроде не так заметно, но я же на йопте через впн!
Да, блин, в Питере, в центре города (почти), в преддверии 2020г и через йопту...
А все потому потому что шнурок в 5-этажки не тянут, а adsl стал вообще отвратительный ;)
Будем знать, что на каналах с большой задержкой скорость запуска не айс, это можно перетерпеть.
Последний раз редактировалось dimbor 06.01.2020 04:50, всего редактировалось 1 раз.
Причина: Разделение темы.
Спасибо сказали:

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

[Не спят] мои соседи, белые медведи

Сообщение Djelf »

Djelf писал:
01.01.2020 18:32
1. А ты квест со сборкой nx-libs прошел? Может соберешь nxagent с отладкой по шрифтам?
Потому что не я такой один: https://github.com/ArcticaProject/nx-libs/issues/824
Мне не нравится вот это: https://github.com/ArcticaProject/nx-libs/commit/78a16245a4bbf13acf53768064d81cbaa28c0d8b#diff-561c54382bfe9189c4d3857a71456e18
В кэше nx (в дампе памяти кэша) на сервере появляется туева хуча имен фонтов (на старой версии имен фонтов в кэше вообще нет), тормоз видимо на этапе переговоров клиента и сервера об их количестве и наличии.
От ключей nxagent -deferglyphs и -fp никакого толку нет ;(
Лишние 10-15с все таки напрягают ;)
По шрифтам, вот сам посмотри на это безобразие https://gyazo.com/c1c1c3d8ca886059760d73a92fefc4d0 и это занимает 80% кэша!!!
Видимо это включить надо, чтобы посмотреть что да как
#undef NXAGENT_FONTCACHE_DEBUG
#undef NXAGENT_RECONNECT_FONT_DEBUG
#undef NXAGENT_FONTMATCH_DEBUG
Последний раз редактировалось dimbor 06.01.2020 05:23, всего редактировалось 3 раза.
Причина: Разделение темы.
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

И точно, букивок в кеш насыпается от души. Соберу, не вопрос. Только скажи, в какую тару тебе их фасовать. В пакетах как в прошлый раз пойдет? А отключенное безобразие работает так же тормозно? Ну на которое мылом ссылку присылал.
Спасибо сказали:

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

Сообщение Djelf »

С нее, в смысле по ссылке это и есть. Не уверен что все отключено.
И это неправильное поведение nxagent, есть же опция -fp, для включения шрифтов, по-молчанию должны быть только шрифты самого nx.
Это поведение убивает смысл установки скорости соединения, ну ладно предположим что тормозит все таки из-за шрифтов, но зачем синхронизировать все шрифты при запуске (это если проблема в этом)?
А чтобы доказать что это именно то, что я думаю, нужно как то либо font.c вообще откатить в исходное состояние, либо доказать дебажной сборкой.

Что-то у меня не собирается ;(

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

make[2]: вход в каталог «/usr/src/ArcticaNX/nx-libs»
# prepare nx-X11/config/cf/nxversion.def
sed \
    -e 's/###NX_VERSION_MAJOR###/3/' \
    -e 's/###NX_VERSION_MINOR###/5/' \
    -e 's/###NX_VERSION_MICRO###/99/' \
    -e 's/###NX_VERSION_PATCH###/22/' \
    nx-X11/config/cf/nxversion.def.in \
    > nx-X11/config/cf/nxversion.def
# auto-config some setting
# check if system supports Xfont2
(echo "#define HasXfont2 `pkg-config --exists xfont2 && echo YES || echo NO`") >nx-X11/config/cf/nxconfig.def
# check if system has an _old_ release of Xfont1
(echo "#define HasLegacyXfont1 `pkg-config --exists 'xfont < 1.4.2' && echo YES || echo NO`") >>nx-X11/config/cf/nxconfig.def
# check if system has an _old_ release of XextProto
(echo "#define HasLegacyXextProto `pkg-config --exists 'xextproto < 7.1.0' && echo YES || echo NO`") >>nx-X11/config/cf/nxconfig.def
# the system's directory with the xkb data and binary files (these
# needs to be independent of Imake's ProjectRoot or the configure
# prefix.)
(pkg-config --exists xkbcomp && echo "#define SystemXkbConfigDir `pkg-config xkbcomp --variable=xkbconfigdir`"; :) >>nx-X11/config/cf/nxconfig.def
(pkg-config --exists xkbcomp && echo "#define SystemXkbBinDir `pkg-config xkbcomp --variable=prefix`/bin"; :) >>nx-X11/config/cf/nxconfig.def
(pkg-config --exists fontutil && echo "#define SystemFontRootDir `pkg-config fontutil --variable=fontrootdir`"; :) >>nx-X11/config/cf/nxconfig.def
# let's create the nx-X11 Makefiles now, once everything has been defined
make -j1 -C nx-X11 Makefiles IMAKE_DEFINES=""
make[3]: вход в каталог «/usr/src/ArcticaNX/nx-libs/nx-X11»
make -f xmakefile -w VerifyOS
make[4]: вход в каталог «/usr/src/ArcticaNX/nx-libs/nx-X11»
make[4]: *** Нет правила для сборки цели «VerifyOS».  Останов.
make[4]: выход из каталога «/usr/src/ArcticaNX/nx-libs/nx-X11»
Makefile:126: ошибка выполнения рецепта для цели «VerifyOS»
make[3]: *** [VerifyOS] Ошибка 2
make[3]: выход из каталога «/usr/src/ArcticaNX/nx-libs/nx-X11»
Makefile:101: ошибка выполнения рецепта для цели «imakeconfig»
make[2]: *** [imakeconfig] Ошибка 2
make[2]: выход из каталога «/usr/src/ArcticaNX/nx-libs»
dh_auto_clean: make -j1 distclean returned exit code 2
debian/rules:25: ошибка выполнения рецепта для цели «override_dh_auto_clean»
make[1]: *** [override_dh_auto_clean] Ошибка 2
make[1]: выход из каталога «/usr/src/ArcticaNX/nx-libs»
debian/rules:16: ошибка выполнения рецепта для цели «clean»
make: *** [clean] Ошибка 2
dpkg-buildpackage: ошибка: fakeroot debian/rules clean возвратил код ошибки 2
debuild: fatal error at line 1376:
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

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

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

Re: opennx

Сообщение Djelf »

Ах ты`ж, зараза такая :crazy:
imake -DUseInstalled -I/usr/lib/X11/config
sh: 1: /tmp/imakeV3hmlH: Permission denied
Перемонтировал tmp, убрал noexec. Сборка пошла.
Собрал 3.5.99.13 - задержка после запуска ушла, ~3c вместо ~15с.

P.S. Сломалось на 3.5.99.16->17, отпостил, вроде не фонты, там maх() на MAX() поменяли, ну не должно же из-за этого...
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

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

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

Re: opennx

Сообщение Djelf »

Запасайся, запасайся попкорном... Не лопни только :tongue:
Потому как Display.c с отладкой выдает 950кб на 3.5.99.16 и 25мб на 3.5.99.17
А изменения в Display.c, совсем крошечные - поменяли int v == 1/0 на bool v == true/false
Следовательно проблема глубже, а это уже не 5 минут!
Хотя, на удивление, uli42 ответил очень оперативно и содержательно.
Я мог бы и сам догадаться, что надо сделать, но не стал бежать впереди паровоза...
Может он просто не ожидал, что так быстро дебажныхе логи появятся? :rolleyes:

P.S. IMHO: Надо бы в отдельную тему сообщения по NXServer@ArcticaProject/nx-libs перетащить.
P.P.S. Эту регрессию должен был бы заметить не один человек (прошел почти год с ее появления), видимо xrdp слишком хорошо стал работать, а x2go изначально тормозной, поэтому на nx-libs и забили.
Спасибо сказали:

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

Re: [Спят] мои соседи, белые медведи

Сообщение dimbor »

Тему сделал. Подозреваю, мы - два винтажных газогенератора, там как глоток свежего воздуха. Потому как x2go - путь непонятно куда ведущий, несмотря на декларируемые достижения.
Спасибо сказали:

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

Re: [Спят] мои соседи, белые медведи

Сообщение dimbor »

Гы! Оказывается, дело в новых нескучных иконках. Как обычно. (Полез проверять свои)
Спасибо сказали:

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

Re: [Спят] мои соседи, белые медведи

Сообщение dimbor »

Он там все уже оперативно пофиксил. Ради спортивного интереса собрал. Но, сам понимаешь, за отсутствием vpn поверх йоты уменьшение времени запуска приложения в virtualdesktop у меня чисто умозрительное. Пакеты в тесте. Там только агент изменился. Но пишу тебе не за этим. Код с которого собирал, выложил тоже https://github.com/dimbor-ru/nx-libs/tree/fix_startup_slowness. Там еще два моих патча, не взятые в апстрим. Один кроме меня нафиг никому не нужен (рутлес, старый вайн, семерка), а второй - непропихнутый.
Пусть будет, тем более freenx его умеет. Эт я там когдась экспериментировал.
Спасибо сказали:

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

Re: [Не спят] мои соседи, белые медведи

Сообщение Djelf »

Да уж, такой неприятный косяк на ровном месте.
Нафейхоа спрашивается им был иконку от !M, на свою менять?

Других претензий к nx-libs у меня больше нет. Опять наступает скукота ;)

P.S. Задержки не так сложно имитируются: https://www.techrepublic.com/article/how-to-limit-bandwidth-on-linux-to-better-test-your-applications/
Спасибо сказали: