Bug 3819

Summary: Garant F1 + База данных
Product: WINE@Etersoft Reporter: Mikhail Krylatykh <delayer>
Component: Установка программ / MSIAssignee: Илья Шпигорь <shpigor>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P4 CC: baraka, lav, night, shpigor
Version: 1.0.9Keywords: ИНТЕРРА
Target Milestone: ---   
Hardware: PC   
OS: Debian GNU/Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 4498    
Bug Blocks: 4284, 4623    
Attachments: Скрин
Лог из консоли
скрин проблемы

Description Mikhail Krylatykh 2009-04-15 11:44:49 MSD
Установка (winexp f1setup.exe) проходит нормально. После ее завершения запускается установка данных. Она не может найти дистрибутив, выдавая окно с соответсвующей ошибкой и кнопками обзор и отмена. Указание директории Data/ с файлами баз не дает эффекта. Права доступа правильные, выставлены setwineshare.
Пробовал до кучи играться с winecfg - также ноль эффекта
Comment 1 Денис Баранов 2009-04-21 14:14:39 MSD

*** This bug has been marked as a duplicate of bug 3806 ***
Comment 2 Илья Шпигорь 2009-11-11 12:47:21 MSK
Эта бага не дублирует 3806, т.к. в данном случае выдается не просто сообщение об ошибке, а что-то вроде следующего:

"Дистрибутив не найден. Пожалуйста, укажите путь к дистрибутивному диску вручную"

Необходимо воспроизвести у нас.
Comment 3 Mikhail Krylatykh 2009-11-11 14:59:04 MSK
Как скажете...
Comment 4 Денис Баранов 2009-11-14 13:52:24 MSK
(In reply to comment #0)
> Установка (winexp f1setup.exe) проходит нормально.

Установку нужно запускать командой $ wine98 programm.exe
Comment 5 Mikhail Krylatykh 2009-11-17 10:51:19 MSK
запустил, ничего не изменилось
Comment 6 Денис Баранов 2009-11-19 10:10:06 MSK
Ошибка скорее всего аналогична 4498.
После ее решения нужно будет проверить.
Comment 7 Денис Баранов 2009-11-20 12:15:11 MSK
(In reply to comment #5)
> запустил, ничего не изменилось
> 

Попробуйте увеличить лимит на количество открытых файлов для процесса, как указано в http://bugs.etersoft.ru/show_bug.cgi?id=4498#c2
Comment 8 Mikhail Krylatykh 2009-11-20 12:21:13 MSK
*               soft    nofile          200000
*               hard    nofile          200000
куда уж выше...
Comment 9 Илья Шпигорь 2009-11-20 12:32:28 MSK
Подозреваю, что эта ошибка отличается от 4498. У нас как-нибудь можно воспроизвести? Может быть, связана с какой-то специфичной базой данных?
Comment 10 Денис Баранов 2009-11-21 16:16:20 MSK
(In reply to comment #9)
> Подозреваю, что эта ошибка отличается от
> 4498. У нас как-нибудь можно воспроизвести?

У нас пока не смог никак воспроизвести.

> Может быть, связана с какой-то специфичной
> базой данных?
Возможно но вряд ли.

Comment 11 Andrey Vusik 2009-12-14 18:29:29 MSK
Бутылки garant/garant-night или garant/garant-night-1 (с разными версиями гаранта)

Проблема при установке базы данных.
После нажатия на "обзор" для выбора места расположения дистрибутива, получаем ошибку на скриншоте.

Лимит на открытые файлы - 30000 (раньше хватало)
Comment 12 Andrey Vusik 2009-12-14 18:30:53 MSK
Created attachment 1427 [details]
Скрин
Comment 13 Vitaly Lipatov 2009-12-14 18:50:52 MSK
(In reply to comment #12)
> Created an attachment (id=1427) [details]
> Скрин
А нельзя ли получить полный лог, кусок которого виден в консоли?
Comment 14 Andrey Vusik 2009-12-14 20:10:59 MSK
Created attachment 1428 [details]
Лог из консоли
Comment 15 Илья Шпигорь 2009-12-15 15:54:22 MSK
Проблема заклчается в структурах примерно такого вида:

typedef struct tagPIDLCPanelStruct
{ 
    BYTE dummy;
    DWORD iconIdx;
    WORD offsDispName;
    WORD offsComment;
    CHAR szName[1];
} PIDLCPanelStruct;

Где szName на самом деле используется в качестве указателя для записи подряд нескольких строк.

gcc из-за указанного флага -D_FORTIFY_SOURCE=2 использует вместо функции strcpy ее безопасный  вариант __strcpy_chk. Эта замена функций и приводит к ошибке.

Правильно решить багу весьма затруднительно. Структур подобного типа несколько и, судя по логике, указатели на них используются в качестве чего-то вроде интерфейсов.

Временное решение заключается в использовании флага -D_FORTIFY_SOURCE=1 для сборки shell32, что позволяет применять менее строгие проверки на переполнение буфера.
Comment 16 Илья Шпигорь 2009-12-15 17:27:08 MSK
Высланный в рассылку патч прикладывать не надо.

Вместо него необходимо использовать коммит:

commit 5c8069b06d4c2f8cad7d3774ba49c98798991b42
Author: Vitaly Lipatov <lav@etersoft.ru>
Date:   Tue Dec 15 17:06:50 2009 +0300

    set _FORTIFY_SOURCE=1 for override default =2 setting (see bug #3819)

Который корректирует _FORTIFY_SOURCE в configure.ac

Возможно, эта проблема актуальна и для ветки eterhack, а также для открытых сборок - public и vanilla.
Comment 17 Andrey Vusik 2009-12-16 19:13:01 MSK
Принято.
1.0.12-eter1.2/1
Comment 18 Mikhail Krylatykh 2010-04-01 17:58:17 MSD
Обновился сейчас до 12-4/3. Как требовал дистрибутив, так и требует. Сама установка попрежнему проходит нормально, не может загрузить данные. Что я делаю не так?
Comment 19 Mikhail Krylatykh 2010-04-01 18:00:22 MSD
Created attachment 1610 [details]
скрин проблемы

Запуск datasetup.exe через wine/winexp аналогичны.
Comment 20 Andrey Vusik 2010-04-02 01:20:43 MSD
(In reply to comment #19)
> Created an attachment (id=1610) [details]
> скрин проблемы
> 
> Запуск datasetup.exe через wine/winexp аналогичны.
> 

У меня аналогично, но если указать через "Обзор" путь к папке /data то всё ок.
Права на неё у меня drwxrwsr-x
Проверял на 1.0.12-eter4.1/3
Comment 21 Mikhail Krylatykh 2010-04-02 09:45:14 MSD
Выставил 777 на весь каталог с Гарантом. Не выходит. к сожалению. Какие-то может дополнительные параметры запуска? wine datasetup.exe не видит данные. Попробую, во-первых, дообновиться до 4.1/3, вдруг вы там что-то допоправили ;). Во-вторых, возможно, у меня какая то некорректная версия этого гаранта. Новая, из первых рук, так сказать, будет в понедельник.
Comment 22 Mikhail Krylatykh 2010-04-02 09:45:34 MSD
Выставил 777 на весь каталог с Гарантом. Не выходит. к сожалению. Какие-то может дополнительные параметры запуска? wine datasetup.exe не видит данные. Попробую, во-первых, дообновиться до 4.1/3, вдруг вы там что-то допоправили ;). Во-вторых, возможно, у меня какая то некорректная версия этого гаранта. Новая, из первых рук, так сказать, будет в понедельник.
Comment 23 Andrey Vusik 2010-04-02 10:03:59 MSD
(In reply to comment #22)
> Выставил 777 на весь каталог с Гарантом. Не
> выходит. к сожалению. Какие-то может
> дополнительные параметры запуска? wine
> datasetup.exe не видит данные. Попробую,
> во-первых, дообновиться до 4.1/3, вдруг вы там
> что-то допоправили ;). Во-вторых, возможно, у
> меня какая то некорректная версия этого
> гаранта. Новая, из первых рук, так сказать,
> будет в понедельник.
> 

Через "обзор" выбираете папку data?
Плюс: нужно смотреть, если ставите, например, клиент-серверную, то data хранится либо в корне либо в local. В общем смотреть чтобы в папке data что-то было.
Comment 24 Mikhail Krylatykh 2010-04-02 10:09:26 MSD
ls wine_c/GARANT/Data/
data.vrs    P2499.2EY  P2499.6T0  P2499.6T4  P2499.9TR  P2499.ND2
DEALER.INF  P2499.3EY  P2499.6T1  P2499.6TR  P2499.KEY  P2499.ND3
P2499.0EY   P2499.4TR  P2499.6T2  P2499.7TR  P2499.ND0
P2499.1EY   P2499.5EY  P2499.6T3  P2499.8TR  P2499.ND1

Судя по установке, ставится локальная версия Гаранта.
Comment 25 Mikhail Krylatykh 2010-04-05 11:25:01 MSD
Запросил 4.1/3 для Etch - пришла 4/3
Comment 26 Mikhail Krylatykh 2010-04-05 22:07:45 MSD
На текущих настройках (eter4/3) с актуальной версией гаранта все работает. Видимо, побитая копия мне досталась.
Comment 27 Vitaly Lipatov 2014-09-12 02:52:47 MSK
Закрываем баги, принятые более года назад, и до сих пор не закрытые.