Bug 2033758

Summary: OVS segmentation fault at sysdeps/x86_64/multiarch/memset.S:memset()
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Eric Nothen <enothen>
Component: openvswitchAssignee: Timothy Redaelli <tredaelli>
openvswitch sub component: daemons and tools QA Contact: qding
Status: NEW --- Docs Contact:
Severity: low    
Priority: unspecified CC: apevec, chrisw, ctrautma, dhill, jhsiao, jlibosva
Version: FDP 21.J   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Eric Nothen 2021-12-17 19:17:04 UTC
Description of problem:
ovs-vswitchd service randomly crashes on compute nodes with a segmentation fault error. 

Version-Release number of selected component (if applicable):
openvswitch-2.9.0-110.el7fdp.x86_64

How reproducible:
Not sure

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Core was generated by `ovs-vswitchd unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfi'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f5ba13669bd in memset () at ../sysdeps/x86_64/multiarch/memset.S:31
31		leaq	__memset_sse2(%rip), %rax
(gdb) 
(gdb) bt
#0  0x00007f5ba13669bd in memset () at ../sysdeps/x86_64/multiarch/memset.S:31
#1  0x000055daa63db2af in memset (__len=<optimized out>, __ch=0, __dest=0x7f5b971f0dd0) at /usr/include/bits/string3.h:84
#2  tun_metadata_read (tnl=0x7f5b971f3450, mf=0x55daa78630d0, value=0x7f5b971f0dd0) at ../lib/tun-metadata.c:235
#3  0x000055daa6349e8f in mf_get_value (mf=<optimized out>, flow=<optimized out>, value=<optimized out>) at ../lib/meta-flow.c:683
#4  0x000055daa634b074 in mf_mask_field_masked (mf=0x55daa78630d0, mask=mask@entry=0x7f5b971f0e90, wc=wc@entry=0x7f5b971f3450) at ../lib/meta-flow.c:1277
#5  0x000055daa634b146 in unwildcard_subfield (sf=sf@entry=0x55daa818fc30, wc=0x7f5b971f3450) at ../lib/meta-flow.c:2460
#6  0x000055daa634c15c in mf_subfield_copy (src=src@entry=0x55daa818fc20, dst=dst@entry=0x55daa818fc30, flow=0x7f5b971f2e00, wc=<optimized out>) at ../lib/meta-flow.c:2477
#7  0x000055daa62ffb18 in xlate_ofpact_reg_move (a=0x55daa818fc18, ctx=0x7f5b971f2540) at ../ofproto/ofproto-dpif-xlate.c:6160
#8  do_xlate_actions (ofpacts=<optimized out>, ofpacts_len=<optimized out>, ctx=<optimized out>, is_last_action=<optimized out>) at ../ofproto/ofproto-dpif-xlate.c:6405
#9  0x000055daa62fcd94 in xlate_recursively (actions_xlator=0x55daa62ff190 <do_xlate_actions>, is_last_action=false, deepens=<optimized out>, rule=0x55daa781ea60, ctx=0x7f5b971f2540)
    at ../ofproto/ofproto-dpif-xlate.c:3984
#10 xlate_table_action (ctx=0x7f5b971f2540, in_port=<optimized out>, table_id=<optimized out>, may_packet_in=<optimized out>, honor_table_miss=<optimized out>, with_ct_orig=<optimized out>, 
    is_last_action=false, xlator=0x55daa62ff190 <do_xlate_actions>) at ../ofproto/ofproto-dpif-xlate.c:4112
#11 0x000055daa63003f2 in do_xlate_actions (ofpacts=<optimized out>, ofpacts_len=<optimized out>, ctx=<optimized out>, is_last_action=<optimized out>) at ../ofproto/ofproto-dpif-xlate.c:6549
#12 0x000055daa62fcd94 in xlate_recursively (actions_xlator=0x55daa62ff190 <do_xlate_actions>, is_last_action=false, deepens=<optimized out>, rule=0x55daa7898890, ctx=0x7f5b971f2540)
    at ../ofproto/ofproto-dpif-xlate.c:3984
#13 xlate_table_action (ctx=0x7f5b971f2540, in_port=<optimized out>, table_id=<optimized out>, may_packet_in=<optimized out>, honor_table_miss=<optimized out>, with_ct_orig=<optimized out>, 
    is_last_action=false, xlator=0x55daa62ff190 <do_xlate_actions>) at ../ofproto/ofproto-dpif-xlate.c:4112
#14 0x000055daa63003f2 in do_xlate_actions (ofpacts=<optimized out>, ofpacts_len=<optimized out>, ctx=<optimized out>, is_last_action=<optimized out>) at ../ofproto/ofproto-dpif-xlate.c:6549
#15 0x000055daa62fcd94 in xlate_recursively (actions_xlator=0x55daa62ff190 <do_xlate_actions>, is_last_action=false, deepens=<optimized out>, rule=0x55daa760e8e0, ctx=0x7f5b971f2540)
    at ../ofproto/ofproto-dpif-xlate.c:3984
#16 xlate_table_action (ctx=0x7f5b971f2540, in_port=<optimized out>, table_id=<optimized out>, may_packet_in=<optimized out>, honor_table_miss=<optimized out>, with_ct_orig=<optimized out>, 
    is_last_action=false, xlator=0x55daa62ff190 <do_xlate_actions>) at ../ofproto/ofproto-dpif-xlate.c:4112
#17 0x000055daa63003f2 in do_xlate_actions (ofpacts=ofpacts@entry=0x55daa75e25a8, ofpacts_len=ofpacts_len@entry=8, ctx=ctx@entry=0x7f5b971f2540, is_last_action=is_last_action@entry=true)
    at ../ofproto/ofproto-dpif-xlate.c:6549
#18 0x000055daa6307871 in xlate_actions (xin=xin@entry=0x7f5b971f2df0, xout=xout@entry=0x7f5b971f3710) at ../ofproto/ofproto-dpif-xlate.c:7155
#19 0x000055daa62f6a32 in xlate_key (key=<optimized out>, len=<optimized out>, push=push@entry=0x7f5b971f3190, ctx=ctx@entry=0x7f5b971f36f0, udpif=<optimized out>)
    at ../ofproto/ofproto-dpif-upcall.c:2052
#20 0x000055daa62f7094 in xlate_ukey (ukey=0x7f5b80006c00, ukey=0x7f5b80006c00, ctx=0x7f5b971f36f0, tcp_flags=<optimized out>, udpif=0x55daa7550380) at ../ofproto/ofproto-dpif-upcall.c:2064
#21 revalidate_ukey__ (udpif=udpif@entry=0x55daa7550380, ukey=ukey@entry=0x7f5b80006c00, tcp_flags=<optimized out>, odp_actions=0x7f5b971f3b60, recircs=recircs@entry=0x7f5b971f3b50, 
    xcache=<optimized out>) at ../ofproto/ofproto-dpif-upcall.c:2110
#22 0x000055daa62f730a in revalidate_ukey (udpif=udpif@entry=0x55daa7550380, ukey=ukey@entry=0x7f5b80006c00, stats=stats@entry=0x7f5b971f4998, odp_actions=odp_actions@entry=0x7f5b971f3b60, 
    reval_seq=reval_seq@entry=166376242032, recircs=recircs@entry=0x7f5b971f3b50) at ../ofproto/ofproto-dpif-upcall.c:2212
#23 0x000055daa62fa50e in revalidate (revalidator=0x55daa75304e0) at ../ofproto/ofproto-dpif-upcall.c:2515
#24 0x000055daa62fa636 in udpif_revalidator (arg=0x55daa75304e0) at ../ofproto/ofproto-dpif-upcall.c:914
#25 0x000055daa63abf8f in ovsthread_wrapper (aux_=<optimized out>) at ../lib/ovs-thread.c:354
#26 0x00007f5ba1fd7ea5 in start_thread (arg=0x7f5b971f8700) at pthread_create.c:307
#27 0x00007f5ba13d58cd in __libc_ifunc_impl_list (name=<optimized out>, array=0x7f5b971f8700, max=<optimized out>) at ../sysdeps/x86_64/multiarch/ifunc-impl-list.c:329
#28 0x0000000000000000 in ?? ()
(gdb) 


Creating two different BZs as from the coredumps it looks like two different errors. If it's not the case, feel free to close-dup one of them. ABRT report on the case attached.