LINUX.ORG.RU

Запуск firefox по ssh с проброшенными иксами

 , ,


1

3

firefox

(process:5761): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Чо за фигня? Все остальные приложения, которые попробовал нормально работают. Попробовал с другой машины запустить - работает. Только а тут вот так - сыплется такая ошибка и все. Причем он не падет, не завершается. Прост не появляется окно.

UPD:
Вобщем ошибка отношения к делу не имеет.

Есть машина A и машина B. На машине А есть user1 и user2, я из под user1@A конекчусь по ssh к user2@A (то-есть на локалхост) и запускаю его FF - окно не появляется. Ждал долго. Все остальные приложения работают нормально. Подключался со всеми комбинациями ключей X и Y.

Конекчусь из под user1@A к user1@B - запускаю его FF - все пучком. Иду к машине B и конекчусь из под user1@B к user2@A и запускаю FF - все пучком. Кстати выхлоп в консоль при подключении с машин B такой же - ошибка та же. Похоже она не имеет отношения к делу. Я вообще теперь в тупике. (((

★★★★★

Последнее исправление: Suntechnic (всего исправлений: 1)

Мне сейчас позвонили из Гугла, спрашивают, почему ты до сих пор не доложил их поисковику об этой ошибке.

anonymous
()

А ты долго ждал появления окна? Не может быть чего-то связанного с таймавутом DNS? Подобная хрень то и дело на ЛОРе встречается.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Понимешь какая штука... Есть машина A и машина B. На машине А есть user1 и user2, я из под user1@A конекчусь по ssh к user2@A (то-есть на локалхост) и запускаю его FF - окно не появляется. Ждал долго.

Конекчусь из под user1@A к user1@B - запускаю его FF - все пучком. Иду к машине B и конекчусь из под user1@B к user2@A и запускаю FF - все пучком. Кстати выхлоп в консоль при подключении с машин B такой же - ошибка та же. Похоже она не имеет отношения к делу. Я вообще теперь в тупике. (((

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

А если через strace запустить, где висит? И по симптомам все-таки подозреваю что-то с таймаутами DNS. Одна и та же машина - висит. Разные машины - все ок. Значит, localhost теряет где-то.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от Zubok
futex(0x7fc065b9ab0c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc065b9ab08, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
read(23, "\372", 1)                     = 1
futex(0x7fc04daf7c8c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc04daf7c88, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x7fc04daf7c8c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc04daf7c88, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x7fc04daf7c8c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc04daf7c88, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x7fc04daf7c8c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc04daf7c88, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x7fc065b9ab0c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fc065b9ab08, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
read(3, 

Вот на этом останавливается.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Zubok
$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Сейчас такой:

$ cat /etc/hosts
127.0.0.1	alex-laptop localhost
127.0.1.1	alex-laptop

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
но пробовал и без 127.0.1.1 и разными строками 127.0.0.1

> sudo cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

А в nm-applet DNS руками прописаны как и IP. Вообще все IP в домашней сети статические. У меня на раб.столе лежит файлик DHCP, так что в роли DHCP я.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

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

Elyas ★★★★★
()
Ответ на: комментарий от Suntechnic

1. А что в /etc/hostname

но пробовал и без 127.0.1.1 и разными строками 127.0.0.1

2. как именно?

3. А что в /etc/network/interfaces?

4. Что показывает ifconfig?

5. avahi есть?

Zubok ★★★★★
()
Ответ на: комментарий от Suntechnic

read(3,

Выгрузи лог в файл (опиция strace -o) и глянь выше по тексту, что это за файл с дескриптором 3.

Надеюсь, это лог firefox, а не ssh? :)

Zubok ★★★★★
()
Ответ на: комментарий от aeX1pu2b

GLib-CRITICAL **:

обнови glib

ахах, на каждый такой чих обновлять glib? :) Ты просто не запускал с десяток своих частоиспользуемых гуевых приложений из терминала, наверное.

redhat
()
Ответ на: комментарий от Suntechnic

А в nm-applet DNS руками прописаны как и IP. Вообще все IP в домашней сети статические.

Дело не в этом. До DNS он доходит после того, как не смог отрезолвить по /etc/hosts. Поэтому обычно и зависает. Вот в файле /etc/nsswitch.conf как раз порядок виден: hosts: files mdns4_minimal [NOTFOUND=return] dns

То есть сначала он смотрит /etc/hosts, потом, если облом, смотрит mdns4_minimal (это Avahi) и только потом dns.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

1. А что в /etc/hostname

alex-laptop

2. как именно?

Да как - ну отдельно строка 127.0.0.1 localhost и отдельно строка 127.0.0.1 alex-laptop.

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:24:54:a7:5e:24  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:19 

lo        Link encap:Локальная петля (Loopback)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:289788 errors:0 dropped:0 overruns:0 frame:0
          TX packets:289788 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:46219185 (46.2 MB)  TX bytes:46219185 (46.2 MB)

wlan0     Link encap:Ethernet  HWaddr e8:39:df:08:f8:16  
          inet addr:192.168.13.11  Bcast:192.168.13.255  Mask:255.255.255.0
          inet6 addr: fe80::ea39:dfff:fe08:f816/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:192030 errors:0 dropped:0 overruns:0 frame:0
          TX packets:131215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:154592325 (154.5 MB)  TX bytes:22767822 (22.7 MB)

5. avahi есть?

Да, но я пробовал его убить и запустить - ни какого эффекта.

Выгрузи лог в файл (опиция strace -o) и глянь выше по тексту, что это за файл с дескриптором 3.

А как его там найти? У меня в этом опыта 0. Не вычитывать же все строки с «3»?

Надеюсь, это лог firefox, а не ssh? :)

Ну не такой уж я и тупой ;)

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Попробуй упростить. Сделай такие вещи:

1. В /etc/hostname оставь только localhost.

2. В /etc/network/interfaces оставь:

auto lo
iface lo inet loopback

3. В /etc/hosts вместо твоих двух строчек оставь только

127.0.0.1 localhost

4. А вот в /etc/resolv.conf у тебя откуда строчка? Сам вбивал? У тебя локальный сервер DNS? Меня смущает она.

5. Перезагрузи машину.

6. Пробуй снова.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

Попробую.

4. А вот в /etc/resolv.conf у тебя откуда строчка? Сам вбивал? У тебя локальный сервер DNS? Меня смущает она.

Сам точно не вбивал. Думаю дефолт Ubuntu 14.10. А вот как это на 14.04 (та самая машина B):

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Попробую.

Только не опечатайся нигде. Потом расскажи, что получилось. По результатам будем думать дальше.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

open(«/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so», O_RDONLY|O_CLOEXEC) = 4

Это похоже оно. Но! Ниже есть close(4). Как я понимаю этот дискриптор освобождается и больше open с результатом 4 нет вплоть до read(4,

Есть правда writev(5, [{«+\0\1\0», 4}, {NULL, 0}, {"", 0}], 3) = 4

Я не так понимаю вывод strace?

Suntechnic ★★★★★
() автор топика
Последнее исправление: Suntechnic (всего исправлений: 2)
Ответ на: комментарий от emulek

Блин, естественно. А как ты думаешь, если все остальные проги стартуют? Проблема именно и только с FF.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Zubok

Проверил. Ничего (((

Ну если не считать что любое значение в /etc/hostname кроме alex-desktop приводит к неработоспособности иксов. Никто не может подключится к дисплею.

А лог strace на pastebin выложи.

You have exceeded the maximum file size of 512 kilobytes per paste. PRO users don't have this limit!

https://yadi.sk/d/ICijLHeaenWMa

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

я проверил, ФФ 35.0.1, запускается, работает. Есть ошибка как у тебя.

emulek
()

Попробуй: firefox -no-remote

Lavos ★★★★★
()

firefox - это скрипт для запуска. Если браузер уже запущен, он не будет открывать новое окно. не помню, то ли вкладку создаст, то ли вообще ничего делать не будет.

Когда ты подключаешься по ssh -X, скрипт как-то видит что браузер уже запущен, не знаю подробностей. Тебе нужен параметр -no-remote

router ★★★★★
()
Ответ на: комментарий от emulek

Дело в том, что после каждой такой попытки запуска профиль FF очень часто убивается и он при запуске уже в аккаунте user2 скидывает его на рабочий стол и запускается с дефолтного. Так что он у него поменялся уже N раз.

Suntechnic ★★★★★
() автор топика
Последнее исправление: Suntechnic (всего исправлений: 1)
Ответ на: комментарий от router

firefox - это скрипт для запуска. Если браузер уже запущен, он не будет открывать новое окно. не помню, то ли вкладку создаст, то ли вообще ничего делать не будет.

Это я в курсе. Конечно я пытаюсь запустить его когда он не запущен у этого пользователя.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

pen(«/usr/lib/x86_64-linux-gnu/gconv/UTF-16.so», O_RDONLY|O_CLOEXEC) = 4

Не, он после чтения сразу закрывается - close(4)

Zubok ★★★★★
()
Ответ на: комментарий от Suntechnic

nameserver 127.0.1.1

Либо пропиши яндекс/google dns, либо перезагрузи машину.
Впрочем врядли это связано с твоей проблемой.
А подожди, apparmor отключи для firefox.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от Suntechnic

Ну если не считать что любое значение в /etc/hostname кроме alex-desktop приводит к неработоспособности иксов. Никто не может подключится к дисплею.

Не, тогда не годится без изменения hostname. Это значит, что ты не попробовал. Тебе надо после этого удалить файл .Xauthority в домашней директории. Сделай еще раз.

Что значит, что не может подключиться? Пишет, что не может подключиться к :0.0?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Suntechnic

Что касается strace. Скорее всего, проблема в другом процессе. Сними трейс и выложи. Или глянь, где виснет.

strace -ff firefox 2> log.out
Zubok ★★★★★
()
Ответ на: комментарий от router

firefox - это скрипт для запуска.

нет. Пруф

firefox: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), BuildID[sha1]=c0bad73e726ad07df57266c2bf9ede3c46a22546, stripped

не знаю подробностей

зачем их знать? killall firefox тебе помогут.

emulek
()
Ответ на: комментарий от Suntechnic

дык удали и поставь. И вот эту: /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so AFAIK оно только ФФ нужна.

emulek
()
Ответ на: комментарий от emulek

Да. По крайней мере в Ubuntu это так. Но 'killall firefox' все равно будет работать, потому-что дальше скрипт запускает к бинарник firefox из каталога с приложением.

anonymous_sama ★★★★★
()
Ответ на: комментарий от anonymous_sama

какая версия ФФ? У меня 35.0.1, это недавно так стало?

Но 'killall firefox' все равно будет работать

УМВР

emulek
()
Ответ на: комментарий от anonymous_sama

можно проверить, что там в бинарнике, но меня напрягает делать hg clone, там МНОГО.

emulek
()
Ответ на: комментарий от anonymous_sama

А подожди, apparmor отключи для firefox.

Так он вроде вообще не пашет:

$ /etc/init.d/apparmor status
apparmor stop/waiting
Не?

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Да. И вообще по умолчанию для firefox профиль отключен, но мало ли. Так я не понял, он у тебя теперь стал запукаться, но падает, или он так и не запускается, и ты решил делать strace. Конечно банально, но сделай reinstall пакета и удали ~/.mozilla/

anonymous_sama ★★★★★
()
Ответ на: комментарий от anonymous_sama

Так я не понял, он у тебя теперь стал запукаться, но падает, или он так и не запускается

Не - он как бы запускается. Т.е. стартует, процесс висит, но окно не появляется. При подключении user2@A к user1@A и попытке запуска FF - та же фигня. Т.е. ни фига это не профили - проблема именно в самом FF.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Такое было у меня однажды. И проблема была в профиле. Спасало 'killall -9 firefox', потом очистка профиля (ну в моем случае восстановление более старой версии профиля из бэкапа).

anonymous_sama ★★★★★
()
Ответ на: комментарий от Zubok

Да, сорри. Если именно перегрузится - то да, не ругается на невозможность подрубиться, но все равно не помогло (((

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Да, сорри. Если именно перегрузится - то да, не ругается на невозможность подрубиться, но все равно не помогло (((

А в чем висит strace -ff firefox?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Вот это постоянно повторяется:

[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 163, {1424432602, 624005000}, ffffffff <unfinished ...>
[pid 14249] <... futex resumed> )       = -1 ETIMEDOUT (Connection timed out)
[pid 14249] futex(0x7fb0d71eea80, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14249] futex(0x7fb0c859ab0c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 347, {1424432633, 790002000}, ffffffff <unfinished ...>
[pid 14245] <... futex resumed> )       = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 165, {1424432603, 624256000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 167, {1424432604, 624492000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 169, {1424432605, 624709000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 171, {1424432606, 624939000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 173, {1424432607, 625176000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 175, {1424432608, 625411000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 177, {1424432609, 625647000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 179, {1424432610, 625918000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 181, {1424432611, 626131000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
[pid 14245] futex(0x7fb0c090ea00, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 14245] futex(0x7fb0c1750b8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 183, {1424432612, 626348000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Надо подумать. Вот сейчас я пишу это сообщение из iceweasel (он же firefox в Debian), запущенного из через ssh ... -XC iceweasel от моего юзера zubok из сессии другого юзера. Все работает. Очень странно все. Даже не знаю, что бы такого сделать, чтобы перестало.

Zubok ★★★★★
()
Ответ на: комментарий от Suntechnic

Это только видно один из pid 14245. Их при старте довольно много разных запускается и они все будут тут свалены тут в кучу. Висит в каком-то из них и он не позволяет появиться окну программы. Необязательно в последних строчках. Если указать опцию -o file, то есть

strace -o log -ff firefox 

то он каждый тред сохранит в файл формата log.<pid>. Их много может получиться, но зато можно будет отдельно изучить каждый. Ох, это, конечно, работка еще та. ИМХО, гаданием на кофейной гуще реальнее будет разобраться. :)

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)

На всякий случай, хотя это к делу, скорее всего, не имеет отношения: а с чистым профилем firefox пробовал?

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.