nixp.ru v3.0

30 мая 2017,
вторник,
12:22:44 MSK

DevOps с компанией «Флант»
Vourhey написал 28 мая 2008 года в 15:37 (562 просмотра) Ведет себя как мужчина; открыл 4 темы в форуме, оставил 13 комментариев на сайте.

Здравствуйте.

Работаю с Mandriva Linux 2008. При работе в KDE 3.5.4 возникает следующая проблема: при запуске некоторых приложений не отображается их окно. Например, если попытаться запустить konqueror, то секунд 10-15 отображаются «часики». На панели видно свернутое окно, которое также отображает «загрузку» приложения. Но потом все это дело пропадает. То есть, в списке процессов мы видим наш konqueror, но его главного окна нет. Причем, это может происходить с разными приложениями время от времени. Например, KMail, Kopete. Приложения GNOME (использующие GTK) из KDE при этом запускаются нормально.

Иногда бывает такое, что приложение KDE виснет «на лету». Просто перестает отвечать. После терминэйта, главное окно уже не показывается.

При работе с GNOME таких проблем не возникало. До этого долгое время все работало нормально. Апдейты на систему не ставил.

Как считаете, c чем может быть связана проблема? Если с KDE, то что поспособствовало такому поведению? И почему не на все приложения, а каждый раз на различные?

metal

Запусти их из консоли, там все будет написано. Апдейты зря не ставил, может этим и объясняется:)

Vourhey

Хех. Весьма интересно то, что в консоли абсолютно ничего не написано и не пишется. Приложение просто виснет и все. Хоть дебагер в руки бери…

Вообщем, ситуация воспроизводится и:

ltrace konqueror

__libc_start_main(0×80486f0, 1, 0xbfe6b684, 0×8048750, 0×8048740

kdemain(1, 0xbfe6b684, 0xbfe6b5f8, 0×8048769, 0xbfe6b600

вот на это месте все замечательное останавливается до тех пор, пока не будет нажато Ctrl-C. Или не кильнется со стороны. Хотя, у остальных приложений на этом месте, как водится, уже главное окно показывается.

Я сделал strace и увидел такую интересную весчь. Все добро останавливается, почему -то на вызове read.

Листинг «strace konqueror":

open("/home/vourhey/.kde/share/config/kuriikwsfilterrc", O_RDONLY|O_LARGEFILE) = 12
fstat64(12, {st_mode=S_IFREG|0600, st_size=58, ...}) = 0
fstat64(12, {st_mode=S_IFREG|0600, st_size=58, ...}) = 0
mmap2(NULL, 58, PROT_READ, MAP_PRIVATE, 12, 0) = 0xb7ee8000
fstat64(12, {st_mode=S_IFREG|0600, st_size=58, ...}) = 0
rt_sigaction(SIGBUS, {0xb743dee0, [], SA_ONESHOT}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
fstat64(12, {st_mode=S_IFREG|0600, st_size=58, ...}) = 0
munmap(0xb7ee8000, 58)                  = 0
rt_sigaction(SIGBUS, {SIG_DFL}, NULL, 8) = 0
close(12)                               = 0
write(9, "\1\2\1\0\347\0\0\0\200\0\0\0", 12) = 12
write(9, "\0\0\0\17konqueror-7610\0\0\0\0\5kded\0\0\0\0\t"..., 66) = 66
write(9, "\0\0\0\10\0h\0t\0t\0p\377\377\377\377\377\377\377\377\0"..., 165) = 165
read(9,  

Собственно, дескриптор 9, как я нашел из листинга, последний раз получается здесь:

socket(PF_FILE, SOCK_STREAM, 0)         = 9
uname({sys="Linux", node="localhost", ...}) = 0
connect(9, {sa_family=AF_FILE, path="/tmp/.ICE-unix/dcop4087-1211999064"}, 37) = 0
fcntl64(9, F_SETFD, FD_CLOEXEC)         = 0
write(9, "\0\1\0\0\0\0\0\0", 8)         = 8
read(9, "\0\1\0\0\0\0\0\0", 8)          = 8

Но в данном контексте «read(9, » выполняется нормально, вроде как.

К слову, извиняюсь. Я перепутал версии. У меня KDE 3.5.7.

Заметил, что проблема чаще (но не всегда) возникает если я без отмонтирования извлекаю какой-нить накопитель. К примеру, извлеку флешку без umount и вот такая байда. Как ни крути, это ж неправильно…

Вообщем, фиг знает. Надо разбираться.

dmitriy_

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

Вобщем не парься, поставь убунту 8.04. Она действительно просто работает.