Wine@Etersoft 1.0 CAD 1.1.0-eter5/4 1. Запустить КОМПАС-3D V10 2. Создать чертеж 3. На панели Вид в контрол со списком Текущий масштаб ввести 100 - enter Происходит вылет, похоже вместе с X - ами т.к. далее следует окно приглашения системы (ввод имени пользователя).
Лог иксов: Backtrace: 0: X(xorg_backtrace+0x3b) [0x8122efb] 1: X(xf86SigHandler+0x51) [0x80c9531] 2: [0xb8041400] 3: /usr/lib/X11/modules/drivers/nvidia_drv.so [0xb6a3112a]
Выложил патч. Падение X-ов связано с работой xrender. При увеличении масштаба происходит увеличение шрифтов. Для вывода их необходимо сначала загрузить в память и только после этого передать xrender'у, указав буфер где лежат шрифты и его размер. Для этого вызывается функция XRenderAddGlyphs на которой и происходит падение. При крупном масштабе (начиная со 100) буфер с шрифтом начинает занимать несколько мегабайт. Похоже, xrender не может корректно работать с такими объемами, что и приводит к падению. Похожая ошибка есть на winehq: http://bugs.winehq.org/show_bug.cgi?id=17338 Решение заключается в ограничении допустимого буфера, в который может загружаться шрифт. Ограничение - 3Мб, выбрано с расчетом предотвратить нежелательные тормоза в работе. Проблема может решиться в новых версиях X-ов. Но следует отметить, что помимо ограничения на размер буфера, связанного с xrender, есть ограничение оперативной памяти.
Надо протестировать на текущей сборке WINE@ CAD работу компаса 9 и 10 на предмет падения при увеличении масштаба.
(В ответ на comment #3) > Надо протестировать на текущей сборке WINE@ CAD работу компаса 9 и 10 на > предмет падения при увеличении масштаба. С nx меня при этом выбрасывает При следующем входе на секунду появляется окно Компаса и снова выкидывает. Завтра посмотрю в офисе.
> С nx меня при этом выбрасывает При следующем входе на секунду появляется окно > Компаса и снова выкидывает. Завтра посмотрю в офисе. Всё, конечно, не летает=) Но проблемы с падением нет. Машина kompas: wine-etersoft 1.1.0-eter9ubuntu wine-etersoft-cad 1.1.0-eter5ubuntu wine-etersoft-gl 1.1.0-eter9ubuntu