Bug 4277

Summary: Вылет в КОМПАС V10 при большом увеличении масштаба отображения
Product: [Поддержка проектов] КОМПАС 3D Reporter: Виталий Булгаков <bulgakov>
Component: ТестированиеAssignee: Andrey Vusik <night>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: blocker    
Priority: P2 CC: baraka, lav, mais, mid, mx
Version: v10   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 17066, 17071, 753, 1733, 4135    

Description Виталий Булгаков 2009-09-03 17:31:25 MSD
Wine@Etersoft 1.0 CAD 1.1.0-eter5/4
1. Запустить КОМПАС-3D V10
2. Создать чертеж
3. На панели Вид в контрол со списком Текущий масштаб ввести 100 - enter
Происходит вылет, похоже вместе с X - ами т.к. далее следует окно приглашения системы (ввод имени пользователя).
Comment 1 Илья Шпигорь 2009-09-16 16:35:19 MSD
Лог иксов:

Backtrace:
0: X(xorg_backtrace+0x3b) [0x8122efb]
1: X(xf86SigHandler+0x51) [0x80c9531]
2: [0xb8041400]
3: /usr/lib/X11/modules/drivers/nvidia_drv.so [0xb6a3112a]
Comment 2 Илья Шпигорь 2009-09-18 15:49:22 MSD
Выложил патч.

Падение X-ов связано с работой xrender. При увеличении масштаба происходит увеличение шрифтов. Для вывода их необходимо сначала загрузить в память и только после этого передать xrender'у, указав буфер где лежат шрифты и его размер. Для этого вызывается функция XRenderAddGlyphs на которой и происходит падение.

При крупном масштабе (начиная со 100) буфер с шрифтом начинает занимать несколько мегабайт. Похоже, xrender не может корректно работать с такими объемами, что и приводит к падению.

Похожая ошибка есть на winehq:
http://bugs.winehq.org/show_bug.cgi?id=17338

Решение заключается в ограничении допустимого буфера, в который может загружаться шрифт. Ограничение - 3Мб, выбрано с расчетом предотвратить нежелательные тормоза в работе.

Проблема может решиться в новых версиях X-ов. Но следует отметить, что помимо ограничения на размер буфера, связанного с xrender, есть ограничение оперативной памяти.
Comment 3 Shestakov Dmitriy 2011-03-21 14:47:26 MSK
Надо протестировать на текущей сборке WINE@ CAD работу компаса 9 и 10 на предмет падения при увеличении масштаба.
Comment 4 Andrey Vusik 2011-03-22 21:55:46 MSK
(В ответ на comment #3)
> Надо протестировать на текущей сборке WINE@ CAD работу компаса 9 и 10 на
> предмет падения при увеличении масштаба.

С nx меня при этом выбрасывает При следующем входе на секунду появляется окно Компаса и снова выкидывает. Завтра посмотрю в офисе.
Comment 5 Andrey Vusik 2011-03-23 09:38:46 MSK
> С nx меня при этом выбрасывает При следующем входе на секунду появляется окно
> Компаса и снова выкидывает. Завтра посмотрю в офисе.

Всё, конечно, не летает=)
Но проблемы с падением нет.
Машина kompas:
wine-etersoft        1.1.0-eter9ubuntu                                 
wine-etersoft-cad    1.1.0-eter5ubuntu                                 
wine-etersoft-gl     1.1.0-eter9ubuntu