On Dec 11, 2013, at 3:14 PM, Ben Pfaff <b...@nicira.com> wrote: > On Wed, Dec 11, 2013 at 02:17:13PM -0800, Jarno Rajahalme wrote: >> While testing the code I accidentally requested a change in the interface >> type (to dummy), like this: >> >> # ovs-vsctl add-br br0 >> # ovs-vsctl add-port br0 p1 -- set Interface p1 type=internal >> # ovs-vsctl -- set Interface p1 type=dummy >> >> Running OVS without dummy enabled seg faults: > > I couldn't reproduce this, can you try to get me a backtrace or run > under valgrind?
I also upped logging to dbg: 2013-12-12T00:03:27Z|00309|netlink_socket|DBG|nl_sock_transact_multiple__ (Success): nl(len:40, type=196(ovs_vport), flags=9[REQUEST][ECHO], seq=35, pid=33664,genl(cmd=3,version=1) 2013-12-12T00:03:27Z|00310|netlink_socket|DBG|nl_sock_recv__ (Success): nl(len:124, type=196(ovs_vport), flags=0, seq=35, pid=33664,genl(cmd=1,version=1) 2013-12-12T00:03:27Z|00311|dpif|DBG|system@ovs-system: device br0 is on port 1 2013-12-12T00:03:27Z|00312|netlink_socket|DBG|nl_sock_transact_multiple__ (Success): nl(len:40, type=196(ovs_vport), flags=9[REQUEST][ECHO], seq=36, pid=33664,genl(cmd=3,version=1) 2013-12-12T00:03:27Z|00313|netlink_socket|DBG|nl_sock_recv__ (Success): nl(len:124, type=196(ovs_vport), flags=0, seq=36, pid=33664,genl(cmd=1,version=1) 2013-12-12T00:03:27Z|00314|dpif|DBG|system@ovs-system: device p1 is on port 2 2013-12-12T00:03:27Z|00315|netlink_socket|DBG|nl_sock_transact_multiple__ (Success): nl(len:32, type=196(ovs_vport), flags=9[REQUEST][ECHO], seq=37, pid=33664,genl(cmd=2,version=1) 2013-12-12T00:03:27Z|00316|netlink_socket|DBG|nl_sock_recv__ (Success): nl(len:124, type=196(ovs_vport), flags=0, seq=37, pid=33664,genl(cmd=2,version=1) 2013-12-12T00:03:27Z|00317|dpif|DBG|system@ovs-system: port_del(2) 2013-12-12T00:03:27Z|00318|netlink_socket|DBG|nl_sock_transact_multiple__ (Success): nl(len:40, type=196(ovs_vport), flags=9[REQUEST][ECHO], seq=38, pid=33664,genl(cmd=3,version=1) 2013-12-12T00:03:27Z|00319|netlink_socket|DBG|nl_sock_recv__ (Success): nl(len:60, type=2(error), flags=0, seq=38, pid=33664 error(-19(No such device), in-reply-to(nl(len:40, type=196(ovs_vport), flags=9[REQUEST][ECHO], seq=38, pid=33664)) 2013-12-12T00:03:27Z|00320|netlink_socket|DBG|received NAK error=0 (No such device) 2013-12-12T00:03:27Z|00321|dpif|DBG|system@ovs-system: failed to query port p1: No such device 2013-12-12T00:03:27Z|00322|netlink_socket|DBG|nl_sock_transact_multiple__ (Success): nl(len:40, type=196(ovs_vport), flags=9[REQUEST][ECHO], seq=39, pid=33664,genl(cmd=3,version=1) 2013-12-12T00:03:27Z|00323|netlink_socket|DBG|nl_sock_recv__ (Success): nl(len:60, type=2(error), flags=0, seq=39, pid=33664 error(-19(No such device), in-reply-to(nl(len:40, type=196(ovs_vport), flags=9[REQUEST][ECHO], seq=39, pid=33664)) 2013-12-12T00:03:27Z|00324|netlink_socket|DBG|received NAK error=0 (No such device) 2013-12-12T00:03:27Z|00325|netdev|WARN|could not create netdev p1 of unknown type dummy 2013-12-12T00:03:27Z|00326|bridge|WARN|could not open network device p1 (Address family not supported by protocol) ==33664== Invalid read of size 2 ==33664== at 0x40A1C2: bridge_reconfigure (bridge.c:1568) ==33664== by 0x406BAC: bridge_run (bridge.c:2289) ==33664== by 0x40E498: main (ovs-vswitchd.c:118) ==33664== Address 0x48 is not stack'd, malloc'd or (recently) free'd ==33664== ==33664== ==33664== Process terminating with default action of signal 11 (SIGSEGV) ==33664== Access not within mapped region at address 0x48 ==33664== at 0x40A1C2: bridge_reconfigure (bridge.c:1568) ==33664== by 0x406BAC: bridge_run (bridge.c:2289) ==33664== by 0x40E498: main (ovs-vswitchd.c:118) ==33664== If you believe this happened as a result of a stack ==33664== overflow in your program's main thread (unlikely but ==33664== possible), you can try to increase the size of the ==33664== main thread stack using the --main-stacksize= flag. ==33664== The main thread stack size used in this run was 8388608. ==33664== ==33664== HEAP SUMMARY: ==33664== in use at exit: 125,133 bytes in 858 blocks ==33664== total heap usage: 14,036 allocs, 13,178 frees, 4,882,832 bytes allocated ==33664== ==33664== LEAK SUMMARY: ==33664== definitely lost: 40 bytes in 1 blocks ==33664== indirectly lost: 0 bytes in 0 blocks ==33664== possibly lost: 7,792 bytes in 18 blocks ==33664== still reachable: 117,301 bytes in 839 blocks ==33664== suppressed: 0 bytes in 0 blocks ==33664== Rerun with --leak-check=full to see details of leaked memory ==33664== ==33664== For counts of detected and suppressed errors, rerun with: -v ==33664== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4) ./start_ovs.sh: line 6: 33664 Killed valgrind ovs-vswitchd --pidfile -vdbg The offending line is: if (iface->ofp_port == OFPP_LOCAL) { Seems like iface is NULL (if offset of odp_port == 0x48) in this case. Jarno _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev