Steve the bug is in RRD that uses non-reentrant calls. Now as I want to release ntopng I don't want to waste a lot of time to handle that so I have decided to create a small module for RRD, put a lock and as soon as we have time use their _r API that is supposed to be reentrant.
Please resync the code and let me know if it works better now. Cheers Luca On Jun 14, 2013, at 12:52 PM, Steve Clark <[email protected]> wrote: > Hi Luca, > > This is new crash r6405 - I still am in gdb if there is anything else let me > know ASAP. > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0xb27feb70 (LWP 11097)] > 0x006795d1 in __strlen_ia32 () from /lib/libc.so.6 > Missing separate debuginfos, use: debuginfo-install > glibc-2.12-1.47.el6_2.12.i686 libgcc-4.4.7-3.el6.i686 > libpcap-1.0.0-6.20091201git117cb5.el6.i686 libstdc++-4.4.7-3.el6.i686 > libxml2-2.7.6-12.el6_4.1.i686 zlib-1.2.3-27.el6.i686 > (gdb) bt > #0 0x006795d1 in __strlen_ia32 () from /lib/libc.so.6 > #1 0x006c20e3 in _getopt_internal_r () from /lib/libc.so.6 > #2 0x006c2b5e in _getopt_internal () from /lib/libc.so.6 > #3 0x006c2da9 in getopt_long () from /lib/libc.so.6 > #4 0x081410df in rrd_create (argc=12, argv=0xb32082a0) at rrd_create.c:59 > #5 0x08064cdf in rrd_common_call (L=0xb63c51c0, cmd=0x81740b0 "create", > rrd_function=0x8140fa0 <rrd_create>) > at third-party/rrdtool-1.4.7/bindings/lua/rrdlua.c:92 > #6 0x08064f2f in lua_rrd_create (L=0xb63c51c0) at > third-party/rrdtool-1.4.7/bindings/lua/rrdlua.c:155 > #7 0x080d2d1f in lj_BC_FUNCC () > #8 0x080b8b08 in lua_pcall (L=0xb63c51c0, nargs=0, nresults=-1, errfunc=0) > at lj_api.c:1052 > #9 0x08067e02 in Lua::run_script (this=0xb3206100, script_path=0xb27fe24c > "./scripts/callbacks/minute.lua") > at Lua.cpp:972 > #10 0x0806d8fa in PeriodicActivities::runScript (this=0x819f248, > path=0xb27fe24c "./scripts/callbacks/minute.lua") > at PeriodicActivities.cpp:69 > #11 0x0806da65 in PeriodicActivities::minuteActivitiesLoop (this=0x819f248) > at PeriodicActivities.cpp:98 > #12 0x0806d786 in minuteStartLoop (ptr=0x819f248) at PeriodicActivities.cpp:44 > #13 0x007cda09 in start_thread () from /lib/libpthread.so.0 > #14 0x006df43e in clone () from /lib/libc.so.6 > (gdb) f 4 > #4 0x081410df in rrd_create (argc=12, argv=0xb32082a0) at rrd_create.c:59 > 59 opt = getopt_long(argc, argv, "Ob:s:", long_options, > &option_index); > > (gdb) p argv[0] > $4 = 0x81740b0 "create" > (gdb) p argv[1] > $5 = 0xae6cce38 "/var/tmp/rrd/10.254.220.242/icmp.rrd" > (gdb) p argv[2] > $6 = 0xb63cdd88 "--start" > (gdb) p argv[3] > $7 = 0xb63cdda8 "now" > (gdb) p argv[4] > $8 = 0xb63cddc0 "--step" > (gdb) p argv[5] > $9 = 0xb63cdde0 "300" > (gdb) p argv[6] > $10 = 0xb63cddf8 "DS:sent:DERIVE:600:U:U" > (gdb) p argv[7] > $11 = 0xb63cde28 "DS:rcvd:DERIVE:600:U:U" > (gdb) p argv[8] > $12 = 0xb63cde58 "RRA:AVERAGE:0.5:1:50400" > (gdb) p argv[9] > $13 = 0xb63cde88 "RRA:AVERAGE:0.5:12:2400" > (gdb) p argv[10] > $14 = 0xb63cdeb8 "RRA:AVERAGE:0.5:288:365" > (gdb) p argv[11] > $15 = 0xb63cdf30 "RRA:HWPREDICT:1440:0.1:0.0035:20" > (gdb) p argv[12] > $16 = 0x0 > (gdb) l > 54 > 55 optind = 0; > 56 opterr = 0; /* initialize getopt */ > 57 > 58 while (1) { > 59 opt = getopt_long(argc, argv, "Ob:s:", long_options, > &option_index); > 60 > 61 if (opt == EOF) > 62 break; > 63 > (gdb) info locals > long_options = {{name = 0x8180b0f "start", has_arg = 1, flag = 0x0, val = > 98}, {name = 0x817f6ce "step", has_arg = 1, > flag = 0x0, val = 115}, {name = 0x8180b15 "no-overwrite", has_arg = 0, > flag = 0x0, val = 79}, {name = 0x0, > has_arg = 0, flag = 0x0, val = 0}} > option_index = 0 > opt = <value optimized out> > last_up = 1371153606 > pdp_step = 300 > last_up_tv = {type = 52, offset = 8200657, tm = {tm_sec = 135908324, tm_min = > -1237560632, tm_hour = -1300242312, > tm_mday = 135560669, tm_mon = 0, tm_year = 135560912, tm_wday = > -1355148872, tm_yday = 134630445, > tm_isdst = 135908324, tm_gmtoff = -1237560632, > tm_zone = 0xb27fe088 > "\253\017\024\b\370\\<\266\310R<\266\016O\006\b\310\340\177\262\337L\006\b\f"}} > parsetime_error = <value optimized out> > long_tmp = 0 > rc = <value optimized out> > (gdb) > > > On 06/14/2013 12:32 AM, Luca Deri wrote: >> Steve >> can you please print >> >>> #4 0x081410df in rrd_create (argc=12, argv=0xb260a230) at rrd_create.c:59 >> >> the value for the 12 arguments of argv? >> >> Thanks Luca >> >> On Jun 13, 2013, at 9:18 PM, Steve Clark <[email protected]> wrote: >> >>> Hi, >>> >>> I removed my rrd directory before this run to make sure >>> I didn't have any corrupted files. >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> [Switching to Thread 0xb25ffb70 (LWP 29880)] >>> 0x006795d1 in __strlen_ia32 () from /lib/libc.so.6 >>> Missing separate debuginfos, use: debuginfo-install >>> glibc-2.12-1.47.el6_2.12.i686 libgcc-4.4.7-3.el6.i686 >>> libpcap-1.0.0-6.20091201git117cb5.el6.i686 libstdc++-4.4.7-3.el6.i686 >>> libxml2-2.7.6-12.el6_4.1.i686 zlib-1.2.3-27.el6.i686 >>> (gdb) bt >>> #0 0x006795d1 in __strlen_ia32 () from /lib/libc.so.6 >>> #1 0x006c20e3 in _getopt_internal_r () from /lib/libc.so.6 >>> #2 0x006c2b5e in _getopt_internal () from /lib/libc.so.6 >>> #3 0x006c2da9 in getopt_long () from /lib/libc.so.6 >>> #4 0x081410df in rrd_create (argc=12, argv=0xb260a230) at rrd_create.c:59 >>> #5 0x08064cdf in rrd_common_call (L=0xb63c51c0, cmd=0x81740b0 "create", >>> rrd_function=0x8140fa0 <rrd_create>) >>> at third-party/rrdtool-1.4.7/bindings/lua/rrdlua.c:92 >>> #6 0x08064f2f in lua_rrd_create (L=0xb63c51c0) at >>> third-party/rrdtool-1.4.7/bindings/lua/rrdlua.c:155 >>> #7 0x080d2d1f in lj_BC_FUNCC () >>> #8 0x080b8b08 in lua_pcall (L=0xb63c51c0, nargs=0, nresults=-1, errfunc=0) >>> at lj_api.c:1052 >>> #9 0x08067e02 in Lua::run_script (this=0xb2604710, script_path=0xb25ff24c >>> "./scripts/callbacks/minute.lua") >>> at Lua.cpp:972 >>> #10 0x0806d8fa in PeriodicActivities::runScript (this=0x819f248, >>> path=0xb25ff24c "./scripts/callbacks/minute.lua") >>> at PeriodicActivities.cpp:69 >>> #11 0x0806da65 in PeriodicActivities::minuteActivitiesLoop (this=0x819f248) >>> at PeriodicActivities.cpp:98 >>> #12 0x0806d786 in minuteStartLoop (ptr=0x819f248) at >>> PeriodicActivities.cpp:44 >>> #13 0x007cda09 in start_thread () from /lib/libpthread.so.0 >>> #14 0x006df43e in clone () from /lib/libc.so.6 >>> (gdb) >>> >>> -- >>> Stephen Clark >>> NetWolves >>> Director of Technology >>> Phone: 813-579-3200 >>> Fax: 813-882-0209 >>> Email: [email protected] >>> http://www.netwolves.com >>> _______________________________________________ >>> Ntop-dev mailing list >>> [email protected] >>> http://listgateway.unipi.it/mailman/listinfo/ntop-dev >> >> >> >> _______________________________________________ >> Ntop-dev mailing list >> [email protected] >> http://listgateway.unipi.it/mailman/listinfo/ntop-dev > > > -- > Stephen Clark > NetWolves > Director of Technology > Phone: 813-579-3200 > Fax: 813-882-0209 > Email: [email protected] > http://www.netwolves.com > _______________________________________________ > Ntop-dev mailing list > [email protected] > http://listgateway.unipi.it/mailman/listinfo/ntop-dev
_______________________________________________ Ntop-dev mailing list [email protected] http://listgateway.unipi.it/mailman/listinfo/ntop-dev
