| Summary: | Не закрашиваются прямоугольники | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Dmitry A. Kharitonov <kharpost> |
| Component: | perl-GD2 | Assignee: | Victor Forsyuk <force> |
| Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
| Severity: | major | ||
| Priority: | P3 | ||
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
Актуальный perl-GD: # rpm -q perl-GD perl-GD-2.41-alt1 (В ответ на комментарий №1)
> Актуальный perl-GD:
>
> # rpm -q perl-GD
> perl-GD-2.41-alt1
Не могу на роутере проверить -- стоит не правильная версия librpm
(В ответ на комментарий №0) > Не закрашиваются прямоугольники. Ошибка имеет процессорозависимый характер То есть, версии релевантных пакетов на машинах с разными процессорами были одинаковы? Только тогда наблюдая разное поведение программ можно высказывать гипотезу о процессорозависимости. > $im->filledRectangle(50,50,100,100,15); -- закрашивается > $im->filledRectangle(200,200,150,150,15); -- не закрашивается На perl-GD-2.41-alt1 с libgd2-2.0.35-alt2 второй пример у меня тоже закрашивает прямоугольник. Вообще говоря, во втором примере координаты указаны несколько нелогично. При вызове этой функции сначала указываются координаты левого верхнего угла, затем правого нижнего. В данном случае они указаны наоборот. Поведение функции при не совсем корректных входных данных может быть и не тем, которое ожидается (принцип "garbage in - garbage out") и считать его ошибочным можно только, если оно отличается от документированного. При этом perl-GD выступает не более чем оберткой для функций libgd и в данном случае просто передает полученные параметры в вызов функции gdImageFilledRectangle. Резюме: 1. На текущей пакетной базе Сизифа не воспроизводится. 2. Даже если описанное поведение считать багом, это бага libgd, а не perl-GD. Для информации: в актуальной сборке libgd функция gdImageFilledRectangle содержит код для обмена местами координат, если они указаны в неправильном порядке:
if (x1 > x2) {
x = x1;
x1 = x2;
x2 = x;
}
if (y1 > y2) {
y = y1;
y1 = y2;
y2 = y;
}
Этот код добавлен в libgd в CVS Revision 1.49.2.8, коммит от 6 мая 2007 года.
>
> Резюме:
> 1. На текущей пакетной базе Сизифа не воспроизводится.
> 2. Даже если описанное поведение считать багом, это бага libgd, а не perl-GD.
У меня воспроизводится только на одном компьютере. Процессор я указал. Очень похоже нарвались на оптимизацию.
[user@server ~]$ rpm -qa | grep libgd
libgd2-2.0.34-alt2
(В ответ на комментарий №5)
> >
> > Резюме:
> > 1. На текущей пакетной базе Сизифа не воспроизводится.
> > 2. Даже если описанное поведение считать багом, это бага libgd, а не perl-GD.
>
> У меня воспроизводится только на одном компьютере. Процессор я указал. Очень
> похоже нарвались на оптимизацию.
> [user@server ~]$ rpm -qa | grep libgd
> libgd2-2.0.34-alt2
Да никакая оптимизация здесь ни при чем! Я же в предыдущем комментарии привёл исчерпывающую информацию! И процессор тут ни при чем!
Вы указали в примере когда прямоугольники не закрашиваются НЕВЕРНЫЕ параметры для функции. Код, который это проверяет и переставляет параметры в правильном порядке добавлен в libgd 6 мая 2007, а у Вас стоит пакет с версией libgd 2.0.34, которая вышла в феврале 2007!!
> Вы указали в примере когда прямоугольники не закрашиваются НЕВЕРНЫЕ параметры
> для функции. Код, который это проверяет и переставляет параметры в правильном
> порядке добавлен в libgd 6 мая 2007, а у Вас стоит пакет с версией libgd
> 2.0.34, которая вышла в феврале 2007!!
Ясно. Спасибо.
|
Не закрашиваются прямоугольники. Ошибка имеет процессорозависимый характер $im->filledRectangle(50,50,100,100,15); -- закрашивается $im->filledRectangle(200,200,150,150,15); -- не закрашивается [user@server ~]$ rpm -q perl-GD2 perl-GD2-2.35-alt1 повторяется на процессоре [user@server ~]$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 6 model name : Celeron (Mendocino) stepping : 5 cpu MHz : 300.708 cache size : 128 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 mtrr pge mca cmov pat pse36 mmx fxsr up bogomips : 602.16