Bug 6508

Summary: Консультант плюс : не запускается с флешки
Product: WINE@Etersoft Reporter: Shestakov Dmitriy <mid>
Component: Запуск ; Отладка ; ИсключенияAssignee: Svetlana Zhukova <svzhu>
Status: CLOSED INVALID QA Contact: Дмитрий Галочкин <dm>
Severity: critical    
Priority: P1 CC: akv, amorozov, delayer, dm, kondratyuk, lav, olezha
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: 16809, 32261 Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 767, 5991    
Attachments: Скриншот проблемы
wine.log запуска "Консультант Плюс"
логи К+
WINELOG=+file
WINEDEBUG=+file

Description Shestakov Dmitriy 2010-11-19 14:13:55 MSK
"Не получается запустить КонсультантПлюс на флеш носителе. Для вайна флешка является папкой.
А для защиты К+ нужно считать параметры флешки пид, вид и серийник."
Comment 1 Глеб Кордюков 2010-11-22 14:02:20 MSK
Всё работает, но с обновлением каталога SYSTEM проявляется проблема и только на новых модулях программы (после 400015).
Проблема решается если заменить DIN с флэшевского на штатный.
Письмо с вопросом отправил в Консультант. Получу разъяснение - станет всё понятнее.
Comment 2 Глеб Кордюков 2010-11-24 19:28:07 MSK
"Ошибка 269 FLASH_LOCATION_ERROR это как раз когда DIN от флеш версии кладут
например в локальный комплект. Минимально рабочая версия сейчас 400018, при
условии что комплект пополняется . В Din файле прописывается признак какой
комплект (Флеш , локальный или сетевой). Таким образом res модуль понимает
каким способом осуществлять привязку."
Либо клиент чтото неверно с DIN, или не полное пополнение SYSTEM.
Comment 3 Глеб Кордюков 2010-11-24 21:36:15 MSK
"Ошибка 269 FLASH_LOCATION_ERROR это как раз когда DIN от флеш версии кладут
например в локальный комплект. Минимально рабочая версия сейчас 400018, при
условии что комплект пополняется . В Din файле прописывается признак какой
комплект (Флеш , локальный или сетевой). Таким образом res модуль понимает
каким способом осуществлять привязку."
Либо клиент чтото неверно с DIN, или не полное пополнение SYSTEM.
Comment 4 Глеб Кордюков 2010-11-26 19:18:43 MSK
Ситуация совсем смутная.
Появилась 270 ошибка. На винде всё нормально.
Comment 5 Глеб Кордюков 2010-11-30 16:50:56 MSK
Запускается. Веду переписку с Ивановым.
Comment 6 Глеб Кордюков 2010-12-01 17:09:04 MSK
Консультант на флешке не работает.
Проверил на разных машинах.
Выдаются две ошибки в зависимости от того как вайн видит флешку:
ОШИБКА 269 - "Комплект типа "флэш" должен располагаться на флэш-диске"
Вы пытаетесь запустить Флэш версию КонсультантПлюс не с флэш-диска.

ОШИБКА 270 - "Ошибка флэш-носителя. F-%"
Вместо знака % могут быть следующие значения: 3 - Внутренняя ошибка; 4 - Неизвестная ошибка (может возникнуть, если серийный номер флэш-диска слишком короткий, т.е. используется не флэш-диск КонсультантПлюс, или когда флэш-диск расшарен и доступ осуществляется с другого компьютера); 5 - Флэш-диск не найден в Системе; 6 - Флэш-диск не подключен (или отключен через безопасное удаление устройств).

На винде просит регистрацию, хотя флешка зарегистрирована уже была. Надо проверить это, когда Консультант начнет хапускаться под вайн. Быть может неверно и регистрируется.
Comment 7 Александр Морозов 2010-12-01 18:22:56 MSK
На atlant Консультант+ на флэшке запускается.

На Ubuntu 10.10 в vbox WINE не создавал диск автоматически при подключении флэшки, хотя в /etc/wine/config автомонтирование не отключено. Проблема решилась установкой hal. К+ на флэшке при запуске выдаёт ошибку 269.
Comment 8 Александр Морозов 2010-12-01 21:11:24 MSK
На Ubuntu 10.10 почему-то всегда равно нулю поле devnum в структуре usb_device. Если usbhub.sys.so собран с libusb-0.1 (что и имеет место быть в случае сборки для Ubuntu 10.10), то это поле используется для определения, является ли устройство хабом. Если оно <= 1, то устройство считается хабом.

На Mandriva 2010.0/2010.1 и ALT Linux (atlant) это поле заполняется. Смотрел с помощью testlibusb из тарболла с исходниками libusb-0.1.12.

Если поместить в /usr/lib/wine на Ubuntu usbhub.sys.so, собранный с libusb-1.0, то К+ запускается.

Предлагаю поставить libusb-1.0 в среду, используемую для сборки пакетов для Ubuntu.
Comment 9 Александр Морозов 2010-12-02 18:16:53 MSK
В системы, используемые для сборки пакетов WINE, для которых есть пакет вроде libusb-1.0-0-dev (так он называется в Ubuntu 10.10), надо его установить. Если есть новая версия, то старую lubusb-dev желательно удалить.
Comment 10 Денис Баранов 2010-12-02 20:59:58 MSK
(В ответ на comment #9)
> В системы, используемые для сборки пакетов WINE, для которых есть пакет вроде
> libusb-1.0-0-dev (так он называется в Ubuntu 10.10), надо его установить. Если
> есть новая версия, то старую lubusb-dev желательно удалить.

Установил в Ubuntu/10.10 и в x86_64/Ubuntu/10.10 libusb-1.0-0-dev

Нужно протестировать запускается или нет на пересобранной версии.
Comment 11 Глеб Кордюков 2010-12-03 14:25:21 MSK
Hack ситуацию не исправил.
Comment 12 Александр Морозов 2010-12-03 15:20:31 MSK
Заметил, что К+ перестаёт запускаться после перетыкания флешки (с отмонтированием и примонтированием). Помогает только wineserver -k Если просто перемонтировать флешку, не вытаскивая её, то К+ продолжает запускаться. Возможно, проблема связана с этим багом: http://bugs.etersoft.ru/show_bug.cgi?id=4301
Comment 13 Александр Морозов 2010-12-03 15:36:43 MSK
К+ также не запускается, если вставить флешку после запуска WINE.
Comment 14 Глеб Кордюков 2011-02-11 18:05:02 MSK
Можно ли рассмотреть проблему? Если проблема обширна, то отложи на 2.0, если можно решить, тогда сроки определи.
Comment 15 Александр Морозов 2011-02-11 21:21:53 MSK
> Можно ли рассмотреть проблему? Если проблема обширна, то отложи на 2.0, если
> можно решить, тогда сроки определи.
Данный баг зависит от бага 4301, работа над которым сейчас как раз ведётся.
Comment 16 Александр Морозов 2011-03-03 22:16:06 MSK
С патчами, сделанными в ходе работы над #4301, Консультант+ запускается и после переподключения флэшки во время работы wine.
Comment 17 Vitaly Lipatov 2011-03-04 02:52:56 MSK
(В ответ на comment #15)
...
> Данный баг зависит от бага 4301, работа над которым сейчас как раз ведётся.
Видимо это стоило сопроводить «Зависит от» ?
Comment 18 Глеб Кордюков 2011-03-04 18:21:20 MSK
тестил. жду 8.5
Comment 19 Денис Баранов 2011-03-04 19:44:09 MSK
(В ответ на comment #17)
> (В ответ на comment #15)
> ...
> > Данный баг зависит от бага 4301, работа над которым сейчас как раз ведётся.
> Видимо это стоило сопроводить «Зависит от» ?

Как оказалось эту багу удалось победить без полного решения 4301, так что сопровождаю "Связано с".
Comment 20 Александр Морозов 2011-03-09 19:02:18 MSK
Консультант+ на флэшке не запускается на машине kompas.
Comment 21 Александр Морозов 2011-03-09 21:19:28 MSK
Консультант+ получает информацию о первом устройстве, подключенном к хабу, к которому подключена флэшка с Консультантом. Если этим устройством оказывается не его флэшка, а, например, мышка, как на kompas, то получаем ошибку.
Почему Консультант+ не пытается получить информацию о следующем подключенном к хабу устройстве, не ясно.
Сделал хак, заключающийся в перемещении флэшек в начало списка устройтсв.
Comment 22 Александр Морозов 2011-03-10 19:43:56 MSK
Если ранее подключалась другая флэшка, то Консультант+ может выдавать сообщение об ошибке:

Ошибка: 271
Устаревший тип флэш-носителя
Comment 23 Александр Морозов 2011-03-10 21:34:29 MSK
Судя по всему К+ ищет в реестре устройство по параметру Driver. WINE прописывал одинаковый Driver для всех устройств, а в Windows он уникален. В результате К+ находил не то устройство и выдавал приведённое выше сообщение об ошибке.
Отправил патч в рассылку.
Comment 24 Глеб Кордюков 2011-03-14 16:39:31 MSK
Багу принимаю. Проверил на 8.12/18.
Написал инструкцию - http://kb.etersoft.ru/%D0%9A%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D0%BD%D1%82#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_.D0.9A.D0.BE.D0.BD.D1.81.D1.83.D0.BB.D1.8C.D1.82.D0.B0.D0.BD.D1.82.2B_.D0.BD.D0.B0_flash-.D0.BD.D0.BE.D1.81.D0.B8.D1.82.D0.B5.D0.BB.D0.B5
Исправления и дополнения принимаются.
Есть маленькое НО - в силу специфики работы usb - есть вероятность, что одновременно воткнутые сторонние usb накопители не дадут заработать флешке с Консультантом. Решается удалением записей в реестре (см. kb.etersoft.ru)
Comment 25 Александр Морозов 2011-12-22 19:33:07 MSK
WINE@Etersoft 1.0.12 и текущий 2.0 получают информацию о подключении флешки с помощью HAL. Во многих дистрибутивах сейчас HAL уже нет, во всяком случае по умолчанию, так что данный баг снова актуален.

В апстриме добавили поддержку UDisks. Сегодня сделал мерж этих изменений в eterhack. Теперь Wine по умолчанию использует UDisks и только если его нет - HAL. Для HAL-а у нас есть хаки, позволяющие работать Консультанту, для UDisks - нет. Кроме того, для работы К+ на флэшке Wine совершает определённые действия в обработчике подключения USB-устройства. UDisks позволяет получать информацию только о подключении дисков. Получать информацию об USB-устройствах, видимо, надо будет с помощью libudev.
Comment 26 Mikhail Krylatykh 2012-01-19 14:47:34 MSK
Debian 6, wine 1.0.12-eter14/28
Свежий релиз КонсультантПлюс, принесенный на флешке представителем этой конторы. Попробовал рекомендации из Базы знаний, но запуститься в итоге так и не удалось (270ая ошибка).
Comment 27 Александр Морозов 2012-05-11 21:55:45 MSK
Занимался данным багом.
Comment 28 Александр Морозов 2012-05-12 21:27:01 MSK
Сделал, чтобы при вставке USB-флешки создавались нужные записи об устройстве в реестре (с использованием UDisks). Но что-то К+ для флешки при запуске сообщает об ошибке.
Comment 29 Александр Морозов 2012-05-14 21:54:22 MSK
Сделал, чтобы для USB-флешки drive_type устанавливался в DEVICE_HARDDISK. Пофиксил пару регрессий в usbhub.c.
Comment 30 Александр Морозов 2012-05-15 21:31:20 MSK
Поправил перечисление устройств с определённым busnum для случая libusb-0.1. Старый вариант, похоже, не был рассчитан на монтирование флешки после запуска wine.

Портировал в eter-2.0.0 поддержку UDisks и исправления для К+.
Comment 31 Mikhail Krylatykh 2012-05-15 22:00:08 MSK
Уже можно попробовать тестовую сборку?
Comment 32 Александр Морозов 2012-05-16 19:35:34 MSK
Должно работать с открытой частью 2.0.1-alt5
Comment 33 Mikhail Krylatykh 2012-05-17 18:21:03 MSK
Запросил официальную свежую флешку у КонсультантПлюс.
Однако проверить не удалось - тестовые сборки (5/6) для squeeze и precise не хотят устанавливаться, вываливая сообщения о не найденных зависимых пакетах, которые на самом деле имеют место быть (Например, sh, xz, libuuid и так далее). Стабильная сборка на те же компьютеры ставится.
Comment 34 Vitaly Lipatov 2012-05-17 22:15:39 MSK
Уточните, пожалуйста, названия файлов пакетов, которые вы устанавливаете.
Comment 35 Vitaly Lipatov 2012-05-17 23:13:49 MSK
Пакет WINE@Etersoft 2.0 из 2.0-testing собран под Debian/6.0, зависимости проверены. Просьба заказать и скачать сборку ещё раз.
Comment 36 Mikhail Krylatykh 2012-05-21 08:35:51 MSK
Ничего не понимаю...

dpkg: зависимости пакетов не позволяют настроить пакет wine-etersoft-sql:
 wine-etersoft-sql зависит от sh, однако:
  Пакет sh не установлен.
 wine-etersoft-sql зависит от termutils, однако:
  Пакет termutils не установлен.

eter2/1 из соседней папки ставится без вопросов.

Система:
crazytower:/home/delayer# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 6.0.3 (squeeze)
Release:	6.0.3
Codename:	squeeze
Comment 37 Mikhail Krylatykh 2012-05-21 09:27:00 MSK
На Ubuntu Presice ставится (сборка 6/10)
Comment 38 Mikhail Krylatykh 2012-05-21 10:08:32 MSK
По делу:

На 12.04 флешка не завелась. После втыкания флешки и срабатывания автозапуска щелчок по cons.exe заканчивается ошибкой о том, что "отсутствует технологический модуль для запуска программы" (я так понимаю, .res файлы не находит), хотя etersafed запущен. В .wine/dosdevices/ появляется симлинк на устройство флешки ( у меня f: -> /dev/sdc), который, понятно, недоступен. Если создать симлинк с буквой на папку /media/KINGSTON, то получаем ожидаемую ошибку 270 (F-3).
Я так понимаю, cons.exe и рад бы запуститься, но не может адресовать .res файлы по известному ему адресу f:\ConsultantPlus\*.res.
Права на флешку проверил, у пользователя, от которого совершается действо, rw
Comment 39 Александр Морозов 2012-05-21 14:53:29 MSK
Михаил, у вас системы 32- или 64-битные?
Comment 40 Mikhail Krylatykh 2012-05-21 16:40:48 MSK
32-битное всё
Comment 41 Александр Морозов 2012-05-21 20:23:42 MSK
> Портировал в eter-2.0.0 поддержку UDisks и исправления для К+.
В winecfg при переходе на вкладку "Диски" стало выводиться сообщение об отсутствии диска C. Для исправления этой проблемы портировал в eter-2.0.0 ещё один патч для mountmgr.
Comment 42 Mikhail Krylatykh 2012-05-24 09:38:12 MSK
Проверил на текущей сборке (15/6), все аналогично - отсутствует технологический модуль
Comment 43 Александр Морозов 2012-05-25 22:09:09 MSK
На машине Ubuntu 12.04 в vbox К+ выдаёт ошибку 269 (комплект должен располагаться на флэш-диске).

Если заменить mountmgr.sys.so на версию, собранную в ALTLinux с libusb-1.0, то К+ запускается. Видимо, это проблема из комментария 8.
Comment 44 Mikhail Krylatykh 2012-05-31 12:21:20 MSK
Проверил на релизе 2.0.2-1/1 (ubuntu 12.04), получил 270-ую ошибку.
Comment 45 Александр Морозов 2012-06-07 15:25:53 MSK
Сейчас 2.0-testing собирается с libusb-1.0.
Comment 46 Александр Морозов 2012-06-22 19:42:01 MSK
В eterhack теперь поддерживается UDisks2. Добавил поддержку К+ для случая использования данного сервиса.
Comment 47 Mikhail Krylatykh 2012-06-26 16:32:03 MSK
Created attachment 2531 [details]
Скриншот проблемы

Скриншот с проблемой.
Comment 48 Mikhail Krylatykh 2012-06-26 16:32:19 MSK
Сборка 2.0.2-eter10/1.
По-прежнему не запускается, но теперь уже иначе, выдается ошибка самого консультанта. Приложу скриншот.
Ошибка с правами на запись, хоть и выдается, на самом деле некорректна: если открыть блокнот, создать и записать на флешку файл, выдается тот же текст (с фразой о "unsufficient rights"), но сохранение происходит.
Comment 49 Mikhail Krylatykh 2012-06-27 09:12:36 MSK
Created attachment 2534 [details]
wine.log запуска "Консультант Плюс"

записи логов после запуска "К+" через winelog
Comment 50 Mikhail Krylatykh 2012-06-27 09:13:54 MSK
Created attachment 2535 [details]
логи К+

После падения К+ пишет свои логи и создает дамп. Эти данные также отправлены спецам в К+
Comment 51 Mikhail Krylatykh 2012-06-27 10:35:20 MSK
К+ usb, как и "большая" версия, должен при запуске создавать где-то (как правило, или на C:\ или на флешке) директорию CONS.CFG. Сейчас эта директория не создается.
Проверил на win-хосте, там эта папка создается при запуске cons.exe в  E:\ConsultantPlus на флешке (E:\). Возможно, именно ее пытается и не может создать wine.
Comment 52 Александр Морозов 2012-06-27 21:24:31 MSK
> Ошибка с правами на запись, хоть и выдается, на самом деле некорректна: если
> открыть блокнот, создать и записать на флешку файл, выдается тот же текст (с
> фразой о "unsufficient rights"), но сохранение происходит.
Странно, у меня в Ubuntu 12.04 (2.0.2-eter10/1 SQL) такого нет. Не покажете лог +file ?
Comment 53 Mikhail Krylatykh 2012-06-28 10:11:21 MSK
Created attachment 2536 [details]
WINELOG=+file

wine.log с включенным дебагом по +file. Операция: запуск K+ через winelog "E:\\ConsultantPlus\cons.exe"
Comment 54 Александр Морозов 2012-06-28 19:25:43 MSK
> Ошибка с правами на запись, хоть и выдается, на самом деле некорректна: если
> открыть блокнот, создать и записать на флешку файл, выдается тот же текст (с
> фразой о "unsufficient rights"), но сохранение происходит.
Вы имели ввиду вот это сообщение?
err:winediag:FILE_CreateFile failed to open L"\\??\\E:" because of insufficient access rights
Попробуйте в winecfg для диска e: выставить тип "Дисковод".

Ошибка на скриншоте у меня не воспроизводится, скорее всего, из-за старой версии К+.
Comment 55 Mikhail Krylatykh 2012-07-04 15:31:35 MSK
Created attachment 2537 [details]
WINEDEBUG=+file

С выставленным типом E: - Дисковод поведение К+ аналогично. Прилагаю wine.log
Comment 56 Vitaly Lipatov 2013-06-10 16:21:53 MSK
Воспроизводится ли у нас проблема? Если нет, закрываем.
Comment 59 Дмитрий Галочкин 2013-08-06 14:34:22 MSK
Ubuntu/13.04 i586
wine-etersoft 2.1.3-eter2/eter3

При монтировал флэшки с консультант +, выполнии команды winefile (через менеджер файлов) при запуске cons.exe на флэшке выдает ошибку "Ошибка 270. Ошибка флэш носителя F5".

Необходимо подтвердить такое поведение на версии 2.1-testing.

Векрсию Консультант уточняю.
Comment 62 Олег Шевченко 2024-04-15 20:24:31 MSK
Проект больше не поддерживается. 
В последний раз был привязан к релизу W@E 1.0.12
Аннулирую.