Bug 5302

Summary: Неработоспособность экспорта в XML на 1.0.12 eter4/eter3 SQL
Product: WINE@Etersoft Reporter: Лебединский Александр <prof.alex1975>
Component: ОбщееAssignee: Илья Шпигорь <shpigor>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: major    
Priority: P2 CC: baraka, dein, delayer, denis, goga, lav, sonner, valrust
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: Gentoo   
Whiteboard:
Заявки RT: 13734, 13879, 14268, 14243, 14301, 14379, 14427 Связано с:
Дата напоминания:
Bug Depends on: 4604    
Bug Blocks: 5395    
Attachments: Обработка 1с: проверка версий XML парсеров.

Description Лебединский Александр 2010-03-19 11:28:44 MSK
На версии WINE@Etersoft 1.0.12 eter4/eter3 SQL перестали работать стандартные обработки выгрузки в xml на 1С:Бухгалтерия версии 7.7. При вызове гXMLАнализатор.СоздатьПоследовательноЗаписываемыйДокумент() появляется сообщение об ошибке 'Ошибка исполнения метода' после чего 1С помогает только kill pid.

Откатил закрытую часть до 1.0.12eter1, сделал wine --update работоспособность восстановилась.
Запуститься на 1.0.12eter3 без wine --update не удаётся, 1С ругается на импорт библиотек.

Переезд на 1.0.12eter3 и обратно повторил несколько раз, всегда с одинаковым результатом.
Comment 1 Денис Баранов 2010-03-24 15:20:18 MSK
Удалось воспроизвести проблему в бутылке.
WINE@Etersoft 1.0.12 eter4.1/eter3
Бутылка: 1c77/1c77-27
База: Бухгалтерия Демо
Способ воспроизведения:
Операции > Обработка > Выгрузка данных для конфигурации > Выгрузить
Происходит зависание.

Через winedbg удалось получить такой BT:
Backtrace:
=>0 0xb7e9732c __libc_read+0x1c() in libpthread.so.0 (0x0032f96c)
  1 0x7efa4af3 NTDLL_wait_for_multiple_objects+0x253() in ntdll (0x0032fb9c)
  2 0x7efa4de3 NtWaitForMultipleObjects+0x63() in ntdll (0x0032fbdc)
  3 0x7ee58ede WaitForMultipleObjectsEx+0xee() in kernel32 (0x0032fd2c)
  4 0x7e3a1338 X11DRV_MsgWaitForMultipleObjectsEx+0xb8() in winex11 (0x0032fd7c)
  5 0x7e9b4238 GetMessageW+0xe8() in user32 (0x0032fddc)
  6 0x7e9b43b7 GetMessageA+0xa7() in user32 (0x0032fdfc)
  7 0x5f4011a7 in mfc42 (+0x11a7) (0x0043611c)
Comment 2 Илья Шпигорь 2010-03-31 16:12:38 MSD
Очевидно проблема в msxml. Надо экспериментировать с используемым парсером. Проблема очень похожа на багу #4276.
Comment 3 Илья Шпигорь 2010-03-31 16:28:43 MSD
Попробовал парсеры msxml3, msxml4, msxml6 из winetricks - проблема не решилась.
Comment 4 Лебединский Александр 2010-03-31 16:34:10 MSD
Проблемы несовместимости msxml разных версий для 1С существуют и в виндовс, т.е. это старая проблема иного характера.
Сами по себе файлы .dll в system32 у меня не меняются, т.к. это не ссылки. При зарегистрированных "неверных" .dll 1С ругается иначе.

Поскольку свободная часть тоже не меняется, это наводит на мысли об отсутствии ошибок в builtin-версиях.
Comment 5 Глеб Кордюков 2010-05-04 19:27:21 MSD
Какого состояние баги на данный момент?
Comment 6 Илья Шпигорь 2010-05-05 13:03:25 MSD
Выгрузка данных в 1с7 под windows работает только с xml pareser 3.0. Если версия выше - выдает ошибку.
Comment 7 Илья Шпигорь 2010-05-05 13:38:27 MSD
Пробовал установить XML parser 3.0 через winetricks (msxml3) и зарегистрировать его через "wine regsvr32 msxml3.dll". Не помогло, ошибка воспроизводится.
Comment 8 Илья Шпигорь 2010-05-05 13:57:56 MSD
Запустил в бутылке оригинальный wine.
После этого сообщение об ошибке изменилось.
Было:
"Ошибка исполнения метода", после этого зависание

Стало:
"Значение не представляет агргатный объект (Загрузить)", зависания нет

Скорее всего это связано с изменениями в реестре, которые внес оригинальный wine.

Проверить ошибку на оригинальном wine не удалось - он падает сразу после открытия MDI окна "Выгрузка данных..."
Comment 11 Боренко Денис 2010-05-07 10:42:43 MSD
Так же наблюдаю на 1.0.12 4/5.
Не зависит от парсера xml.
Пробовал и с 3 и 4 (установленную версию проверял в v7plus.dll ВерсияБазовогоАнализатора, ВерсияАнализатора=2.0).
Выдает ошибку и виснет.
Умирает на гXMLАнализатор.СоздатьПоследовательноЗаписываемыйДокумент().
Хотелось бы починить, критично. Все выгрузки и обмены между базами перестали работать.

Comment 12 Илья Шпигорь 2010-05-07 14:28:27 MSD
В качестве временного решения можно поставить dcom98:

winetricks dcom98
Comment 13 Боренко Денис 2010-05-07 14:38:07 MSD
(In reply to comment #12)
> В качестве временного решения можно
> поставить dcom98:
А че не сразу винды?
Comment 14 Калюхович Юрий 2010-05-17 12:33:47 MSD
из заявки 14268, помогло $ wine98 regsvr32.exe msxml4.dll
Comment 15 Боренко Денис 2010-05-17 12:40:39 MSD
Created attachment 1701 [details]
Обработка 1с: проверка версий XML парсеров.

Обработка 1с, которая определяет реальные версии парсера.
В данный момент, наиболее правильной является версия парсия 2.0 и версия базового парсера (msxml) 4.0.
Если версия парсера меньше 2.0, нужно обновить v7plus.dll
Если версия базового парсера неопределена или меньше четырех нужно сделать
wine98 regsvr32 msxml4.dll /u
wine98 regsvr32 msxml4.dll
Comment 16 Боренко Денис 2010-05-17 12:42:31 MSD
Забыл добавить, эта бага проявляется при правильных версиях парсеров, а случай с заявкой 14268 легко было выявить с помощью обработки.
Comment 17 Илья Шпигорь 2010-05-20 12:11:25 MSD
*** Bug 4276 has been marked as a duplicate of this bug. ***
Comment 18 Vitaly Lipatov 2010-05-31 21:26:44 MSD
Исправлено к 1.0.12 bugfix 2
Comment 19 Илья Шпигорь 2010-06-02 14:05:15 MSD
*** Bug 5481 has been marked as a duplicate of this bug. ***
Comment 20 Денис Баранов 2010-12-03 18:41:11 MSK
Баг-фикс выпущен давно.