First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 245331
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Netmon Herd <netmon@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Thomas Beutin <tb@laokoon.IN-Berlin.DE>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
image-1.png example of a broken image image/png Thomas Beutin 2008-11-02 22:11 0000 28.51 KB Details
image-2.png example of a correct image image/png Thomas Beutin 2008-11-02 22:13 0000 43.11 KB Details
rrdtool-1.2.28-revert-font-fix.patch rrdtool-1.2.28-revert-font-fix.patch patch Peter Volkov 2008-11-04 14:59 0000 1.27 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 245331 depends on: Show dependency tree
Bug 245331 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2008-11-02 22:09 0000
The package net-analyzer/rrdtool-1.2.28 breaks graphics generation in
net-analyzer/cacti (at least for versions 0.8.7b-r2 and 0.8.7b-r3 and 0.8.7b
[which is not longer in portage]). Downgrade to net-analyzer/rrdtool-1.2.27-r1
fixes the problem.



Reproducible: Always

Steps to Reproduce:
1. emerge =net-analyzer/rrdtool-1.2.27-r1 =net-analyzer/cacti-0.8.7b-r3
2. install and check it
3. emerge =net-analyzer/rrdtool-1.2.28
4. check it again (or see attached image-1.png)

Actual Results:  
broken graphics - see attached image-1.png

Expected Results:  
images like the attached image-2.png

Portage 2.1.4.5 (default/linux/amd64/2008.0/server, gcc-4.1.2, glibc-2.6.1-r0,
2.6.25-gentoo-r4 x86_64)
=================================================================
System uname: 2.6.25-gentoo-r4 x86_64 AMD Athlon(tm) 64 Processor 3700+
Timestamp of tree: Sun, 02 Nov 2008 00:20:01 +0000
app-shells/bash:     3.2_p33
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d
/etc/eselect/postgresql /etc/gconf /etc/php/apache2-php5/ext-active/
/etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild
/etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg candy digest distlocks metadata-transfer notitles sandbox
sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://mirror.manitu.net/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en de fr"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=180"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --stats --timeout=180 --exclude=/distfiles
--exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://mirror.manitu.net/gentoo-portage"
USE="X509 aalib accounting acl adns aim amd64 ansi apache2 authdaemond authfile
automount bacula-console bash-completion bcmath berkdb bidi bind-mysql bzip2
calendar caps ccache cdb cgi chipcard chroot command-args courier cpudetection
cpulimit cracklib crypt cscope css csv ctype cups curl curlwrappers customlog
cvsgraph cyrus dba dbi dbm dbx devmap dhcp dlopen dnsdb ecc exif expat fam
fastcgi ffmpeg flac flash flatfile fpx ftp gd gdbm geoip gif gmp graphviz gs
gssapi gzip hardened hardenedphp hpn http iconv icq idea idled idn imagemagick
imap imlib imlib2 inifile innodb ipalias ipv6 jabber jbig jpeg jpeg2k lcms ldap
libwww lm_sensors lmtp logrotate logwatch mailbox maildir maildrop mailwrapper
mbox mcal memlimit mgetty mhash milter mime mimencode ming mmap mmx mpeg mpi
mpm-prefork mppe-mppc multilib mysql mysqli nagios-dns nagios-game nagios-ntp
nagios-ping nagios-ssh ncurses netboot network nfs nis nls nntp nothreads nptl
nptlonly oav odbc ogg oggvorbis openssh openssl pam pam_chroot pam_timestamp
parse-clocks pcntl pcre pdf pdfkit pdflib perl php pic png posix postfix
postgres procmail pwdb python qdbm quotas radius readline recode reiserfs
rrdtool rss sample sasl screen sendfile sensord session sftp sftplogging shaper
shared sharedext sharedmem simplexml slang slp smartcard smime smp sms smtp
snmp snortsam soap sockets socks5 spamassassin spell sql sqlite sqlite3 sse ssl
stream subversion svg sysfs syslog sysvipc tcpd theora tidy tiff tokenizer
transparent-proxy truetype truetype-fonts type1-fonts unicode userlocales utf8
vhosts vim-syntax virtual-users virus-scan wddx withsamplescripts wmf xattr xfs
xinetd xml xml2 xmlrpc xpm xsl xslt xvid yahoo yaz zlib" ALSA_CARDS="ali5451
als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938
es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx
via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop
empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul
mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="access
auth auth_basic authn_dbm dbd ident imagemap authn_dbd authn_file authn_default
authz_groupfile auth_anon authz_dbm authz_owner authz_default authz_user
auth_digest authz_host alias file-cache echo charset-lite cache disk-cache
mem-cache ext-filter case_filter case-filter-in deflate filter mime_magic
cern_meta proxy_ajp proxy_balancer expires headers usertrack proxy
proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav_lock dav-fs
vhost_alias speling rewrite log_config logio env setenvif mime status autoindex
asis negotiation dir imap actions userdir so unique_id" APACHE2_MPMS="prefork"
ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad
cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de
fr" USERLAND="GNU" VIDEO_CARDS="vga"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG,
LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS

------- Comment #1 From Thomas Beutin 2008-11-02 22:11:15 0000 -------
Created an attachment (id=170576) [details]
example of a broken image

------- Comment #2 From Thomas Beutin 2008-11-02 22:13:06 0000 -------
Created an attachment (id=170578) [details]
example of a correct image

------- Comment #3 From Rainer Ruecker 2008-11-03 04:15:20 0000 -------
There is the following notice in the CHANGES for rrdtool-1.2.28:

       * src/rrd_graph.c, trunk/program/src/rrd_graph.c: fix for --font bug
         (font names wer not being picked up at all). Bug reported by
         Dmitry B. Bigunayk


Apparently "rrdtool graph" does not adhere to its own default font setting in
this version and cacti relies on rrdtool generating the pictures with the
default-font when there are no specific fonts configured in cacti. 

(More precise: librrd.so.2 is the component controlling the font stuff...)


The log of the compile for rrdtool shows 

-DRRD_DEFAULT_FONT=\"/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf\"

and this fontfile is installed in the correct place after emerging rrdtool.

Doing a "strace -e open" with one of the calls to "rrdtool graph" generated by
cacti with the arguments 
"--font TITLE:8: --font AXIS:8: --font LEGEND:8: --font UNIT:8:"

shows 

open(""), O_RDONLY) = -1 ENOENT (No such file or directory)

in all places where the default, compiled-in fontfile should be opened.

Running "rrdtool graph" with

"--font TITLE:8 --font AXIS:8 --font LEGEND:8 --font UNIT:8"

generates graphs with the default-font.

(This should generate an error, see  src/rrd_graph.c lines 3511 - 3519:

...
if (strlen(optarg) > end){
   if (optarg[end] == ':'){
      sttrncpy(im->text_prop[propidx].font,optarg+end+1,255);
      im->text_prop[propidx].font[255] = '\0';
   } else {
      rrd_set_error("expected : after font size in '%s'",optarg);
     return;
   }
}

...)

Also, if fonts are explicitly specified in the cacti-settings
(Console->Configuration->Settings->(Tab)Visual)
all is well and the graphs are generated with title and legend.
(If you turn on the graph debug-mode in cacti you can see that the
--font-arguments to "rrdtool graph" are now specify the path to the font, eg:

--font TITLE:8:/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf \
--font AXIS:8:/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf \
--font LEGEND:8:/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf \
--font UNIT:8:/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf \

So this could be used as a workaround in cacti.
But it looks like a bug in upstream.



------- Comment #4 From Peter Volkov 2008-11-04 14:59:32 0000 -------
Created an attachment (id=170717) [details]
rrdtool-1.2.28-revert-font-fix.patch

Could you build rrdtool-1.2.28 with this patch applied and report if it works
for you? This patch just reverts that font "fix" that was done in 1.2.28.
thanks.

------- Comment #5 From fleg 2008-11-04 17:46:28 0000 -------
(In reply to comment #4)
> Created an attachment (id=170717) [edit] [details]
> rrdtool-1.2.28-revert-font-fix.patch
> 
> Could you build rrdtool-1.2.28 with this patch applied and report if it works
> for you? This patch just reverts that font "fix" that was done in 1.2.28.
> thanks.
> 

AMD64 - compiles fine, works fine.

------- Comment #6 From Peter Volkov 2008-11-04 19:33:47 0000 -------
Thank you guys, for good report, good analysis and tests. :)

I've commited fix into rrdtool-1.2.28-r1. Please, install it and report any
further issues you'll encounter (I hope there are none). I'm going to stabilize
this version at the end of this week.

------- Comment #7 From Thomas Beutin 2008-11-05 20:05:50 0000 -------
(In reply to comment #6)
> Thank you guys, for good report, good analysis and tests. :)
> 
> I've commited fix into rrdtool-1.2.28-r1. Please, install it and report any
> further issues you'll encounter (I hope there are none).
There are no issues with rrdtool-1.2.28-r1, it works the same way
rrdtool-1.2.27-r1 did (no need to enter fonts in cacti as recommended by Rainer
in comment #3).

Thanks a lot!

------- Comment #8 From Peter Volkov 2008-11-06 13:06:05 0000 -------
Arch teams, this rather important regression in usability. Although it is fixed
our stable package is still broken. Please, stabilize
net-analyzer/rrdtool-1.2.28-r1 ASAP. Thanks.

------- Comment #9 From Ferris McCormick 2008-11-06 15:20:08 0000 -------
Sparc stable (bypassing 30 day rule because of the nature of the problem).

------- Comment #10 From Thomas Anderson (tanderson) 2008-11-06 15:43:06 0000 -------
amd64 stable

------- Comment #11 From Jeroen Roovers 2008-11-07 06:46:00 0000 -------
Stable for HPPA.

------- Comment #12 From Peter Volkov 2008-11-08 08:03:44 0000 -------
Thomas, Rainer, fleg: could I ask you for another test? Please check if
rrdtool-1.2.28-r2 works for you too. This revision has patch from upstream to
fix this issue for real rather then revert broken commit.


arch teams, sorry for bugspam. Go with stabilization of 1.2.28-r1. Possibly I
had to create separate bug report for stabilization but I was lazy... Also you
could already stabilize and unCC yourself :P

------- Comment #13 From nixnut 2008-11-08 13:58:15 0000 -------
ppc stable

------- Comment #14 From Raúl Porcel 2008-11-08 16:10:34 0000 -------
alpha/ia64/x86 stable

------- Comment #15 From Rainer Ruecker 2008-11-08 16:46:51 0000 -------
rrdtool-1.2.28-r2 works fine here, no problems with the generated graphs in
cacti when using the default settings (that is: no font and fontsize configured
in cacti, so the default-font from rrdtool is used)

------- Comment #16 From Brent Baude 2008-11-26 15:52:04 0000 -------
ppc64 done

------- Comment #17 From Peter Volkov 2008-11-29 15:24:39 0000 -------
All done, this bug is fixed. Thank you Rainer for tests. It means
rrdtool-1.2.29 will have this bug fixed :)

First Last Prev Next    No search results available      Search page      Enter new bug