Summary: | xorg server crashes on drawing line with sertain form and type by libX11 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Vladislav Zavjalov <slazav> | ||||||
Component: | xorg-server | Assignee: | Valery Inozemtsev <shrek> | ||||||
Status: | NEW --- | QA Contact: | qa-sisyphus | ||||||
Severity: | normal | ||||||||
Priority: | P3 | CC: | shrek | ||||||
Version: | unstable | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
еще раз и по русски Легко! :) В приложении - короткая программа на libX11, которая рушит х-сервер. Программа рисует пунктирную линия с cap_style=CapProjecting специальной толщины и формы. Воспроизводится на драйверах nv, nvidia, intel, vesa, fbdev. Воспроизводится не только в AltLinux, но и на каком-то Gentoo. xorg-server-1.6.5-alt1 Created attachment 4089 [details]
Xvfb valgrind log
miFillPolyHelper() is called from miLineProjectingCap() with the following parameters: pixel: 1 spanData: 0 y: 11 overall_height: 6 left count: 2 right count: 2 lefts[0].height: -3 lefts[0].x: 62 lefts[0].stepx: 1 lefts[0].signdx: 1 lefts[0].e: -2 lefts[0].dy: 4 lefts[0].dx: 2 rights[0].height: 6 rights[0].x: 59 rights[0].stepx: 0 rights[0].signdx: -1 rights[0].e: -5 rights[0].dy: 6 rights[0].dx: 4 lefts[1].height: -3 lefts[1].x: 62 lefts[1].stepx: 1 lefts[1].signdx: 1 lefts[1].e: -2 lefts[1].dy: 4 lefts[1].dx: 2 rights[1].height: 6 rights[1].x: 59 rights[1].stepx: 0 rights[1].signdx: -1 rights[1].e: -5 rights[1].dy: 6 rights[1].dx: 4 height = -3 looks strange :) Oops! These values for {lefts,rights}[1] are more correct: pixel: 1 spanData: 0 y: 11 overall_height: 6 left count: 2 right count: 2 lefts[0].height: -3 lefts[0].x: 62 lefts[0].stepx: 1 lefts[0].signdx: 1 lefts[0].e: -2 lefts[0].dy: 4 lefts[0].dx: 2 rights[0].height: 6 rights[0].x: 59 rights[0].stepx: 0 rights[0].signdx: -1 rights[0].e: -5 rights[0].dy: 6 rights[0].dx: 4 lefts[1].height: 9 lefts[1].x: 55 lefts[1].stepx: 0 lefts[1].signdx: -1 lefts[1].e: -3 lefts[1].dy: 6 lefts[1].dx: 4 rights[1].height: 0 rights[1].x: 48 rights[1].stepx: 1 rights[1].signdx: 1 rights[1].e: -1 rights[1].dy: 4 rights[1].dx: 2 miLineProjectingCap runs with dx: -6 dy: -4 There was a similar bug when negative height appeares from dx=0, dy<0. see: https://bugs.freedesktop.org/show_bug.cgi?id=2690 повесил патч в https://bugs.freedesktop.org/show_bug.cgi?id=15946 В общем, непонятно, что делать с этой ошибкой. Проблема есть, патч тоже, вроде есть... Ни в апстриме ни тут пока не комментируют :) Ясно, что libX11 для рисования линий уже никто не использует, но все таки, может, надо исправить?.. Это я как мантейнер и пользователь xfig волнуюсь :)) |
Created attachment 4049 [details] Program that crashes xorg server. Build with -lX11 There is a short libX11 x-client in attachment that crashes xorg-server. Xdriver does not metter (tested on nv, nvidia, intel, vesa, fbdev drivers, on Altlinux and Gentoo linux). This program just draws a dashed line with cap_style=CapProjecting and specific form and width.