LINUX.ORG.RU

История изменений

Исправление AVL2, (текущая версия) :

Прогнал под strace

Картина вполне себе воспроизводимая.

Поставил поставил 34 минимум, поставил группу LXDE и x2goserver

Подключаюсь клиентом x2go

Запускаем strace thunderbird можно вообще без профиля и на первом же окне жмем правую кнопку. Таймаут 30 сек обеспечен.

Фризится, судя по всему, на локе.

futex(0x7f31e032087c,FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY

==Здесь ТАЙМАУТ 30 секунд==

) = 0

Но что это за лок и почему он на обычном десктопе не тормозит?

mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f31d3077000
mprotect(0x7f31d3078000, 8388608, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=0x7f31d3876eb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[10754], tls=0x7f31d3877640, child_tidptr=0x7f31d3877910) = 10754
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
fcntl(86, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(86, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
sendto(82, "W", 1, MSG_NOSIGNAL, NULL, 0) = -1 ENOTSOCK (Операция для сокета применена к не-сокету)
write(82, "W", 1)                       = 1
sendto(85, "\0\0\0\0\0\0\0\0H\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0"..., 72, MSG_NOSIGNAL, NULL, 0) = 72
write(82, "W", 1)                       = 1
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f31d2876000
mprotect(0x7f31d2877000, 8388608, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=0x7f31d3075eb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[10755], tls=0x7f31d3076640, child_tidptr=0x7f31d3076910) = 10755
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7f31e0320760, FUTEX_UNLOCK_PI_PRIVATE) = 0
futex(0x7f31e0320878, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x7f31e0320760, FUTEX_LOCK_PI_PRIVATE, NULL) = 0
futex(0x7f31e032087c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY

==Здесь ТАЙМАУТ 30 секунд==

) = 0
futex(0x7f31e0320760, FUTEX_UNLOCK_PI_PRIVATE) = 0
write(82, "W", 1)                       = 1
futex(0x7f31e0320760, FUTEX_UNLOCK_PI_PRIVATE) = 0
getpid()                                = 10561
munmap(0x7f31d3878000, 67108864)        = 0
close(83)                               = 0
close(81)                               = 0
close(82)                               = 0
munmap(0x7f31e0e10000, 36872)           = 0

Исходная версия AVL2, :

Прогнал под strace

Картина вполне себе воспроизводимая.

Поставил поставил 34 минимум, поставил группу LXDE и x2goserver

Подключаюсь клиентом x2go

Запускаем strace thunderbird можно вообще без профиля и на первом же окне жмем правую кнопку. Таймаут 30 сек обеспечен.

Фризится, судя по всему, на локе.

futex(0x7f31e032087c,FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY

==Здесь ТАЙМАУТ 3 секунд==

) = 0

Но что это за лок и почему он на обычном десктопе не тормозит?

mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f31d3077000
mprotect(0x7f31d3078000, 8388608, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=0x7f31d3876eb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[10754], tls=0x7f31d3877640, child_tidptr=0x7f31d3877910) = 10754
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
fcntl(86, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(86, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
sendto(82, "W", 1, MSG_NOSIGNAL, NULL, 0) = -1 ENOTSOCK (Операция для сокета применена к не-сокету)
write(82, "W", 1)                       = 1
sendto(85, "\0\0\0\0\0\0\0\0H\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0"..., 72, MSG_NOSIGNAL, NULL, 0) = 72
write(82, "W", 1)                       = 1
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f31d2876000
mprotect(0x7f31d2877000, 8388608, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
clone(child_stack=0x7f31d3075eb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[10755], tls=0x7f31d3076640, child_tidptr=0x7f31d3076910) = 10755
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7f31e0320760, FUTEX_UNLOCK_PI_PRIVATE) = 0
futex(0x7f31e0320878, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x7f31e0320760, FUTEX_LOCK_PI_PRIVATE, NULL) = 0
futex(0x7f31e032087c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY

==Здесь ТАЙМАУТ 3 секунд==

) = 0
futex(0x7f31e0320760, FUTEX_UNLOCK_PI_PRIVATE) = 0
write(82, "W", 1)                       = 1
futex(0x7f31e0320760, FUTEX_UNLOCK_PI_PRIVATE) = 0
getpid()                                = 10561
munmap(0x7f31d3878000, 67108864)        = 0
close(83)                               = 0
close(81)                               = 0
close(82)                               = 0
munmap(0x7f31e0e10000, 36872)           = 0