Bug 52353

Summary: Empty png on %ix86
Product: Sisyphus Reporter: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Component: graphvizAssignee: Ilya Mashkin <oddity>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P5 CC: antohami, george, ilyakurdyukov, iv, kotopesutility, lav, mike
Version: unstable   
Hardware: x86   
OS: Linux   
Attachments:
Description Flags
"хороший" png, полученный на x86_64
none
правильный png none

Description Konstantin A Lepikhov (L.A. Kostis) 2024-12-05 23:17:16 MSK
Привет!

На %ix86 dot либо ничего не генерит, либо просто падает:

пример генерации непонятно чего вместо png:
https://git.altlinux.org/tasks/362937/logs/events.1.1.log

пример падения при генерации png:
https://git.altlinux.org/tasks/363423/build/100/i586/log

В связи с этим я отключил dot, но пришлось сделать пакеты документации llvm arch-specific, чего бы делать очень не хотелось.
Comment 1 Ivan A. Melnikov 2024-12-06 11:28:29 MSK
Обычно такое лечится доустановкой каких-нибудь шрифтов, например BR: fonts-ttf-dejavu.

Кстати, не думаю, что такую зависимость правильно добавлять в graphviz, но вот в doxygen я всё-таки смирился и добавил, именно для построения корректных диаграмм внутри хешера.
Comment 2 Konstantin A Lepikhov (L.A. Kostis) 2024-12-06 11:36:29 MSK
(In reply to Ivan A. Melnikov from comment #1)
> Обычно такое лечится доустановкой каких-нибудь шрифтов, например BR:
> fonts-ttf-dejavu.
> 
> Кстати, не думаю, что такую зависимость правильно добавлять в graphviz, но
> вот в doxygen я всё-таки смирился и добавил, именно для построения
> корректных диаграмм внутри хешера.

как шрифт коррелирует с архитектурой? Это происходит только на %ix86.
Comment 3 Ivan A. Melnikov 2024-12-06 15:45:14 MSK
Created attachment 17340 [details]
"хороший" png, полученный на x86_64

> как шрифт коррелирует с архитектурой?

Не знаю, возможно числа с плавающей точкой работают немного по-другому, и другим архитектурам везёт. Я не разбирался в деталях.

> Это происходит только на %ix86.

Смотря что "это". Вы видели, какие PNG сгенерировались на других архитектурах? В приложении -- тот самый файл из https://git.altlinux.org/tasks/362937/build/100/x86_64/rpms/clang19.1-doc-19.1.3-alt0.2.noarch.rpm, чтобы всем желающим два раза не бегать.

С другой стороны, хотелось бы конечно консистентного поведения. Например, если не нашлось шрифтов, падать с понятным сообщением об ошибке, а не генерировать непонятно что.
Comment 4 Michael Shigorin 2024-12-06 16:00:05 MSK
Боюсь, в потроха graphviz я не ходок...
Comment 5 Konstantin A Lepikhov (L.A. Kostis) 2024-12-07 00:10:13 MSK
(In reply to Ivan A. Melnikov from comment #3)
...
> Смотря что "это". Вы видели, какие PNG сгенерировались на других
> архитектурах? В приложении -- тот самый файл из
> https://git.altlinux.org/tasks/362937/build/100/x86_64/rpms/clang19.1-doc-19.
> 1.3-alt0.2.noarch.rpm, чтобы всем желающим два раза не бегать.
> 
> С другой стороны, хотелось бы конечно консистентного поведения. Например,
> если не нашлось шрифтов, падать с понятным сообщением об ошибке, а не
> генерировать непонятно что.

вот именно. Если все плохо, пусть по крайней мере у нас это будет noarch, чем размазано по всем архитектурам.
Comment 6 Ivan A. Melnikov 2024-12-07 09:57:35 MSK
Created attachment 17350 [details]
правильный png

Небольшой эксперимент: я взял llvm из задачи 362937 и докинул шрифтов в сборочные зависимости:

https://git.altlinux.org/people/iv/packages/llvm.git?a=commitdiff;h=9ed124031b149634337ab3312519f239e20244a2

https://git.altlinux.org/tasks/364285/

Задача не дошла до проверки noarch (я специально не повышал релиз до cизифного), но руками можно убедиться, что те самые png сгенерировались совершенно одинаковыми на i586 и x86_64 (образец прилагаю).

Так что проблема действительно в поведении при отсутствии шрифтов в системе.

И в любом случае, если захотите вернуть сборку документации в llvm, добавьте в BR шрифтов по вкусу.
Comment 7 Konstantin A Lepikhov (L.A. Kostis) 2024-12-07 15:43:47 MSK
(In reply to Ivan A. Melnikov from comment #6)
> Created attachment 17350 [details]
> правильный png
> 
> Небольшой эксперимент: я взял llvm из задачи 362937 и докинул шрифтов в
> сборочные зависимости:
> 
> https://git.altlinux.org/people/iv/packages/llvm.git?a=commitdiff;
> h=9ed124031b149634337ab3312519f239e20244a2
> 
> https://git.altlinux.org/tasks/364285/
> 
> Задача не дошла до проверки noarch (я специально не повышал релиз до
> cизифного), но руками можно убедиться, что те самые png сгенерировались
> совершенно одинаковыми на i586 и x86_64 (образец прилагаю).
> 
> Так что проблема действительно в поведении при отсутствии шрифтов в системе.
> 
> И в любом случае, если захотите вернуть сборку документации в llvm, добавьте
> в BR шрифтов по вкусу.

отлично, тогда я добавлю ваш коммит. Надо будет это же сделать и для других версий llvm, подозреваю, там ровно такая же проблема.