Summary: | 1С:8.2 утекают файловые дескрипторы | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Jemoytel Sergey <djam5> |
Component: | Файловые операции | Assignee: | Andrey Vusik <night> |
Status: | CLOSED FIXED | QA Contact: | Денис Баранов <baraka> |
Severity: | blocker | ||
Priority: | P1 | CC: | alla8608, djam5, ignis32, kondratyuk, lav, mid, night, sonner |
Version: | 1.0.12 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | 16106, 15915, 16341 | Связано с: | 6121 |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 5634 | ||
Attachments: | Снимок экрана с сообщениями и ошибками |
Выяснили проблему по джаберу, в итоге оказалось что действительно 1Ска открывает через чур файлов, база битая. Имею схожую проблему, при работе нескольких пользователей или открытии конфигуратора вместе с 1с8.2. Если значительно увеличить лимиты, через некоторое время отваливается даже ключ защиты. Иногда появляется аналогичное сообщение eterx11msg и 1с не запускается, иногда 1с просто вешается, с разнообразными сообщениями в консоли вайна. Вот разные варианты предсмертных хрипов: 1) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" x11drv: Can't allocate handle for display fd 2) xme:exec:SHELL_execute flags ignored: 0x00000100 wine: could not load L"C:\\Program Files\\1cv82\\common\\1cestart.exe": Module not found fixme:process:__wine_kernel_init 1: L"C:\\Program Files\\1cv81\\bin\\"(L"C:\\windows") wine: could not load L"C:\\Program Files\\1cv82\\common\\1cestart.exe": Module not found fixme:process:__wine_kernel_init 1: L"C:\\Program Files\\1cv81\\bin\\"(L"C:\\windows") 3) fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" wine: Unhandled page fault on read access to 0x00000000 at address 0x4106ea (thread 002f), starting debugger... err:seh:start_debugger Couldn't start debugger ("winedbg --auto 57 136") (87) Read the Wine Developers Guide on how to set up winedbg or another debugger 4) err:ntdll:RtlpWaitForCriticalSection section 0x7e82bfa0 "?" wait timed out in thread 0042, blocked by 0000, retrying (60 sec) ---------------------------------------- 1с8.2 запускается с рабочего стола gnome под ubuntu 10.04, в сессии nx, База локальная, файловая, не используется за пределами терминала. В том же окружении 1с7 работала без проблема, пока не появилась восьмерка. $ wine --version WINE@Etersoft 1.0 Network 1.0.12-eter7/12 Product: WINE@Etersoft 1.0 Network (лицензия на терминальный сервер + подключения неограничены, коробочная версия) ---------------------------------------- Что подразумевается под битой базой и как это проверить? Под битой базой понимается наличие ошибок в оной. Т.е. если провести в режиме конфигуратора тестирование и исправление то обязательно вылезут ошибки. Однако, как выяснилось позже проблема появления данной ошибки все-таки не в этом... Так как у меня очень болшое количество всякого рода конфигураций, и в один прекрасный день ошибки стало выдавать на всех без исключения. При этом 8.1 работает без таких вот ошибок 2 lav: А у нас проблема воспроизводится? *** Bug 6029 has been marked as a duplicate of this bug. *** Андрей. Надо протестировать у нас. Указать номер бутылки. И процесс воспроизведения. В ОС выставлена Ubuntu. Могу подтвердить что подобное происходит и на Mandriva 2010.1 Возможно такая же проблема и в http://bugs.etersoft.ru/show_bug.cgi?id=6121 Ничего подобного за день проверки выявлено не было.. Буду экспериментировать еще. Возможно стоит списаться с клиентами и уточнить. Проверял на guest@lin-test Лимиты те же. WINE@Etersoft 1.0 SQL 1.0.12-eter7.16/14 Запускал копии с одной бызы. Запускал отладку, выполнял всевозможные проверки базы в конфигураторе, построение отчетов в программах, оставлял в простое - Ничего заявленного не обнаружил. Нужны конкретные действия в программе, приводящие к падению. Или удаленный доступ. Пока багу закрываем. Воспроизвел в Ubuntu 10.10 в vbox (На всякий случай есть еще Mandriva 2010.1 с такой же проблемой) wine eter7.19/14 Воспроизводится как на 80 так и на 87 платформе. Порядок воспроизведения: открываем конфигуратор и из него отладку - получаем результат на скриншоте. *** Bug 6030 has been marked as a duplicate of this bug. *** Выяснил, что при каждой попытке открыть файл с SHARE-флагами, вступающими в конфликт с уже имеющимися, wineserver открывает файловый дескриптор, который потом не может быть закрыт до тех пор, пока не будут закрыты все соответствующие файлу хэндлы. Это приводит к исчерпанию лимита на файловые дескрипторы и вызову eterx11msg с сообщением об ошибке. Добавил проверку на SHARE-флаги до открытия файла. Эта проверка должна предотвратить получение файлового дескриптора в случае, если мы можем заранее определить, что открытие файла завершится со STATUS_SHARING_VIOLATION. Патч добавлен в открытую часть. Надо протестировать на тестовом вайне. (In reply to comment #15) > Патч добавлен в открытую часть. Надо > протестировать на тестовом вайне. > Давайте проверю. Где взять патч или готовую сборку под Mdv2010.1? (In reply to comment #16) > Давайте проверю. Где взять патч или готовую > сборку под Mdv2010.1? > Заказать на странице продукта версию testing. Проверил. Все работает. |
Created attachment 1793 [details] Снимок экрана с сообщениями и ошибками 1С:Предприятие 8.2.12.78 при вызове отладчика из режима Конфигуратор появляется сообщение от eterx11msg Превышен лимит на количество открытых файлов в системе... При этом лимит выставлен на 5000 ulimit -n 5000 одновременно с этим появляется сообщение 1С об ошибке: Невосстановимая ошибка Ошибка при выполнении запроса POST к ресурсу /e1cib/login: по причине: Ошибка при выполнении операции с информационной базой 'c:\windows\profiles\serg\Мои документы\InfoBase3/1Cv8.1CD' по причине: 'c:\windows\profiles\serg\Мои документы\InfoBase3/1Cv8.1CD' Подобная же ситуация наблюдается при параллельном запуске 1С одной базы в разных режимах Конфигуратор и Предприятие