Created attachment 1655 [details] протокол сбоя 1С 8.1 на Mandriva 2010 падает при разворачивании окна встроенного браузера в полный экран. Воспроизвести проще всего следующим образом: открыть конфигурацию, нажать F1. Если 1С не падает, попробовать развернуть окно браузера. Кроме того, не работают кнопки управления окном, его невозможно закрыть или свернуть. Проблема воспроизводится в Mandriva 2010.0 x86_64 и не воспроизводится в CentOS 5.4 x86_64, при этом версия wine одна и та же.
Created attachment 1656 [details] информация о системе
Илья, видимо надо уточнить проблему, и передать Стасу.
Полагаю, проблема в том, что нет gecko. Это связано с тем, что gecko 32-х битный, и когда ставится 64-х битный wine, он идет без gecko. В результате, при просмотре html страничек wine будет падать. Какие сборки wine на Ваших Mandriva и CentOS? Обе 64х битные?
Под Mandriva и CentOS предоставляется только один вариант сборки WINE@Etersoft; Насколько я понял - 32-разрядный.
А какая у Вас версия wine?
Попробуйте, пожалуйста, запустить: wine iexplore Корректно ли откроется страничка или произойдет падение?
Версия Wine - см. http://bugs.etersoft.ru/attachment.cgi?id=1656 Относительно архиткектуры: на Mandriva 2010.0 X86_64: [user1@linux-ts ~]$ file `which wineserver` /usr/bin/wineserver: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped на CentOS 5.4 X86_64: [test_user_48@nx test_user_48]$ file `which wineserver` /usr/bin/wineserver: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
wine iexplore запускает окошко обозревателя, отображающее web-странички. Падений не заметил. Попробовал на обеих системах.
(In reply to comment #8) > wine iexplore запускает окошко обозревателя, > отображающее web-странички. Падений не > заметил. Попробовал на обеих системах. Спасибо. Значит проблема не в gecko, если Вы ieinstall не запускали после создания .wine
Я использую административную установку. ieinstall не запускался. Домашние каталоги пользователей располагаются как на NFS (пробовал как v3, так и v4).
Пробовал воспроизвести на builder64, с установленным 32х битным WINE@Etersoft. iexplore html страницы не отображает. 1С8 проверить не удалось, т.к. почему-то не находил ключ защиты. При этом если запускать на cellar - никаких проблем с лицензией не было. При этом в консоль валится ошибка: err:service:service_control_dispatcher failed to open service manager error 1722 libgcc_s.so.1 must be installed for pthread_cancel to work wine client error:24: write: Неправильный дескриптор файла Возможно, проблема в том, что для корректной работы 32х разрядного wine нужен 32х разрядный gcc. Сейчас на builder64 такого нет.
(In reply to comment #11) ... > лицензией не было. Надо настроить командой setnethasp hasp в каталоге conf > При этом в консоль валится ошибка: > > err:service:service_control_dispatcher failed to open service manager error > 1722 > libgcc_s.so.1 must be installed for pthread_cancel to work > wine client error:24: write: Неправильный дескриптор > файла Доустановил пакеты согласно http://wiki.etersoft.ru/WINE/x8664
> (In reply to comment #11) > Надо настроить командой setnethasp hasp в > каталоге conf Не помогло. Лицензия все равно не находится. При старте конфигурации открывается диалог "Получить лицензию". iexplore так и не заработал.
Протестировал на 64-х битной Ubuntu (lin-test) - не воспроизводится.
Тестировал в vbox. На Mandriva 2010 x86_64 бага воспроизвелась. После старта 1С нажимаем F1 - происходит падение.
Не удалось собрать текущий wine-etersoft на Mandriva 2010.0 x86_64. Собирал 32-х битную версию wine: $ ./configure i586-mandriva-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --x-includes=/usr/include --x-libraries=/usr/lib --with-x --disable-tests --without-esd После configure были несущественные предупреждения про отсутствующие пакеты. Сборка не прошла: gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wtype-limits -D_FORTIFY_SOURCE=0 -Wpointer-arith -g -O2 -D__i386__ -o interlocked.o interlocked.c {standard input}: Assembler messages: {standard input}:38: Error: suffix or operands invalid for `push' {standard input}:39: Error: suffix or operands invalid for `push' {standard input}:46: Error: suffix or operands invalid for `pop' {standard input}:47: Error: suffix or operands invalid for `pop' make[2]: *** [interlocked.o] Ошибка 1 make[2]: Leaving directory `/home/guest/Projects/wine-etersoft/libs/port' make[1]: *** [port] Ошибка 2 make[1]: Leaving directory `/home/guest/Projects/wine-etersoft/libs' make: *** [libs] Ошибка 2
Ошибка связана с выполнением условия: #ifdef __i386__ Хотя на самом деле архитектура другая. Пакет для Mandriva, на котором воспроизводится ошибка, собирался под 32-х битной системой.
Протестировал на 32-х битной Mandriva 2010.0 - бага не воспроизводится.
В логах сборки Wine на Mandriva видны параметры: + CFLAGS='-O2 -g -pipe -Wformat -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -march=i586 -mtune=generic -fasyn + export CFLAGS + LDFLAGS=' -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro' + export LDFLAGS Нужно собирать с такими же.
(In reply to comment #18) > Протестировал на 32-х битной Mandriva 2010.0 - бага > не воспроизводится. Ошибся на 32-х битной Mandriva ошибка воспроизводится если не установлен IE.
Пробовал собрать с FORTIFY_SOURCE=0. Не помогло - ошибка воспроизводится.
Собрал библиотеки mshtml и shdocvw без параметров: ./configure После этого ошибка не воспроизводится. Скорее всего ошибка связана с одним из параметров: -fstack-protector -fexceptions -fomit-frame-pointer -march=i586 -fasinchronous-unwind-tables
(In reply to comment #22) > Собрал библиотеки mshtml и shdocvw без > параметров: > ./configure > > После этого ошибка не воспроизводится. > > Скорее всего ошибка связана с одним из > параметров: > -fstack-protector -fexceptions -fomit-frame-pointer -march=i586 > -fasinchronous-unwind-tables > В ALT собирается со следующими параметрами: -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wtype-limits -Wpointer-arith -O2 -march=i586 интересно, что вообще без пересечений :) Ну надо выявить, какой из -f так влияет.
Если на ALT Linux собрать с теми же параметрами что и для Mandriva ошибка воспроизводится. Правда, ситуация еще хуже - падает при открытии окна с рекламой в конфигурации Бухгалтерия.
Нашел ломающий параметр CFLAGS: -fomit-frame-pointer
Протестировал на Mandriva. Без этого параметра падение не происходит.
Добавил в спек отключение -fomit-frame-pointer и -D_FORTIFY_SOURCE=2: +%remove_optflags -fomit-frame-pointer +%remove_optflags -D_FORTIFY_SOURCE=2
Сборка доступна на странице скачивания продукта - testing. Номер не изменился - 1.0.12-eter5.5.
Протестировал сборку на Mandriva x86_64 - ошибка не воспроизводится.
Сергей, сможете подтвердить, что проблема ушла?
Да, эта проблема больше не воспроизводится. Спасибо. Правда, были замечены случайные, редкие зависания 1С на CentOS при просмотре web-страниц во встроенном браузере. Но это, видимо, другая проблема.