Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.

Bug 2033756

Summary: OVS segmentation fault at lib/tun-metadata.c:memcpy_from_metadata
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: CLOSED EOL Docs Contact:
Severity: low    
Priority: unspecified CC: apevec, chrisw, ctrautma, dhill, fleitner, 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: 2024-03-12 14:44:43 UTC 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:10:51 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  memcpy_from_metadata (dst=0x7fb1da3e9dd0, src=0x7fb1da3ec490, loc=<optimized out>) at ../lib/tun-metadata.c:450
450	        memcpy((uint8_t *)dst + addr, src->opts.u8 + chain->offset,
(gdb) bt
#0  memcpy_from_metadata (dst=0x7fb1da3e9dd0, src=0x7fb1da3ec490, loc=<optimized out>) at ../lib/tun-metadata.c:450
#1  0x000055d353776074 in mf_mask_field_masked (mf=0x55d355c84ef0, mask=mask@entry=0x7fb1da3e9e90, wc=wc@entry=0x7fb1da3ec450) at ../lib/meta-flow.c:1277
#2  0x000055d353776146 in unwildcard_subfield (sf=sf@entry=0x55d3554bedc0, wc=0x7fb1da3ec450) at ../lib/meta-flow.c:2460
#3  0x000055d35377715c in mf_subfield_copy (src=src@entry=0x55d3554bedb0, dst=dst@entry=0x55d3554bedc0, flow=0x7fb1da3ebe00, wc=<optimized out>) at ../lib/meta-flow.c:2477
#4  0x000055d35372ab18 in xlate_ofpact_reg_move (a=0x55d3554beda8, ctx=0x7fb1da3eb540) at ../ofproto/ofproto-dpif-xlate.c:6160
#5  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
#6  0x000055d353727d94 in xlate_recursively (actions_xlator=0x55d35372a190 <do_xlate_actions>, is_last_action=false, deepens=<optimized out>, rule=0x55d3554bec10, ctx=0x7fb1da3eb540)
    at ../ofproto/ofproto-dpif-xlate.c:3984
#7  xlate_table_action (ctx=0x7fb1da3eb540, 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=0x55d35372a190 <do_xlate_actions>) at ../ofproto/ofproto-dpif-xlate.c:4112
#8  0x000055d35372b3f2 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
#9  0x000055d353727d94 in xlate_recursively (actions_xlator=0x55d35372a190 <do_xlate_actions>, is_last_action=false, deepens=<optimized out>, rule=0x55d355d13fa0, ctx=0x7fb1da3eb540)
    at ../ofproto/ofproto-dpif-xlate.c:3984
#10 xlate_table_action (ctx=0x7fb1da3eb540, 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=0x55d35372a190 <do_xlate_actions>) at ../ofproto/ofproto-dpif-xlate.c:4112
#11 0x000055d35372b3f2 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 0x000055d353727d94 in xlate_recursively (actions_xlator=0x55d35372a190 <do_xlate_actions>, is_last_action=false, deepens=<optimized out>, rule=0x55d355e13850, ctx=0x7fb1da3eb540)
    at ../ofproto/ofproto-dpif-xlate.c:3984
#13 xlate_table_action (ctx=0x7fb1da3eb540, 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=0x55d35372a190 <do_xlate_actions>) at ../ofproto/ofproto-dpif-xlate.c:4112
#14 0x000055d35372b3f2 in do_xlate_actions (ofpacts=ofpacts@entry=0x55d355f50818, ofpacts_len=ofpacts_len@entry=8, ctx=ctx@entry=0x7fb1da3eb540, is_last_action=is_last_action@entry=true)
    at ../ofproto/ofproto-dpif-xlate.c:6549
#15 0x000055d353732871 in xlate_actions (xin=xin@entry=0x7fb1da3ebdf0, xout=xout@entry=0x7fb1da3ec710) at ../ofproto/ofproto-dpif-xlate.c:7155
#16 0x000055d353721a32 in xlate_key (key=<optimized out>, len=<optimized out>, push=push@entry=0x7fb1da3ec190, ctx=ctx@entry=0x7fb1da3ec6f0, udpif=<optimized out>)
    at ../ofproto/ofproto-dpif-upcall.c:2052
#17 0x000055d353722094 in xlate_ukey (ukey=0x7fb1c4041280, ukey=0x7fb1c4041280, ctx=0x7fb1da3ec6f0, tcp_flags=<optimized out>, udpif=0x55d355090570) at ../ofproto/ofproto-dpif-upcall.c:2064
#18 revalidate_ukey__ (udpif=udpif@entry=0x55d355090570, ukey=ukey@entry=0x7fb1c4041280, tcp_flags=<optimized out>, odp_actions=0x7fb1da3ecb60, recircs=recircs@entry=0x7fb1da3ecb50, 
    xcache=<optimized out>) at ../ofproto/ofproto-dpif-upcall.c:2110
#19 0x000055d35372230a in revalidate_ukey (udpif=udpif@entry=0x55d355090570, ukey=ukey@entry=0x7fb1c4041280, stats=stats@entry=0x7fb1da3ee820, odp_actions=odp_actions@entry=0x7fb1da3ecb60, 
    reval_seq=reval_seq@entry=139408647449, recircs=recircs@entry=0x7fb1da3ecb50) at ../ofproto/ofproto-dpif-upcall.c:2212
#20 0x000055d35372550e in revalidate (revalidator=0x55d355071978) at ../ofproto/ofproto-dpif-upcall.c:2515
#21 0x000055d353725636 in udpif_revalidator (arg=0x55d355071978) at ../ofproto/ofproto-dpif-upcall.c:914
#22 0x000055d3537d6f8f in ovsthread_wrapper (aux_=<optimized out>) at ../lib/ovs-thread.c:354
#23 0x00007fb1e6dbfea5 in start_thread (arg=0x7fb1da3f1700) at pthread_create.c:307
#24 0x00007fb1e61bd8cd in __libc_ifunc_impl_list (name=<optimized out>, array=0x7fb1da3f1700, max=<optimized out>) at ../sysdeps/x86_64/multiarch/ifunc-impl-list.c:329
#25 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.

Comment 3 Flavio Leitner 2024-03-12 14:44:43 UTC
Hi,
The Open vSwitch 2.9 is no longer supported.
If this issue is still relevant, please open a new ticket using a supported Open vSwitch version at https://issues.redhat.com/projects/FDP
Thanks