Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 2357 - Генерация исключения при wineboot --update   Make a simular bug
Summary: Генерация исключения при wineboot --update
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Общее (show other bugs)
Version: 1.0.9
Hardware: PC Ubuntu
: P1 blocker
Target Milestone: ---
Assignee: Vitaly Lipatov
QA Contact:
URL: http://rt.etersoft.ru/Ticket/Display....
Whiteboard:
Keywords:
: 2225 2264 (view as bug list)
Depends on: 1604 2457 2662
Blocks: 777 2399
  Show dependency treegraph
 
In work:
Reported: 2008-09-02 19:25 MSD by Leonid Shadevsky
Modified: 2008-10-17 18:11 MSD (History)
7 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments
Вывод wine --attach (2.36 KB, text/plain)
2010-11-18 03:58 MSK, Leonid Shadevsky
Details
вывод рабочего $sh -x wine --attach (14.39 KB, text/plain)
2010-11-18 03:58 MSK, Leonid Shadevsky
Details
вывод attach с указанием дирректории (2.29 KB, text/plain)
2010-11-18 03:58 MSK, Leonid Shadevsky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Shadevsky 2008-09-02 19:25:32 MSD
ubuntu 8.04 + Wine@Etersoft Network 1.0.9.

При wine --attach выдает следующее:

alex@ServU:~$ wine --attach
First running... Using WINEPREFIX=/home/alex/.wine
Dir /var/lib/wine/default is not prepared dir

Права на директории выставлены уже и 2777.
Comment 1 Leonid Shadevsky 2008-09-02 19:43:31 MSD
Created attachment 694 [details]
Вывод wine --attach

У нас ошибка воспроизвелась немного по-другому - запускаем wine --attach (вывод в логе) далее все повисает.
Comment 2 Глеб Кордюков 2008-09-05 19:37:30 MSD
Отмечаю полное повторение баги - http://rt.etersoft.ru/Ticket/Display.html?id=7697
Таже система, тот же wine.
Comment 3 Vitaly Lipatov 2008-09-05 19:40:35 MSD
(In reply to comment #0)
> ubuntu 8.04 + Wine@Etersoft Network 1.0.9.
> 
> При wine --attach выдает следующее:
> 
> alex@ServU:~$ wine --attach
> First running... Using WINEPREFIX=/home/alex/.wine
> Dir /var/lib/wine/default is not prepared dir
Ну так а wine --admin делался до этого?
Тогда нужно показать содержимое /var/lib/wine/default
Comment 4 Vitaly Lipatov 2008-09-05 19:42:24 MSD
(In reply to comment #2)
> Отмечаю полное повторение баги -
> http://rt.etersoft.ru/Ticket/Display.html?id=7697
> Таже система, тот же wine.
Не очень понятно из заявки в чём проблема.
У нас воспроизводится?
Клиента попросить запустить
$ sh -x /usr/bin/wine --attach
и прислать нам вывод.
Comment 5 Глеб Кордюков 2008-09-05 19:44:43 MSD
wine --admin делался.
Comment 6 Andrey Vusik 2008-09-07 13:21:11 MSD
Проблема клиента явно в том, что не делалось wine --admin. 
У нас проблема, действительно, в другом. У меня примерно такой же лог как у Лёни.
Comment 7 Константин Кондратюк 2008-09-08 10:36:17 MSD
(In reply to comment #6)
> Проблема клиента явно в том, что не
> делалось wine --admin. 

Не обязательно. В одной из версий была бага, когда проверялось наличие reg-файла ДО его копирование в $SYSDIR, я исправлял.
Кажется, ещё возможнен такой случай, когда на $SYSDIR не хватает прав, и при выполнении --admin реестр не копируется.

$ sh -x /usr/wine --attach обязательно
А ещё лучше, если будет возможность посмотреть и --admin, и --attach.
Comment 8 Boris Savelev 2008-09-09 17:23:23 MSD
не понял особо о чем речь тут, но смысл проблемы с которой сталкивался я в том, что не работает wine --{admin,attach} с указанием директории
без указания директории все работало.
Comment 9 Денис Баранов 2008-09-09 20:01:47 MSD
Пока локальный клбч HASP у нас не поддерживается. По этому ждем решения 1879
Comment 10 Денис Баранов 2008-09-09 20:14:02 MSD
(In reply to comment #9)
> Пока локальный клбч HASP у нас не
> поддерживается. По этому ждем решения 1879
> 

Не туда написал!!!
Comment 11 Leonid Shadevsky 2008-09-09 21:03:54 MSD
Created attachment 708 [details]
вывод рабочего $sh -x wine --attach

Проблема решилась: как и описано в заявке, в группе wineadmin состояли оба пользователя, поэтому второй юзер не мог сделать wine --attach.
После его удаления из группы все встало на свои места, багу закрываем.
Comment 12 Leonid Shadevsky 2008-09-09 21:12:57 MSD
Created attachment 709 [details]
вывод attach с указанием дирректории

а вот с указанием директории, как и указал Борис, не работает
Comment 13 Leonid Shadevsky 2008-09-09 21:16:02 MSD
При указании директории проблема воспроизводится точь-в-точь как у клиента, (вообще странно, как у него wine игнорит двух юзеров в группе wineadmin)
Comment 14 Константин Кондратюк 2008-09-09 23:40:52 MSD
Так, я исправлял уже эту багу с двумя админами!
Сейчас найду и прицеплю в связанные...
Comment 15 Константин Кондратюк 2008-09-09 23:42:36 MSD
http://bugs.etersoft.ru/show_bug.cgi?id=1115
Не совсем то, но можно видеть, что совсем недавно --attach у второго админа работал.
Comment 16 Константин Кондратюк 2008-09-10 10:08:21 MSD
Вспроизведение баги:

$ WINEDEBUG=+wineboot /usr/bin/wine-glibc wineboot.exe --update
Warning: could not find DOS drive for current working directory '/home/guest2', starting in the Windows directory.
trace:wineboot:pendingRename Entered
trace:wineboot:pendingRename Value not present - nothing to rename
trace:wineboot:ProcessRunKeys processing L"RunServicesOnce" entries under HKLM
trace:wineboot:ProcessRunKeys processing L"RunServices" entries under HKLM
err:wineusb:ServiceMain bad hardware ID
err:wineusb:ServiceMain bad hardware ID
trace:wineboot:ProcessRunKeys processing L"RunOnce" entries under HKLM
trace:wineboot:ProcessRunKeys No commands to execute.
trace:wineboot:ProcessRunKeys done
trace:wineboot:main Operation done
trace:wineboot:pendingRename Entered
trace:wineboot:pendingRename Value not present - nothing to rename
trace:wineboot:ProcessRunKeys processing L"RunServicesOnce" entries under HKLM
err:rpc:I_RpcReceive we got fault packet with status 0x3e6
Failed to create MSI service
Comment 17 Константин Кондратюк 2008-09-11 12:53:26 MSD
*** Bug 2264 has been marked as a duplicate of this bug. ***
Comment 18 Константин Кондратюк 2008-09-11 12:54:38 MSD
*** Bug 2225 has been marked as a duplicate of this bug. ***
Comment 19 Константин Кондратюк 2008-09-11 17:13:49 MSD
Статус 0x306, он же 998 для RPC, означает ERROR_NOACCESS.
Comment 20 Константин Кондратюк 2008-09-11 17:16:10 MSD
Исключение возникает в функции NdrSendReceive, куда возвращается статус NOACCESS.

  status = I_RpcSendReceive(stubmsg->RpcMsg);
  if (status != RPC_S_OK)
    RpcRaiseException(status);

Конечно же, простое отламывание этого эксепшна ни к чему хорошему не приводит :)
Генерируется из другого места.
Comment 21 Константин Кондратюк 2008-09-11 17:34:28 MSD
Исключение возникает в функции NdrSendReceive, куда возвращается статус NOACCESS.

  status = I_RpcSendReceive(stubmsg->RpcMsg);
  if (status != RPC_S_OK)
    RpcRaiseException(status);

Конечно же, простое отламывание этого эксепшна ни к чему хорошему не приводит :)
Генерируется из другого места.
Comment 22 Константин Кондратюк 2008-09-11 18:26:46 MSD
Пакет с ptype == PKT_FAULT приходит из функции rpcrt4_conn_read

static inline int rpcrt4_conn_read(RpcConnection *Connection,
                     void *buffer, unsigned int len)
{
  return Connection->ops->read(Connection, buffer, len);
}
Comment 23 Константин Кондратюк 2008-09-11 19:00:01 MSD
WINEDEBUG=+all даёт такой кусок в ходе выполнения RPCRT4_receive_fragment (до того момента, как вернётся пакет PKT_FAULT)

0009:trace:rpc:RPCRT4_receive_fragment (0x14e3070, 0x33a5e8, 0x33a574)
0009:Call KERNEL32.ReadFile(00000070,0033a508,00000010,0033a4bc,00000000) ret=7ebb32d4
0009:trace:file:ReadFile 0x70 0x33a508 16 0x33a4bc (nil)
0009:trace:ntdll:NtReadFile (0x70,(nil),(nil),(nil),0x33a3c8,0x33a508,0x00000010,(nil),(nil)),partial stub!
0009:trace:ntdll:NtReadFile = SUCCESS (16)
0009:Ret  KERNEL32.ReadFile() retval=00000001 ret=7ebb32d4
Comment 24 Vitaly Lipatov 2008-09-11 19:02:54 MSD
Я так понимаю, что чтение выполняется успешно. Значит проблема в содержании ответа. Либо там мусор, либо отправитель (сервер) неверно отвечает.
Comment 25 Константин Кондратюк 2008-09-12 12:51:24 MSD
Ошибка связана с некорректной работой службы mountmgr.sys
После исключения её из сборки (alt20) выполнение --update проходит корректно.
Comment 26 Константин Кондратюк 2008-09-15 13:21:16 MSD
В alt20 воспроизводится на некоторых машинах. Например, на pav
Comment 27 Vitaly Lipatov 2008-09-15 22:14:36 MSD
В eter21 добавлен патч, убирающий генерацию исключения, приводящего к блокировкам.
Comment 28 Константин Кондратюк 2008-09-16 12:04:16 MSD
Работает wineboot --update, запущенный отдельно.
При выполнении этой же команды в ходе обновления (wine --update) блок возникает где-то в другом месте.
Comment 29 Константин Кондратюк 2008-09-16 12:10:34 MSD
Пока не получается воспроизвести проблему, используя ww (а значит, добавлять нужные трейсы).
$ ww wineboot --update с любой комбинацией переменных окружения работает успешно.
Comment 30 Константин Кондратюк 2008-09-17 09:36:59 MSD
Обходной вариант, убирающий блокировку.

В .update-timestamp указываем disable.
Не понял пока, что произойдёт с командой wineboot --update, но выполняться она будет в весьма урезанном варианте.
wine --update начинает работать без проблем.
Comment 31 Vitaly Lipatov 2008-09-17 14:26:45 MSD
(In reply to comment #30)
> Обходной вариант, убирающий блокировку.
> 
> В .update-timestamp указываем disable.
> Не понял пока, что произойдёт с командой
> wineboot --update, но выполняться она будет в
> весьма урезанном варианте.
Судя по коду wineboot
            if (!strncmp( buffer, "disable", sizeof("disable")-1 )) goto done;
            if (!force && timestamp == strtoul( buffer, NULL, 10 )) goto done; 
при указанном disable вообще не будет выполняться обновление никогда

Comment 32 Vitaly Lipatov 2008-09-17 19:53:27 MSD
После исправления 2457 всё должно быть хорошо.
Comment 33 Константин Кондратюк 2008-10-07 12:50:28 MSD
Debian, последняя сборка. Актуально.
Comment 34 Константин Кондратюк 2008-10-07 12:51:24 MSD
Денис, воспроизведи, пожалуйста, на последних сборках. На любой системе, на какой сможешь.
Comment 35 Денис Баранов 2008-10-07 14:15:24 MSD
Ubuntu 8.04 сборка wine и libwine от 20 сентября. Ошибка воспроизвелась.
Comment 36 Константин Кондратюк 2008-10-07 15:03:00 MSD
Ошибка - stack overflaw (из баги #2399)

Последний коммит из доступных в опубликованном репозитории:

commit be2b81806f46aaed0c241d312d0466b28d430cb9
Author: Vitaly Lipatov <lav@etersoft.ru>
Date:   Thu Sep 18 12:53:53 2008 +0400

    enable mountmgr again

Есть ли правки позднее? Если есть, то нужна сборка current под все системы (в первую очередь - для Ubuntu 8.04)
Comment 37 Vitaly Lipatov 2008-10-15 17:19:00 MSD
Проблему считаем исправленной в 1.0.9-eter24.
Эту багу не переоткрывайте, если что, создавайте новую с чётким описанием проблемы.