Daniele, thank you, I checked vxlan port again, it is ok, I was using vxlan-gpe 
port for test, because vxlan-gpe port is l3 port and hasn’t MAC address, that 
is a doubtable point, I’ll continue to debug it.

From: Daniele Di Proietto [mailto:[email protected]]
Sent: Wednesday, November 16, 2016 9:01 AM
To: Yang, Yi Y <[email protected]>
Cc: [email protected]
Subject: Re: [ovs-dev] FW: OVS 2.6.1 DPDK 16.07 issue: pthread_mutex_lock 
failed (Resource deadlock avoided) in



2016-11-15 6:34 GMT-08:00 Yang, Yi Y 
<[email protected]<mailto:[email protected]>>:
Hi, all

I found this issue when I use ovs 2.6.1 and dpdk 16.07, the error is located in 
the line "ovs_mutex_lock(&dev->mutex);" in get_stats() in lib/netdev-vport.c, 
it looks like a deadlock is detected, so resulted in ovs-vswitchd coredump, 
anybody noticed this issue? How can we fix it? this has bothered me two days.


static int
get_stats(const struct netdev *netdev, struct netdev_stats *stats)
{
    struct netdev_vport *dev = netdev_vport_cast(netdev);

    ovs_mutex_lock(&dev->mutex);
    /* Passing only collected counters */
    stats->tx_packets = dev->stats.tx_packets;
    stats->tx_bytes = dev->stats.tx_bytes;
    stats->rx_packets = dev->stats.rx_packets;
    stats->rx_bytes = dev->stats.rx_bytes;
    ovs_mutex_unlock(&dev->mutex);

    return 0;
}

Thanks for reporting this

Could you share more details about the setup, so maybe I can try to reproduce 
this?
Could you also post a backtrace for every thread from the core file?
Thanks,
Daniele


If I commented out lock and unlock, I'll get the ovs log:

ovs_rcu(urcu3)|WARN|blocked 32000 ms waiting for revalidator8 to quiesce

ovs-ofctl will also hang.
_______________________________________________
dev mailing list
[email protected]<mailto:[email protected]>
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to