LINUX.ORG.RU

Очень долгий запуск wine


0

1

Вайн чрезвычайно долго запускается. Любые версии и даже crossover. Причем процессор ничем не грузится во время запуска, будто процесс что то ожидает.

time winecfg
real    3m21.565s
user    0m0.259s
sys     0m0.178s
Вроде никаких подозрительных выхлопов не наблюдается. Но если во время запуска нажать ^C то выводит вот что:
err:ntdll:RtlpWaitForCriticalSection section 0x7bcbf8e4 "loader.c: loader_section" wait timed out in thread 0023, blocked by 0009, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0x7bcbf8e4 "loader.c: loader_section" wait timed out in thread 0024, blocked by 0009, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0x7bcbf8e4 "loader.c: loader_section" wait timed out in thread 0025, blocked by 0009, retrying (60 sec)
err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr 0x7bc360da
Удаление ~/.wine не помогает. Гугление тоже ни к чему не привело.
Работает в нем все замечательно, но каждый раз ждать по 3 с лишним минуты запуска уже мочи нету.

1)
Используй strace

strace -ff -r -s 2048 -o /tmp/wine_strace wine блаблабла

-ff - трассировать и потомков тоже
-s 2048 - длина строк 2k
-r - печатать timestamp'ы
-o /tmp/wine_strace - куда писать трейсы

2)

Удаление ~/.wine не помогает.

а переустановка пакетов с wine?

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

Погуглил насчет strace и запустил такое:

strace -T -r -o TEMP/winecfg.log winecfg
опция -T — показывает, как долго выполнялся каждый syscall. И вот кусочек вывода, который выполняется дольше всего:
     0.000178 fstat64(12, {st_mode=S_IFREG|0644, st_size=175860, ...}) = 0 <0.000033>
     0.000170 mmap2(NULL, 175860, PROT_READ, MAP_PRIVATE, 12, 0) = 0x7da0a000 <0.000087>
     0.000171 close(12)                 = 0 <0.000030>
     0.005265 gettimeofday({1332400029, 870483}, NULL) = 0 <0.000149>
     0.000517 time(NULL)                = 1332400029 <0.000091>
     0.000261 socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 12 <0.000078>
     0.000264 setsockopt(12, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 <0.000059>
     0.000200 setsockopt(12, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000028>
     0.000125 fcntl64(12, F_SETFD, FD_CLOEXEC) = 0 <0.000026>
     0.000115 connect(12, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out) <189.254322>
   189.254515 close(12)                 = 0 <0.000046>
     0.000136 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 12 <0.000041>
     0.000133 setsockopt(12, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 <0.000027>
     0.000121 setsockopt(12, SOL_TCP, TCP_NODELAY, [1], 4) = 0 <0.000026>
     0.000131 fcntl64(12, F_SETFD, FD_CLOEXEC) = 0 <0.000027>
     0.000116 connect(12, {sa_family=AF_INET, sin_port=htons(631), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused) <0.000093>
     0.000238 close(12)                 = 0 <0.000036> 
Вот, здесь что то ждет соединения 189 секунд (<189.254322> я так понимаю это секунды?):
 0.000115 connect(12, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out) <189.254322>
   189.254515 close(12)                 = 0 <0.000046>
Я так понимаю, что то куда то ломится по сети. И что теперь делать?
P.S. В kate можно сделать подсветку strace или только в vim?

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

Я уже смотрел, у меня IPv6 вырублен

Wine так не думает, и ломится по v6, отсюда и задержки — это-же ясно написано в логе.

anonymous
()

А если наоборот включить IPv6 в дистрибутиве?

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

0.000115 connect(12, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ETIMEDOUT (Connection timed out) <189.254322>

631 - это cups. Попробуй удалить libwine-print

Далее. Раз у тебя в ОС отключен ipv6, удали его адреса из /etc/hosts ;)

Если там есть что-то вроде

::1 localhost

то в этом и проблема

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

Попробуй ещё

sysctl -w net.ipv6.conf.all.disable_ipv6=1

Но это для новых ядер. В старых этого нет и правильное отключение ipv6 сильно зависит от дистрибутива

router ★★★★★
()
Ответ на: Решение найдено от beer_and_linux

Учти, через ненастроенный ipv6 и тем болеее ненастроенный для ipv6 файрвол кулхацкерам тебя гораздо легче поиметь

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

В /etc/sysctl.conf переменная net.ipv6.conf.all.disable_ipv6 = 1 вроде и так нормально, в hosts все позакомментировал, непомогает. Наверное что то все таки с cups. Где то я такое уже находил когда свою проблему гуглил, но там вроде выхлоп совершенно другой был. Щас еще поищу.

beer_and_linux
() автор топика

Короче надоело возится, все упирается в cups. Разрешу ipv6 а все порты все равно закрыты фаерволом.

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