[ovs-discuss] RSTP crash in Open vSwitch

Ben Pfaff blp at nicira.com
Tue Sep 29 18:54:40 UTC 2015


Please don't drop the mailing list.

Daniel, can you suggest a way to reproduce the problem?

On Tue, Sep 29, 2015 at 02:19:14PM +0200, Daniele Venturino wrote:
> I’m not sure.
> What’s the easiest way to replicate this?
> 
> Daniele
> 
> > Il giorno 29/set/2015, alle ore 06:13, Ben Pfaff <blp at nicira.com> ha scritto:
> > 
> > On Wed, Sep 23, 2015 at 11:31:31AM +0000, Daniel Swahn wrote:
> >> (gdb) frame 0
> >> #0  0x00000000004291ca in rstp_run (ofproto=<optimized out>, ofproto=<optimized out>) at ofproto/ofproto-dpif.c:2278
> >> 2278                bundle_move(((struct ofport_dpif *)rstp_get_old_root_aux(ofproto->rstp))->bundle,
> > 
> > Thanks for the report.
> > 
> > Jarno and Daniele, the code around line 2278 in v2.4.0 is this:
> > 
> >        if (rstp_shift_root_learned_address(ofproto->rstp)) {
> >            bundle_move(((struct ofport_dpif *)rstp_get_old_root_aux(ofproto->rstp))->bundle,
> >                        ((struct ofport_dpif *)rstp_get_new_root_aux(ofproto->rstp))->bundle);
> >            rstp_reset_root_changed(ofproto->rstp);
> >        }
> > 
> > Looking at lib/rstp*.[ch], I see some code that sets 'old_root_aux' and
> > 'new_root_aux'.  I don't see any code that clears them or updates them
> > if something happens to invalidate them (that is, if a port gets deleted
> > or if its aux gets updated).  I suspect that this may be the problem
> > here.
> > 
> > Jarno or Daniele, can you confirm this?
> 



More information about the discuss mailing list