[rrd-developers] rrdtool: *** glibc detected *** free(): invalid pointer: 0x08056450 ***

Joachim Weller JoachimWeller at web.de
Thu Jul 17 21:00:55 CEST 2008


Bernhard Fischer wrote:
> You could provide a "bt f" from gdb
>   

I tried this one, by substituting the call to rrdtool with "gdb bt f 
--args rrdtool graph ..." (as a newbie to gdb, hope this was correct)
but got only (no debug symbols found). Then I tried to run it with 
strace. Maybe this output gives some more info:

execve("/usr/bin/rrdtool", ["rrdtool", "graph", 
"../png/SolvisData-1.png", "--imgformat", "PNG", "--interlaced", 
"--slope-mode", "--alt-autoscale-max", "--alt-autoscale-min", "--start", 
"1216073697", "--end", "1216160097", "-l", "-5", "-u", ...], [/* 21 vars 
*/]) = 0
brk(0)                                  = 0x804a000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0xb7f05000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=75829, ...}) = 0
mmap2(NULL, 75829, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7ef2000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/usr/lib/librrd.so.2", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260a\0"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=281332, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0xb7ef1000
mmap2(NULL, 289856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 
0) = 0xb7eaa000
mmap2(0xb7eeb000, 20480, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x40) = 0xb7eeb000
mmap2(0xb7ef0000, 3136, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ef0000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/usr/lib/libpng12.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200=\0"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=139660, ...}) = 0
mmap2(NULL, 142572, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 
0) = 0xb7e87000
mmap2(0xb7ea9000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x21) = 0xb7ea9000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/usr/lib/libz.so.1", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\30"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=81012, ...}) = 0
mmap2(NULL, 83740, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) 
= 0xb7e72000
mmap2(0xb7e86000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb7e86000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/lib/i686/cmov/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 at 4\0\000"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=149328, ...}) = 0
mmap2(NULL, 151680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 
0) = 0xb7e4c000
mmap2(0xb7e70000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xb7e70000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/lib/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300e\1"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1413540, ...}) = 0
mmap2(NULL, 1418864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 
0) = 0xb7cf1000
mmap2(0xb7e46000, 12288, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x155) = 0xb7e46000
mmap2(0xb7e49000, 9840, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7e49000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/usr/lib/libfreetype.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340x\0"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=449240, ...}) = 0
mmap2(NULL, 452152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 
0) = 0xb7c82000
mmap2(0xb7ced000, 16384, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6a) = 0xb7ced000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/usr/lib/libart_lgpl_2.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \'\0\000"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=84704, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0xb7c81000
mmap2(NULL, 87620, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) 
= 0xb7c6b000
mmap2(0xb7c80000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0xb7c80000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0xb7c6a000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7c6a6b0, 
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, 
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7e46000, 4096, PROT_READ)   = 0
munmap(0xb7ef2000, 75829)               = 0
brk(0)                                  = 0x804a000
brk(0x806b000)                          = 0x806b000
open("/etc/localtime", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0xb7f04000
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\10\0"..., 
4096) = 2295
_llseek(3, -28, [2267], SEEK_CUR)       = 0
read(3, "\nCET-1CEST,M3.5.0,M10.5.0/3\n", 4096) = 28
close(3)                                = 0
munmap(0xb7f04000, 4096)                = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=17346192, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7a6a000
mmap2(NULL, 258048, PROT_READ, MAP_PRIVATE, 3, 0x357) = 0xb7a2b000
mmap2(NULL, 925696, PROT_READ, MAP_PRIVATE, 3, 0x477) = 0xb7949000
close(3)                                = 0
time(NULL)                              = 1216316986
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
time(NULL)                              = 1216316986
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
time(NULL)                              = 1216316986
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
time(NULL)                              = 1216316986
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2295, ...}) = 0
open("/usr/share/rrdtool/librrd2/DejaVuSansMono-Roman.ttf", O_RDONLY) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=60444, ...}) = 0
mmap2(NULL, 60444, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb793a000
close(3)                                = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25700, ...}) = 0
mmap2(NULL, 25700, PROT_READ, MAP_SHARED, 3, 0) = 0xb7933000
close(3)                                = 0
munmap(0xb793a000, 60444)               = 0
open("/usr/share/rrdtool/librrd2/DejaVuSansMono-Roman.ttf", O_RDONLY) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=60444, ...}) = 0
mmap2(NULL, 60444, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb793a000
close(3)                                = 0
munmap(0xb793a000, 60444)               = 0
brk(0x80a5000)                          = 0x80a5000
brk(0x808c000)                          = 0x808c000
open("SolvisData-1year.rrd", O_RDONLY)  = 3
fadvise64(3, 0, 0, POSIX_FADV_RANDOM)   = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=1157212688, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0xb7948000
read(3, "RRD\0000003\0\0\0\0/%\300\307C+\37[\v\0\0\0\3\0\0\0h\1"..., 
4096) = 4096
read(3, "\0\0\0\0\30\266\326$\313fC at d\311/\226\374\342)@\306i\3"..., 
4096) = 4096
_llseek(3, 0, [8192], SEEK_CUR)         = 0
_llseek(3, 1982464, [1982464], SEEK_SET) = 0
read(3, "\0\0\0\0\0\0000 at fffff\246N@\232\231\231\231\231\0319@("..., 
4096) = 4096
open("/dev/tty", O_RDWR|O_NOCTTY|O_NONBLOCK) = 4
writev(4, [{"*** glibc detected *** ", 23}, {"rrdtool", 7}, {": ", 2}, 
{"free(): invalid pointer", 23}, {": 0x", 4}, {"08051a50", 8}, {" 
***\n", 5}], 7) = 72
open("/etc/ld.so.cache", O_RDONLY)      = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=75829, ...}) = 0
mmap2(NULL, 75829, PROT_READ, MAP_PRIVATE, 5, 0) = 0xb7ef2000
close(5)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\34"..., 
512) = 512
mmap2(NULL, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, 
-1, 0) = 0xb7733000
munmap(0xb7733000, 839680)              = 0
munmap(0xb7900000, 208896)              = 0
mprotect(0xb7800000, 135168, PROT_READ|PROT_WRITE) = 0
fstat64(5, {st_mode=S_IFREG|0644, st_size=49644, ...}) = 0
mmap2(NULL, 52776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) 
= 0xb793b000
mmap2(0xb7947000, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xb) = 0xb7947000
close(5)                                = 0
munmap(0xb7ef2000, 75829)               = 0
write(4, "======= Backtrace: =========\n", 29) = 29
writev(4, [{"/lib/i686/cmov/libc.so.6", 24}, {"[0x", 3}, {"b7d5f564", 
8}, {"]\n", 2}], 4) = 37
writev(4, [{"/lib/i686/cmov/libc.so.6", 24}, {"(", 1}, {"cfree", 5}, 
{"+0x", 3}, {"96", 2}, {")", 1}, {"[0x", 3}, {"b7d61766", 8}, {"]\n", 
2}], 9) = 49
writev(4, [{"/usr/lib/librrd.so.2", 20}, {"(", 1}, {"rrd_free", 8}, 
{"+0x", 3}, {"24", 2}, {")", 1}, {"[0x", 3}, {"b7ed0294", 8}, {"]\n", 
2}], 9) = 48
writev(4, [{"/usr/lib/librrd.so.2", 20}, {"(", 1}, {"rrd_fetch_fn", 12}, 
{"+0x", 3}, {"4d3", 3}, {")", 1}, {"[0x", 3}, {"b7eb3303", 8}, {"]\n", 
2}], 9) = 53
writev(4, [{"/usr/lib/librrd.so.2", 20}, {"(", 1}, {"data_fetch", 10}, 
{"+0x", 3}, {"238", 3}, {")", 1}, {"[0x", 3}, {"b7eba9c8", 8}, {"]\n", 
2}], 9) = 51
writev(4, [{"/usr/lib/librrd.so.2", 20}, {"(", 1}, {"graph_paint", 11}, 
{"+0x", 3}, {"44", 2}, {")", 1}, {"[0x", 3}, {"b7ebae44", 8}, {"]\n", 
2}], 9) = 51
writev(4, [{"/usr/lib/librrd.so.2", 20}, {"(", 1}, {"rrd_graph", 9}, 
{"+0x", 3}, {"cd", 2}, {")", 1}, {"[0x", 3}, {"b7ebd02d", 8}, {"]\n", 
2}], 9) = 49
writev(4, [{"/usr/lib/librrd.so.2", 20}, {"(", 1}, {"HandleInputLine", 
15}, {"+0x", 3}, {"10b9", 4}, {")", 1}, {"[0x", 3}, {"b7ecbc89", 8}, 
{"]\n", 2}], 9) = 57
writev(4, [{"/usr/lib/librrd.so.2", 20}, {"(", 1}, {"main", 4}, {"+0x", 
3}, {"92", 2}, {")", 1}, {"[0x", 3}, {"b7ecbe62", 8}, {"]\n", 2}], 9) = 44
writev(4, [{"/lib/i686/cmov/libc.so.6", 24}, {"(", 1}, 
{"__libc_start_main", 17}, {"+0x", 3}, {"e6", 2}, {")", 1}, {"[0x", 3}, 
{"b7d07456", 8}, {"]\n", 2}], 9) = 61
writev(4, [{"rrdtool", 7}, {"(", 1}, {"main", 4}, {"+0x", 3}, {"35", 2}, 
{")", 1}, {"[0x", 3}, {"8048411", 7}, {"]\n", 2}], 9) = 30
write(4, "======= Memory map: ========\n", 29) = 29
open("/proc/self/maps", O_RDONLY)       = 5
read(5, "08048000-08049000 r-xp 00000000 "..., 1024) = 1024
write(4, "08048000-08049000 r-xp 00000000 "..., 1024) = 1024
read(5, "0-b7ced000 r-xp 00000000 08:04 2"..., 1024) = 1024
write(4, "0-b7ced000 r-xp 00000000 08:04 2"..., 1024) = 1024
read(5, "3\nb7ef0000-b7ef2000 rw-p b7ef000"..., 1024) = 325
write(4, "3\nb7ef0000-b7ef2000 rw-p b7ef000"..., 325) = 325
read(5, "", 1024)                       = 0
close(5)                                = 0
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


rrdtool package info on the crashing system is:
Package: rrdtool
Priority: optional
Section: utils
Installed-Size: 1148
Maintainer: Debian RRDtool Team <rrdtool at ml.snow-crash.org>
Architecture: i386
Source: rrdtool (1.2.27-2)
Version: 1.2.27-2+b1
Depends: libc6 (>= 2.7-1), libpng12-0 (>= 1.2.13-4), librrd2 (>= 
1.2.15), zlib1g (>= 1:1.1.4)
Suggests: librrds-perl
Filename: pool/main/r/rrdtool/rrdtool_1.2.27-2+b1_i386.deb
Size: 566148
MD5sum: 4f16a8d408f722cdebec48178a27ccd7

regards, Joachim




More information about the rrd-developers mailing list