[ovs-discuss] reply: ovs_assert when do classifier_insert
yinpeijun at huawei.com
Thu Aug 3 03:05:30 UTC 2017
>>On Thu, Aug 03, 2017 at 02:04:34AM +0000, Yinpeijun wrote:
>> Recently, there's been a problem when I use ovs,
>> the problem is ovs_assert when do classifier_insert. I read the source
>> code and annotation, but I don't understand how the problem is been
>Can you provide a backtrace? Which assertion is failing? When did this start?
Thank you for your reply, Ben.
I use ovs2.0.2(may be too old) and backtrace as follow:
#0 0x00007f2315a98875 in raise () from /lib64/libc.so.6
#1 0x00007f2315a99e51 in abort () from /lib64/libc.so.6
#2 0x00000000004d64ff in ovs_abort_valist (err_no=0, format=0x5577e0 "%s: assertion %s failed in %s()",
args=0x7ffc597e57a0) at lib/util.c:243
#3 0x00000000004dcd8a in vlog_abort_valist (module_=0x7cdae0 <VLM_util>,
message=0x5577e0 "%s: assertion %s failed in %s()", args=0x7ffc597e57a0) at lib/vlog.c:944
#4 0x00000000004dce6d in vlog_abort (module=0x7cdae0 <VLM_util>,
message=0x5577e0 "%s: assertion %s failed in %s()") at lib/vlog.c:958
#5 0x00000000004d5f50 in ovs_assert_failure (where=0x53d3c2 "lib/classifier.c:236",
function=0x53d3a0 <__func__.10702> "classifier_insert", condition=0x53d3b2 "!displaced_rule") at lib/util.c:66
#6 0x0000000000457f16 in classifier_insert (cls=0xa2ff48, rule=0x7f230c603248) at lib/classifier.c:236
#7 0x000000000042cdb2 in facet_create (miss=0xb68c10) at ofproto/ofproto_dpif.c:4444
#8 0x000000000042b6de in handle_flow_miss (miss=0xb68c10, ops=0x7ffc597e5cb0, n_ops=0x7ffc597e5b18)
#9 0x000000000042b9eb in handle_flow_misses (backer=0xcce850, fmb=0xb68c00) at ofproto/ofproto_dpif.c:3886
#10 0x000000000042c0a6 in handle_upcalls (backer=0xcce850) at ofproto/ofproto_dpif.c:4047
#11 0x00000000004254c8 in dpif_backer_run_fast (backer=0xcce850) at ofproto/ofproto_dpif.c:1155
#12 0x0000000000425506 in type_run_fast (type=0x7f230c52fc20 "system") at ofproto/ofproto_dpif.c:1172
#13 0x0000000000418db9 in ofproto_type_run_fast (datapath_type=0x7f230c52fc20 "system") at ofproto/ofproto.c:1462
#14 0x000000000040e0dd in bridge_run_fast () at vswitchd/bridge.c:2493
I've been using ovs2.0.2 for more than one year, it happened recently in my lab environment.
And I was a little confused, there is only one thread to process the classifier insert , why need to lock it ?
More information about the discuss