SEGV with IRRToolSet 4.8.5 on Solaris

MMC mmc at mmc.com.au
Mon Jan 7 06:23:07 UTC 2008


This was built using GCC:

-bash-3.00$ bin/gcc --version
gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I tried doing this on another plaform (Ubuntu with GCC 4.1.3) which 
behaves slightly differently - I get most of the output then a crash.  
However, our system management machines are Solaris, so I'm a bit stuck 
on getting it working there.

MMC

MMC wrote:
> Hi,
> I'm having a bit of problem with IRRToolSet 4.8.5 on Solaris 10 (32bit 
> on i386 FWIW).
>
> I'm seeking help because this is stopping me having a version that 
> will enable me to get on enabling EBGP peers and transit on IPv6!
>
> I can build it just fine, and it works with import statements, but 
> generating some export statements for Cisco routers causes it to 
> SEGV.   They worked fine on 4.7.1 and the contents of our database 
> pass rpslcheck on 4.8.5 just fine.
> I've changed some IPs and ASes to protect the less innocent - I'm 
> happy to supply more details off list if someone is able to help me 
> out (I'm just not a C++ expert).
>
> (gdb) set args -h myrawhoserver -p 43 -protocol rawhoisd -config cisco 
> -cisco_use_prefix_lists -supress_martian
> (gdb) FILE bin/RtConfig
> Reading symbols from bin/RtConfig...done.
> (gdb) run
> Starting program: /home/mmc/irrtoolset/bin/RtConfig -h myrawhoserver 
> -p 43 -protocol rawhoisd -config cisco -cisco_use_prefix_lists 
> -supress_martian
> RtConfig> @RtConfig set cisco_map_name = "asCUST-out"
> @RtConfig export ASBGPAS MYROUTERIP ASPEER PEERIPADDR RtConfig>
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x08108f39 in ItemList::contains(Item*) (this=0x8309538, t=0x8309838) 
> at rpsl_item.hh:857
> 857            if ((typeid(*item) == typeid(*t)) && ( typeid(*t) == 
> typeid(ItemAFI)))
> (gdb) bt
> #0  0x08108f39 in ItemList::contains(Item*) (this=0x8309538, 
> t=0x8309838) at rpsl_item.hh:857
> #1  0x08108e23 in ItemList::merge(ItemList&) (this=0x8309538, 
> list=@0x8309818) at ../../src/rpsl/rpsl/rpsl_item.hh:865
> #2  0x0811089b in AutNumSelector<AttrExport>::select(PolicyExpr*, 
> char*, unsigned, MPPrefix const*, MPPrefix const*, ItemList**, 
> Filter**) (this=0x8047770,
>    policy=0x82b5520, pset=0x0, peerAS=ASPEER, peerIP=0xPEERIP, 
> ip=0xMYROUTERIP, tmp_afi_list=0x804767c, combinedFilter=0x0) at 
> ../../src/irr/autnum.hh:448
> #3  0x0810c88c in AutNumSelector<AttrExport>::AutNumSelector(AutNum 
> const*, char const*, char*, unsigned, MPPrefix const*, MPPrefix 
> const*, char*, char*) (
>    this=0x8047770, an=0x81d65c8, attrib=0x8148e95 "export", pset=0x0, 
> peerAS=ASPEER, peerIP=0xPEERIPADDR, ip=0xMYROUTERIP, 
> fProtName=0x8148e90 "BGP4",
>    iProtName=0x8148e90 "BGP4") at ../../src/irr/autnum.hh:392
> #4  0x08099c07 in CiscoConfig::exportP(unsigned, MPPrefix*, unsigned, 
> MPPrefix*) (this=0x81b10a0, asno=ASBGPAS, addr=0xMYROUTERIP, 
> peerAS=ASPEER, peer_addr=0xPEERIPADDR)
>    at f_cisco.cc:1290
> #5  0x0809221e in commandparse() () at command.y:210
> #6  0x0808da3d in main (argc=11, argv=0x8047d2c, envp=0x8047d5c) at 
> RtConfig.cc:250


More information about the irrtoolset mailing list