|
Well... that's interesting - it does away with the need for
-L and makes sure we pick up the matching rrd.h... it can't hurt, and could
help. I'd be interested in knowing if gdb shows the same crash with that
patch.
It would also help if the FreeBSD gang bothered to report
these things up-stream, but that's another issue...
-----Burton
I had
previously removed all freebsd patches, then reinstated them when it didn't
help.
one of
the symptioms is that if I immediatly move off of the home/default/statistics
pages it won't ever crash.
one of
the freebsd patches is this (tried with and without, don't have a gdb without,
but can)
---
ntop.h.orig Mon Aug 1 12:07:39 2005 +++
ntop.h Mon Aug 1 12:08:13 2005 @@ -447,7
+447,7 @@ #endif
#ifndef EMBEDDED -#include "rrd.h" +#include
"myrrd/rrd.h" #endif
#ifdef HAVE_GETOPT_H
Hum...
void gator(
gdImagePtr gif, int x, int y){} ?
/* this
function puts the name of the author and the tool into the
graph. Remove if you must, but please note, that it is here,
because I would like people who look at rrdtool generated graphs
to see what was used to do it. No obviously you can also add a
credit line to your webpage or printed document, this is fine
with me. But as I have no control over this, I added the
little tag in here. */
/* the fact that
the text of what gets put into the graph is not visible in the
function, has lead some to think this is for obfuscation
reasons. While this is a nice side effect (I admit), it is not
the prime reason. The prime reason is, that the font used, is
so small, that I had to hand edit the characters to ensure
readability. I could thus not use the normal gd functions to
write, but had to embed a slightly compressed bitmap version
into the code. */
THe actual failing line
looks to be
for(i=0; i<DIM(li);
i=i+3) for(ii=y+li[i+1];
ii<=y+li[i+2];ii++) >>
gdImageSetPixel(gif,x-li[i],ii,graph_col[GRC_GRID].i);
where:
rrd_tool.h:117:#define DIM(x)
(sizeof(x)/sizeof(x[0]))
ii =
700697376
surely sounds
bogus...
int li[]={0,0,1, 0,4,5, 0,8,9,
0,12,14, 0,17,17,
0,21,21,
0,24,24, 0,34,34, 0,40,42, 0,45,45, 0,48,49,
0,52,54,
0,61,61, 0,64,66, 0,68,70, 0,72,74, 0,76,76,
0,78,78,
is what's in the code, but
that's not what the gdb dump shows (which is 0,0,0, 0,0,0 ...
So,
something is stomping on the data area. No clue what...
(Luca - do we need to update myrrd to a 1.2.x
version?)
-----Burton
[Switching to Thread 8 (LWP
100276)] 0x2968539b in ?? () from
/usr/local/lib/libmyrrd-3.2.so
#0 0x2968539b in ?? () from
/usr/local/lib/libmyrrd-3.2.so No symbol table info available. #1
0x00000059 in ?? () No symbol table info available. #2 0x00000171
in ?? () No symbol table info available. #3 0xbfa9da88 in ??
() No symbol table info available. #4 0x29648c87 in gator
(gif=0xa0d0000, x=482, y=89) at
rrd_graph.c:1566 li = {0
<repeats 21 times>, 4, -1079389800, 700559972, -1079389376,
-1079389824, 4, 0, 0, 0, 0, 0, 700428497, 492, 0, 0, 1969, 13626,
-1079390392, 2005, 700428497, 492, 642, 0, 1969, 13626, 2006, 2005,
13140, -18000, 642, 0, 0, 0, 2006, 10, -1079387824, -18000,
-1079390296, 700622252, 700680096, 700678208, -1079390280,
700427472, -1079390296, -18000, 700678208, -1079387824, -1079390280,
-1079387824, 1150059600, 700622252, 4, -1079390176, -1079390056,
700431182, -1079390180, 0, -1079387824, -1, 0, 0, 2006, 0, 0,
-1079390128, -1079389988, 0, 700427300, -1079387824, 1150009200,
1150009200, 0, 0, -1079389956, 0, 700427300, -1079387824,
1150059600, 1150059600, 0, 0, 16, 11, 5, 106, 0, 161, 0, -18000,
700685200, 161, 0, 0, 16, 11, 5, 106, 0, 161, 0, -18000, 700685200,
700431271, -1079387824, 700427300, 0, 700622252, -1079389956, 0,
-1079390008, 700431271, -1079387824, 700427300, 0, -1079389956, 0,
700427300, 700427300, -1079387824, 2, -1079387824, -1079387880,
700431416, -1079387824, 700427300,
0, -1079389956, 0, 0, 0, 0,
0, 0, 700427300, 1, 0 <repeats 28 times>, 700428497, 492, 0,
0, 1969, 13626, 0, 2005, 13140, 4, 642, 0, 0, 0, 2006, 10,
-1079386920, -18000, -1079389720, 700622252, 700680096, 700678208,
-1079389704, 700427472, -1079389720, -18000, 700678208, -1079386920,
-1079389704, -1079386920, 1150057266, 700622252, 1, -1079389600,
-1079389480, 700431182, -1079389604, 0, -1079386920, 10,
-1079386920, -18000, -1079389624, 700622252,
700680096...} i =
0 ii = 700697376 Previous
frame identical to this frame (corrupt stack?) No locals (gdb)
print deviceId No symbol table is loaded. Use the "file"
command. (gdb) list No symbol table is loaded. Use the "file"
command. (gdb) info threads 11 Thread 2 (LWP 100249)
0x299672af in ?? () 10 Thread 7 (sleeping) 0x2995ee91 in ??
() 9 Thread 6 (sleeping) 0x2995ee91 in ?? () 8
Thread 5 (sleeping) 0x2995ee91 in ?? () 7 Thread 4
(sleeping) 0x2995ee91 in ?? () 6 Thread 3 (runnable)
0x2995ee91 in ?? () 5 Thread 10 (runnable) 0x29babd0b in ??
() 4 Thread 9 (LWP 100129) 0x29bab46b in ?? () * 3 Thread 8
(LWP 100276) 0x2968539b in ?? () 2 Thread 1 (sleeping)
0x2995ee91 in ?? ()
(gdb) info stack #0
0x2968539b in ?? () #1 0x00000059 in ?? () #2 0x00000171 in
?? () #3 0xbfa9da88 in ?? () #4 0x29648c87 in ??
() #5 0x0a0d0000 in ?? () #6 0x000001e2 in ?? () #7
0x00000059 in ?? () #8 0x00000004 in ?? () #9 0x29c2a5ac in
?? () #10 0x09935ec0 in ?? () #11 0x29684d60 in ?? () #12 0x29684d60
in ?? () #13 0x00000000 in ?? () #14 0x00000000 in ?? () #15
0x00000001 in ?? () #16 0x00000000 in ?? () #17 0x00000004 in ??
() #18 0x00000005 in ?? () #19 0x00000000 in ?? () #20 0x00000008 in
?? () #21 0x00000009 in ?? () #22 0x00000000 in ?? ()
#23 0x0000000c in ?? () #24
0x0000000e in ?? () #25 0x00000000 in ?? () #26 0x00000011 in ??
() #27 0x00000011 in ?? () #28 0x00000000 in ?? () #29 0x00000015 in
?? () #30 0x00000015 in ?? () #31 0x00000000 in ?? () #32 0x00000018
in ?? () #33 0x00000018 in ?? () #34 0x00000000 in ?? () #35
0x00000022 in ?? () #36 0x00000022 in ?? () #37 0x00000000 in ??
() #38 0x00000028 in ?? () #39 0x0000002a in ?? () #40 0x00000000 in
?? () #41 0x0000002d in ?? () #42 0x0000002d in ?? () #43 0x00000000
in ?? () #44 0x00000030 in ?? () #45 0x00000031 in ?? ()
|