Перестал работать tkabber. При запуске, после авторизации на сервере, выводит окошко Ошибка: wrong # args: should be "" более детальное описание: wrong # args: should be "" wrong # args: should be "" while executing "random 1000000000" (procedure "jid_to_tag" line 8) invoked from within "jid_to_tag $jid" (procedure "winid" line 4) invoked from within "winid [chatid $connid $jid]" (procedure "chat::change_presence" line 51) invoked from within "chat::change_presence $connid $from $show" ("default" arm line 36) invoked from within "switch -- $type { error - unavailable { if {[cequal $type unavailable]} { presence_process_x $connid $from $type $x } ..." (procedure "client:presence" line 9) invoked from within "client:presence 1 wkaban@jabber.pibhe.com/Work {} {{x {xmlns jabber:x:delay from wkaban@jabber.pibhe.com/Work stamp 20041107T02:06:47} {} {} {} {}} {x..." ("uplevel" body line 1) invoked from within "uplevel #0 [list client:presence $connid $from $type $x] $param" ("presence" arm line 62) invoked from within "switch -- $tag { iq { set useid 0 set id "" set type [wrapper:getattr $vars type] if {[wrapper:isattr $vars id] == 1} { set ..." (procedure "::jlib::parse1" line 25) invoked from within "::jlib::parse1 1 {presence {from wkaban@jabber.pibhe.com/Work to mrkooll@jabber.pibhe.com} {{status {} {} Online Online {}} {priority {} {} 1 1 {}} {x..." ("after" script) Если проскипать эти диалоги - то tkabber запускается, но родстер пустой.
Хмм у меня не воспроизводиться (впрочем не только у меня) ... после чего он перестал работать?
Перестал работать после обновления tcl (вроде). Повторяется от нового пользователя. Сервер jabberd версии 1.4.2 Клиент tkabber-0.9.7-alt2 tcl-8.4.7-alt2
вот тут есть два рецепта http://tkabber.jabber.ru/node/197 у меня проверить негде - тикл из поставки мастера 2.4 tcl-8.4.7-alt1 если получиться, пишите буду править пакет
Значит сделал почти как в этом совете. Т.к. у меня нет Help->Show Tcl console в tkabber поставил я tkcon и подключился к процессу tkabber. После чего ввел команды. Получил тот-же облом: Main console display active (Tcl8.4.7 / Tk8.4.7) (mrkooll) 1 % package require Tclx 8.4 (mrkooll) 2 % random 1000000000 wrong # args: should be "" (mrkooll) 3 %
Значит так: полная переустановка помогла. Сносил tcl под корень (с выносом /usr/share/tcl и /usr/lib/tcl) Потом переставил и он завелся. Видимо глюк был в обновлении tcl. Т.е. делал так: apt> remove tcl apt> remove tcl-gpgme apt> remove tcl-img apt> remove tcl-sound apt> commit # rm -r /usr/share/tcl # rm -r /usr/lib/tcl apt> install tkabber apt> install tcl-tkXwin apt> install tcl-gpgme .... Вроде все заработало.
Заработало, вероятно, из-за удаления пакета tcl-memchan. Наблюдается конфликт между tcl-memchan и tclx - оба пакета создают процедуру с именем random. Причём ни один из этих пакетов не обязателен для работы tkabber. На самом деле для проявления ошибки достаточно наличия в системе только пакета tcl-memchan - при отсутствии tclx tkabber определяет свою версию процедуры random, которая потом портится новым memchan.
Created attachment 674 [details] workaround for conflict between tclx and memchan Можно обойти проблему вот таким кривым способом - сразу при запуске попытаться загрузить пакеты, чтобы Memchan загрузился раньше, и его random был перекрыт определением или из Tclx, или из эмуляции в Tclx.tcl.
Не удалось воспроизвести
Да уже работает. Как после полной переустановки тикля заработал так и работает до сих пор :)