Модуль X11 падает при отсутствии глубины по умолчанию. Во время инсталяции выглядит это так: Unwound backtrace: In unknown file: ?: 56* [#<procedure #f ()>] ?: 57* (let ((data #)) (auto-card text (woo-get-option data #)) ...) ?: 58 [#<procedure #f args> #<procedure enumref args> "/x11/avail_xdepth" ...] In /usr/share/guile/1.6/alterator/presentation/args.scm: ... 18: 59 (case (instance-of arg) ((<number>) (let* (#) (and # #))) ...) 37: 60* [set #<procedure #f args> #<procedure #f args>] In unknown file: ?: 61 [apply #<procedure run-operation #> #<procedure #f args> set ...] In /usr/share/guile/1.6/alterator/presentation/container.scm: ... 212: 62 [with-fluids* (#<fluid 12>) (((globals # #))) #<procedure #f ()>] In unknown file: ?: 63* [#<procedure #f ()>] In /usr/share/guile/1.6/alterator/presentation/container.scm: 212: 64* [#<procedure #f ()>] 154: 65 [meta-set #<procedure #f args> #<procedure #f args>] In /usr/share/guile/1.6/alterator/lookout/evaluation.scm: ... 239: 66 (let* ((names #) (idx #)) (simple-set widget (current idx)) ...) 240: 67* (or (string-list-index v names) -1) 240: 68* [string-list-index #f ("8" "16" "24")] 55: 69 [list-index #<procedure #f (x)> ("8" "16" "24")] In unknown file: ... ?: 70 (if (pred (car l)) i (lp (cdr l) (+ i 1))) ?: 71* [#<procedure #f (x)> "8"] In /usr/share/guile/1.6/alterator/lookout/evaluation.scm: 55: 72 [string=? #f "8"] In unknown file: ?: 73* [#<procedure #f args> wrong-type-arg "string=?" ...] In /usr/share/guile/1.6/alterator/exit-handler.scm: 23: 74* [display-backtrace ... 23: 75* [gsubr-apply #<primitive-procedure make-stack> #t] /usr/share/guile/1.6/alterator/exit-handler.scm:27:6: In procedure string=? in expression (apply throw args): /usr/share/guile/1.6/alterator/exit-handler.scm:27:6: Wrong type argument in position 1 (expecting STRINGP): #f Частично эта проблема исправляется так: diff --git a/alterator-x11/ui/x11/index.scm b/alterator-x11/ui/x11/index.scm index 3ca5658..a4617b7 100644 (file) --- a/alterator-x11/ui/x11/index.scm +++ b/alterator-x11/ui/x11/index.scm @@ -118,4 +118,4 @@ (resolution enumref "/x11/avail_xresolution" value (woo-get-option data 'xresolution #f)) (depth enumref "/x11/avail_xdepth" - value (woo-get-option data 'xdepth #f))))))) + value (woo-get-option data 'xdepth ""))))))) При этом возникает ситуация, когда глубина по умолчанию не задана.
Created attachment 2700 [details] Полный лог инсталятора
Что-то багу не найду, но вообще это место правили в 0.13.3-alt1 и 0.13.7-alt1.
Проверено на сборках из сизифа, которые перемещены, вместе с новым rpm, в дополнительный репозиторий к бранчу 4.1: alterator-3.6-alt5.i586.rpm alterator-browser-qt-2.9.89-alt1.i586.rpm alterator-doc-3.6-alt5.i586.rpm alterator-http-0.4-alt4.i586.rpm alterator-lilo-0.9-alt4.i586.rpm alterator-lookout-1.2-alt2.i586.rpm alterator-xkb-1.0-alt1.i586.rpm alterator-ahttpd-0.4-alt1.noarch.rpm alterator-alternatives-0.9-alt1.noarch.rpm alterator-amanda-0.4-alt3.noarch.rpm alterator-apache2-2.4-alt1.noarch.rpm alterator-auth-0.6-alt4.noarch.rpm alterator-autoinstall-0.2-alt1.noarch.rpm alterator-bind-0.2-alt1.noarch.rpm alterator-chkconfig-0.1-alt2.noarch.rpm alterator-control-0.8-alt2.noarch.rpm alterator-datetime-0.6-alt2.noarch.rpm alterator-dhcp-0.1-alt9.noarch.rpm alterator-dovecot-0.4-alt4.noarch.rpm alterator-fbi-2.8-alt2.noarch.rpm alterator-firewall-0.2-alt7.noarch.rpm alterator-hpc-0.6-alt2.noarch.rpm alterator-kerberos-0.1-alt11.noarch.rpm alterator-l10n-0.6-alt6.noarch.rpm alterator-lightsquid-0.1-alt2.noarch.rpm alterator-logs-0.3-alt1.noarch.rpm alterator-ltsconf-0.3.1-alt1.noarch.rpm alterator-mailman-0.2-alt9.noarch.rpm alterator-menu-0.4-alt1.noarch.rpm alterator-net-common-0.3-alt1.noarch.rpm alterator-net-eth-3.1-alt3.noarch.rpm alterator-net-junior-0.1-alt15.noarch.rpm alterator-net-pppoe-0.5-alt2.noarch.rpm alterator-net-pptp-0.6-alt4.noarch.rpm alterator-net-wifi-0.6-alt1.noarch.rpm alterator-notes-1.1-alt4.noarch.rpm alterator-nut-0.2-alt17.noarch.rpm alterator-ovz-0.4-alt8.noarch.rpm alterator-packages-0.5.4-alt2.noarch.rpm alterator-perl-functions-0.4-alt1.noarch.rpm alterator-pkg-1.4-alt7.noarch.rpm alterator-postfix-restrictions-0.1-alt10.noarch.rpm alterator-postfix-sasl-0.3-alt1.noarch.rpm alterator-proxy-0.3-alt1.noarch.rpm alterator-root-0.4-alt1.noarch.rpm alterator-samba-0.3-alt2.noarch.rpm alterator-sdk-0.1.1-alt1.noarch.rpm alterator-services-1.3-alt6.noarch.rpm alterator-sh-functions-0.6-alt3.noarch.rpm alterator-spamassassin-0.3-alt2.noarch.rpm alterator-squid-0.2-alt15.noarch.rpm alterator-standalone-4.4-alt2.noarch.rpm alterator-standalone-usermode-4.4-alt2.noarch.rpm alterator-sysconfig-0.7-alt2.noarch.rpm alterator-sysinfo-0.2-alt7.noarch.rpm alterator-tzone-0.9-alt3.noarch.rpm alterator-ulogd-0.2-alt3.noarch.rpm alterator-users-9.1-alt1.noarch.rpm alterator-vm-0.3-alt29.noarch.rpm alterator-vsftpd-0.5-alt1.noarch.rpm alterator-witchery-0.2-alt2.noarch.rpm alterator-wizardface-0.7-alt1.noarch.rpm alterator-xinetd-1.2-alt7.noarch.rpm + alterator-x11-0.15-alt6.i586.rpm alterator-backend-x11-0.15-alt6.i586.rpm | alterator-x11-0.15-alt6.eter1.i586.rpm alterator-backend-x11-0.15-alt6.eter1.i586.rpm Разница между alterator-x11-0.15-alt6 и alterator-x11-0.15-alt6.eter1: alterator-x11/ui/x11/index.scm - value (woo-get-option data 'xdepth #f))))))) + value (woo-get-option data 'xdepth ""))))))) После этого оно как раз падать перестаёт, но не выдаёт значения по умолчанию. Я вот пока не понимаю откуда это значение по умолчанию вообще берётся... Так вот, в более новых версиях alterator-x11, существенных изменений в этом плане не замечено, хотя замечена тендеция заменять в одних случаях #f на "", в других наоборот. На самом деле это конечно какие-то внутренние проблемы самого alterator, складывается впечатление, что логика получения значения по умолчанию не отрабатывает. Но что является тому причиной не совсем понятно... Могу только заметить, что сравнение, на которм всё падает: [string=? #f "8"] видится не всё-таки больше проблемой новой логики alterator.
> Я вот пока не понимаю откуда это значение по умолчанию вообще берётся... Берется из бакенда, параметр xdepth: # alterator-cmdline x11 action read В бакенде берется из xorg.conf, если его там нет - то из автоматически определенной с помощью # video_scan (а она изыскивает карту в lspci и xdepth ищет потом в базе данных /usr/share/alterator-x11/videocards) Вообще, автодетект сейчас присутствует в двух местах. Есть скрипт x11_autosetup, который пишет начальный xorg.conf, и есть еще автодетект в бакенде - просто чтоб подсвечивать рекомендуемое значение, когда выбираешь новый драйвер... (Наверное надо и там и там прописать какое-то дефолтное значение - сделаю, только скажите какое! :)). А замена #f на "" в интерфейсе - так и надо. Там все-таки не должны возникать осмысленные значения, наверное. Но и значения по умолчанию неправильного типа - не должны быть :)
(In reply to comment #4) > > Я вот пока не понимаю откуда это значение по умолчанию вообще > берётся... > > Берется из бакенда, параметр xdepth: > # alterator-cmdline x11 action read > > В бакенде берется из xorg.conf, если его там нет - то из автоматически > определенной с помощью > # video_scan > (а она изыскивает карту в lspci и xdepth ищет потом в базе данных > /usr/share/alterator-x11/videocards) > > Вообще, автодетект сейчас присутствует в двух местах. Есть скрипт x11_autosetup, > который пишет начальный xorg.conf, и есть еще автодетект в бакенде - просто чтоб > подсвечивать рекомендуемое значение, когда выбираешь новый драйвер... > (Наверное надо и там и там прописать какое-то дефолтное значение - сделаю, > только скажите какое! :)). > > А замена #f на "" в интерфейсе - так и надо. Там все-таки не должны возникать > осмысленные значения, наверное. Но и значения по умолчанию неправильного > типа - не должны быть :) > Ну, если нужно "" вместо #f, то почему его там нет? Это раз. А если поставить, то почему сравнение, на котором сейчас всё падает: [string=? #f "8"] задаёт вместо предполагаемого "8", этот самый "". В результате, при отображении, значение глубины не задано... Это два. Ну, и почему оно там так, там сяк, и кое-де даже не падает, а тут падает - падать-то оно всё равно не должно. Так ведь? Это три. Мне видится, что #f как раз и был придуман с целью различать пустую строку, как ответ, от ответа "совсем ничего". Тем более, что раньше оно ведь на это самом месте не падало!
> Ну, если нужно "" вместо #f, то почему его там нет? Это раз. Все, увидел, осознал. Я в другом каком-то месте это правил, а тут - не заметил. Сейчас поставлю. > А если поставить, > то почему сравнение, на котором сейчас всё падает: > [string=? #f "8"] Видимо, это какие-то внутренности выпадающего списка. Там список значений 8,16,24... а мы ему говорим выбрать это самое #f. Он и падает при первом сравнении.
fixed in 0.18-alt3. Сейчас падать не должно.
(In reply to comment #6) > > Ну, если нужно "" вместо #f, то почему его там нет? Это раз. > > Все, увидел, осознал. Я в другом каком-то месте это правил, а тут - не заметил. > Сейчас поставлю. > Хм... ну, так я уже поставил и проверил... Получается не совсем то, что нужно... > > А если поставить, > > то почему сравнение, на котором сейчас всё падает: > > [string=? #f "8"] > > Видимо, это какие-то внутренности выпадающего списка. Там список значений > 8,16,24... а мы ему говорим выбрать это самое #f. Он и падает при первом сравнении. > В этом самом списке, когда возвращаешь "", получается, что глубина не выбрана. Из этого я делаю некое предположение, что "8" - это та самая глубина по умолчанию, которая выбирается, если задать #f. Это предположение основано на том, что именно так оно раньше и работало...
Нет, если задать #f, то все упадет. Тип не тот. Кстати, сейчас проверил, что video_scan для неизвестных драйверов выдает 16. Сейчас буду смотреть, почему оно до интерфейса не доходит...
Выложил 0.18-alt8. Посмотри, пожалуйста! У меня настройки по умолчанию до интерфейса доходят.
Проверяю я это на образах инсталятора - именно там возникает проблема. Тестирую я это дело на бранче 4.1, поэтому у меня версия 0.15, которая привязана к особенностям сборки xorg-x11-server из бранча. Новый вариант я смогу попытаться проверить на сизифе, но не раньше как новый сизиф ко мне приедет... Новый вариант я думаю падать не должен... Тем не менее, сам альтератор не стоит прикрывать такими заплатками - падать он не должен... Выставляется ли правильно глубина по умолчанию проверю позже...