New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

[Решено] Не работает у 2 пользователей одновременно

Сообщаем о найденных ошибках сюда

Re: Не работает у 2 пользователей одновременно

Postby Ars » Fri May 15, 2009 2:49 pm

а хоть папка /home/{username}/.goldendict создается?
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby Ars » Sat May 16, 2009 11:13 am

закоммитил измененный алгоритм. Просьба отписаться, пропала ли проблема.
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby ache » Sat May 16, 2009 3:15 pm

Ars wrote:а хоть папка /home/{username}/.goldendict создается?

Да. Попробовал удалить их и запустить — не помогло. Создались заново без pid-файла.
Ars wrote:закоммитил измененный алгоритм. Просьба отписаться, пропала ли проблема.

Не пропала. strace goldendict для второго пользователя (у которого не работает): http://pastebin.com/m4704bd91
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

Re: Не работает у 2 пользователей одновременно

Postby Ars » Sat May 16, 2009 8:34 pm

А какой именно линукс? Какой дистрибутив? И что с правами записи у второго пользователя?
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby ache » Sun May 17, 2009 12:28 am

Ars wrote:А какой именно линукс? Какой дистрибутив?

Code: Select all
$ uname -a
Linux crater 2.6.28-gentoo-r5 #3 PREEMPT Fri May 1 01:24:41 MSD 2009 x86_64 AMD Athlon(tm) 64 Processor 2800+ AuthenticAMD GNU/Linux

Дистрибутив Gentoo.
Ars wrote:И что с правами записи у второго пользователя?

Какими правами? В своих директориях могут писать оба. Права на ~ и на ~/.goldendict/ у обоих drwxr-xr-x и владельцем является соответствующий пользователь. Оба пользователя состоят в группах disk, lp, audio, cdrom, video, games, cdrw, users, plugdev, burning, qemu, vboxusers, vmware, один дополнительно в wheel и portage, но результат для обоих одинаков. Права на /proc и все директории процессов в ней dr-xr-xr-x. ACL, SELinux или что-либо подобное не используется.

В strace ревизии 310 я не заметил каких-либо обращений к файлам в ~/.goldendict/ помимо ~/.goldendict/config. Каким образом сейчас проверяется единственность процесса: по файлу в ~/.goldendict/ или анализом /proc?
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

Re: Не работает у 2 пользователей одновременно

Postby Ars » Sun May 17, 2009 11:36 am

Алгоритм проверки простой: сначала в домашнем каталоге ищется .goldendict/pid. Если его там нет, то он создается, в него пишется текущий pid и программа запускается.
Если он там есть, pid читается и ищется в proc. Если нашли - выходим без запуска, иначе перезаписываем своим пидом и запускаем.
По завершению программы, файл pid удаляется.
Работоспособность была проверена на ubuntu, kubuntu, suse linux. Так же работает в висте и ХР.
Что не так с джентой - сказать трудно, т.к. нет возможности сейчас проверить.
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby ikm » Sun May 17, 2009 11:50 am

ache, а если добавить в main.cc на 55 строке что-нибудь типа

Code: Select all
printf( ">> pid file name: %s\n", pid_file.fileName().toUtf8().data() );
printf( ">> exists? %d\n", pid_file.exists() ? 1 : 0 );


и посмотреть, что же он будет печатать при запуске?
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Не работает у 2 пользователей одновременно

Postby Ars » Sun May 17, 2009 2:16 pm

Константин, а у тебя нормально работает? (какой линукс используешь,кстати?)
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Не работает у 2 пользователей одновременно

Postby ikm » Sun May 17, 2009 2:33 pm

Debian sid. Но мне очень не хочется создавать двух пользователей :) Судя по приаттаченному логу от strace, к пид-файлу вообще никакого обращения нет, что выглядит очень странно. Поэтому я и попросил добавить printf'ы.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Не работает у 2 пользователей одновременно

Postby ache » Sun May 17, 2009 4:46 pm

Нашёл проблему в своей системе. При установке новой версии в /usr/bin/ не удалялись старые из /usr/local/bin/.

Параллельно у двух пользователей теперь работает.
ache
 
Posts: 30
Joined: Fri Apr 03, 2009 11:06 am

PreviousNext

Return to Ошибки

Who is online

Users browsing this forum: Google [Bot] and 19 guests