[Click] Bug in latest CVS?

Eddie Kohler kohler at cs.ucla.edu
Tue Mar 4 18:55:01 EST 2008


Thanks for catching this!

Bug fix:

http://www.read.cs.ucla.edu/gitweb?p=click;a=commit;h=e28d73ce2e53ff3af0ec1851252407ab49500a22

Also fixed in ipsumdump-1.66.

Eddie


Nicholas Weaver wrote:
> Attached is a click file which works fine on a few week old checkout by CVS,
> but fails on the latest checkout with:
> 
> click: ../include/click/vector.hh:45: T& Vector<T>::operator[](int) [with T = String]: Assertion `i>=0 && i<_n' failed.
> 
> 
> The error appears to be in the dasabe lookup:
> 
> The GDB backtrace:
> 
> (gdb) run flowlist.click
> Starting program: /da/nweaver/reset_detect/click/userlevel/click flowlist.click
> click: ../include/click/vector.hh:45: T& Vector<T>::operator[](int) [with T = String]: Assertion `i>=0 && i<_n' failed.
> 
> Program received signal SIGABRT, Aborted.
> 0x003187a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> (gdb) bt
> #0  0x003187a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> #1  0x00359815 in raise () from /lib/tls/libc.so.6
> #2  0x0035b279 in abort () from /lib/tls/libc.so.6
> #3  0x00352d91 in __assert_fail () from /lib/tls/libc.so.6
> #4  0x081190ef in DynamicNameDB::find (this=0x87e5ee0, name=@0xbfee47f0, create=false) at ../include/click/straccum.hh:300
> #5  0x081191ec in DynamicNameDB::query (this=0x0, name=@0xbfee47f0, value=0xbfee4714, vsize=4) at ../lib/nameinfo.cc:225
> #6  0x080a9ace in (anonymous namespace)::ServicesNameDB::query (this=0x87dda10, name=@0xbfee47f0, value=0xbfee4714, vsize=4) at ../elements/ip/ipnameinfo.cc:323
> #7  0x08118a61 in NameInfo::query (type=67239942, e=0x0, name=@0xbfee47f0, value=0xbfee4714, vsize=4) at ../lib/nameinfo.cc:464
> #8  0x080a3ca4 in IPFilter::lookup (this=0x87e61a8, word=
>       {_data = 0x87e5858 "1.2.3.4", _length = 7, _memo = 0x87e3eb8, static null_memo = 0x87d9008, static permanent_memo = 0x87d9020, static oom_memo = 0x87d9038, static null_string_p = 0x87d9050, static oom_string_p = 0x87d9060, static oom_string_data = 0 '\0'}, type=0, proto=-1000, data=@0xbfee47ec, errh=0x0) at ../elements/ip/ipfilter.cc:97
> #9  0x080a5583 in IPFilter::parse_factor (this=0x87e61a8, words=@0xbfee4bf0, pos=11, tree=@0xbfee4c00, prev_prim=@0xbfee4b80, negated=false, errh=0xbfee4bb0) at ../include/click/atomic.hh:223
> #10 0x080a606d in IPFilter::parse_term (this=0x87e61a8, words=@0xbfee4bf0, pos=10, tree=@0xbfee4c00, prev_prim=@0xbfee4b80, errh=0xbfee4bb0) at ../elements/ip/ipfilter.cc:817
> 
> 
> The click file itself:
> 
> 
> 
> src0 :: FromDump(/home/vern/bulk1/all/all-26.trace, FORCE_IP true, STOP true);
> collate :: {input[0] -> output;};
> src0 -> [0] collate;
> collate -> IPFilter( 0
> (host 116.30.83.49 ) or 
>  (host 1.2.3.4 and host 5.6.7.8)) -> 
>  IPFilter( 0
> (host 116.30.83.49 and host 192.150.187.159 ) or 
>  (host 1.2.3.4 and host 5.6.7.8)) -> 
> ToDump(newrip-26.trace, USE_ENCAP_FROM src0, SNAPLEN 2000);
> 
> 
> progress :: ProgressBar(src0.filepos, src0.filesize, UPDATE 0.1, DELAY 2s);
> manager :: DriverManager(, pause 1, write progress.mark_done, label stop);
> Script(TYPE SIGNAL INT TERM, write manager.goto stop, exit);
> 
> 
> 


More information about the click mailing list