[rrd-users] rrdtool - 1.4.4 with wrong LANG environment

Martin Sperl rrdtool at martin.sperl.org
Fri Jun 10 13:18:48 CEST 2011


Hi!

I have observed a strange Segmentation fault that may not be 100% the 
responsibility of rrdtool, but which may show up with other 
installations as well, so I thought it worth asking...

Here the basic Steps:
   -bash-3.2$ cat /etc/redhat-release
   Red Hat Enterprise Linux Server release 5.3 (Tikanga)
   -bash-3.2$ uname -a
   Linux localhost.localdomain 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 
EST 2008 x86_64 x86_64 x86_64 GNU/Linux
   -bash-3.2$ export LANG=en_US
   -bash-3.2$ echo $LANG
   en_US
   -bash-3.2$ rrdtool graph test.png -a PNG -s -7days -e now -w 1000 -h 
500 --alt-autoscale 
DEF:data=/tmp/webcheck.rrd:md5_f608ff0b37a67c5:AVERAGE 
LINE1:data#00FF00:data -r -l 0 -u 2
   Segmentation fault
   -bash-3.2$ export LANG=en_us
   -bash-3.2$ rrdtool graph test.png -a PNG -s -7days -e now -w 1000 -h 
500 --alt-autoscale 
DEF:data=/tmp/webcheck.rrd:md5_f608ff0b37a67c5:AVERAGE 
LINE1:data#00FF00:data -r -l 0 -u 2
   ERROR: opening '/tmp/webcheck.rrd': No such file or directory
   -bash-3.2$

So you see that it is totally dependent on the LANG environment 
variable! Also it happens prior to parsing or any other checks of the 
arguments...

The stacktrace for this is:
Core was generated by `rrdtool graph test.png -a PNG -s -7days -e now -w 
1000 -h 500 --alt-autoscale D'.
Program terminated with signal 11, Segmentation fault.
[New process 13121]
#0  0x00002ac7380078c1 in gconv () from /usr/lib64/gconv/ISO8859-1.so
(gdb) bt
#0  0x00002ac7380078c1 in gconv () from /usr/lib64/gconv/ISO8859-1.so
#1  0x00000035ae01ea6b in __gconv () from /lib64/libc.so.6
#2  0x00000035ae01e08f in iconv () from /lib64/libc.so.6
#3  0x00000035b0018b59 in g_convert_with_iconv () from 
/lib64/libglib-2.0.so.0
#4  0x00000035b0018eff in g_convert () from /lib64/libglib-2.0.so.0
#5  0x00000035b0019341 in g_locale_to_utf8 () from /lib64/libglib-2.0.so.0
#6  0x0000003132826c56 in gfx_prep_text (im=Could not find the frame 
base for "gfx_prep_text".
) at rrd_gfx.c:176
#7  0x0000003132826d6e in gfx_get_text_width (im=Could not find the 
frame base for "gfx_get_text_width".
) at rrd_gfx.c:201
#8  0x000000313281fd83 in rrd_parse_PVHLAST (line=Could not find the 
frame base for "rrd_parse_PVHLAST".
) at rrd_graph_helper.c:545
#9  0x000000313282237a in rrd_graph_script (argc=Could not find the 
frame base for "rrd_graph_script".
) at rrd_graph_helper.c:1117
#10 0x000000313281ab6d in rrd_graph_v (argc=Could not find the frame 
base for "rrd_graph_v".
) at rrd_graph.c:3950
#11 0x000000313281a57b in rrd_graph (argc=Could not find the frame base 
for "rrd_graph".
) at rrd_graph.c:3842
#12 0x000000000040434e in HandleInputLine (argc=21, argv=0x7fff7609a9b8, 
out=0x35ae350860) at rrd_tool.c:792
#13 0x000000000040295d in main (argc=21, argv=0x7fff7609a9b8) at 
rrd_tool.c:513

Has anyone got a reasonable explanation for this observed effect - I 
know it may be primarily Linux related...

Thanks,
                 Martin



More information about the rrd-users mailing list