DPDK CI discussions
 help / color / mirror / Atom feed
From: Brandon Lo <blo@iol.unh.edu>
To: David Marchand <david.marchand@redhat.com>
Cc: Lincoln Lavoie <lylavoie@iol.unh.edu>,
	dpdklab <dpdklab@iol.unh.edu>,
	ci@dpdk.org,  Aaron Conole <aconole@redhat.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	Ray Kinsella <mdr@ashroe.eu>, Dodji Seketeli <dodji@redhat.com>
Subject: Re: [dpdk-ci] [dpdklab] ABI test failing for openSUSE and Arch Linux
Date: Wed, 9 Jun 2021 11:07:07 -0400
Message-ID: <CAOeXdvY1T-fd+OHT9bhZp1YPmeu_4NDbg1jzDypUcrQa0odakA@mail.gmail.com> (raw)
In-Reply-To: <CAJFAV8zxOd2rBiQ4iHT46=Kk3Kp17RuzKLeF27=1k=ObjjYxkg@mail.gmail.com>

Hi David,

For the Arch container, the gcc version did update to 11.1 which
contributed to this error.
The OpenSUSE container also underwent a similar update process where
various packages related to the toolchain were updated. However, it
appears that OpenSUSE remained on gcc version 7.5.0.
This is, in part, also caused by the fact that we generate the ABI
references once and store them. This is simply to reduce the amount of
time per ABI test.

To streamline this entire process, we are working on a job or pipeline
to automate refreshing all of the images and recreate the ABI
references.

Thanks,
Brandon

On Mon, Jun 7, 2021 at 4:34 AM David Marchand <david.marchand@redhat.com> wrote:
>
> Trying to do a post mortem.
>
>
> On Fri, Jun 4, 2021 at 3:53 PM Lincoln Lavoie <lylavoie@iol.unh.edu> wrote:
> > The ABI references for all systems were updated this week to the 21.05 release code.  The two failures look like places where the interfaces didn't actually change. We do see the failures across multiple patches, which might imply something got merged that caused these changes / failures.
> >
> > ---------------------------------------------------------------------------------------------
> > OpenSUSE
> > 2 Removed function symbols not referenced by debug info:
> >
> >   [D] _fini
> >   [D] _init
>
> This one, I am not sure what was wrong.
> This is not a symbol from DPDK itself.
> This comes from a libc / toolchain and/or linker change.
>
>
> >
> > ---------------------------------------------------------------------------------------------
> > Arch Linux (one example from the output)
> >
> > Functions changes summary: 0 Removed, 0 Changed, 0 Added function
> > Variables changes summary: 0 Removed, 1 Changed (13 filtered out), 0 Added variables
> >
> > 1 Changed variable:
> >
> >   [C] 'rte_table_ops rte_table_acl_ops' was changed at rte_table_acl.h:60:1:
> >     type of variable changed:
> >       type size hasn't changed
> >       1 data member change:
> >         type of 'rte_table_op_lookup f_lookup' changed:
> >           underlying type 'int (void*, rte_mbuf**, typedef uint64_t, uint64_t*, void**)*' changed:
> >             in pointed to type 'function type int (void*, rte_mbuf**, typedef uint64_t, uint64_t*, void**)':
> >               parameter 2 of type 'rte_mbuf**' has sub-type changes:
> >                 in pointed to type 'rte_mbuf*':
> >                   in pointed to type 'struct rte_mbuf' at rte_mbuf_core.h:484:1:
> >                     type size hasn't changed
> >                     1 data member changes (1 filtered):
> >                       type of 'anonymous data member union {uint32_t packet_type; struct {uint8_t l2_type; uint8_t l3_type; uint8_t l4_type; uint8_t tun_type; union {uint8_t inner_esp_next_proto; struct {uint8_t inner_l2_type; uint8_t inner_l3_type;};}; uint8_t inner_l4_type;};}' changed:
> >                         type size hasn't changed
> >                         1 data member change:
> >                           type of 'anonymous data member struct {uint8_t l2_type; uint8_t l3_type; uint8_t l4_type; uint8_t tun_type; union {uint8_t inner_esp_next_proto; struct {uint8_t inner_l2_type; uint8_t inner_l3_type;};}; uint8_t inner_l4_type;}' changed:
> >                             type size hasn't changed
> >                             3 data member changes:
> >                               'uint8_t inner_l4_type' offset changed from 0 to 24 (in bits) (by +24 bits)
> >                               'uint8_t l4_type' offset changed from 0 to 8 (in bits) (by +8 bits)
> >                               'uint8_t tun_type' offset changed from 4 to 12 (in bits) (by +8 bits)
>
> For this one, this is probably due to
> https://sourceware.org/bugzilla/show_bug.cgi?id=26684
>
> I had a discussion with Dodji (libabigail maintainer).
>
> Going from dwarf 4 to dwarf 5 is something that is decided at gcc /
> binutils level.
>
> Arch Linux recently adopted gcc 11.
> https://archlinux.org/packages/core/x86_64/gcc/
>
> If we compare gcc 10 and gcc 11:
> - https://gcc.gnu.org/onlinedocs/gcc-10.1.0/gcc/Debugging-Options.html
> "Produce debugging information in DWARF format (if that is supported).
> The value of version may be either 2, 3, 4 or 5; the default version
> for most targets is 4. DWARF Version 5 is only experimental. "
> - https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Debugging-Options.html
> "Produce debugging information in DWARF format (if that is supported).
> The value of version may be either 2, 3, 4 or 5; the default version
> for most targets is 5 (with the exception of VxWorks, TPF and
> Darwin/Mac OS X, which default to version 2, and AIX, which defaults
> to version 4)."
>
> So the reason, for the issue reported above, could be that the
> reference had been generated before upgrading gcc to 11.
>
>
> I have some trouble finding the actual date for the Arch Linux switch
> to gcc 11 (maybe 2021/05/17).
> Are you able to correlate this with the ABI reference previous generation?
>
>
> --
> David Marchand
>


-- 

Brandon Lo

UNH InterOperability Laboratory

21 Madbury Rd, Suite 100, Durham, NH 03824

blo@iol.unh.edu

www.iol.unh.edu

  reply	other threads:[~2021-06-09 15:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-04  7:58 [dpdk-ci] " David Marchand
2021-06-04 13:52 ` [dpdk-ci] [dpdklab] " Lincoln Lavoie
2021-06-04 14:02   ` David Marchand
2021-06-04 18:28     ` Owen Hilyard
2021-06-07  8:33   ` David Marchand
2021-06-09 15:07     ` Brandon Lo [this message]
2021-06-10  8:02       ` David Marchand
2021-06-10  8:13         ` Lincoln Lavoie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAOeXdvY1T-fd+OHT9bhZp1YPmeu_4NDbg1jzDypUcrQa0odakA@mail.gmail.com \
    --to=blo@iol.unh.edu \
    --cc=aconole@redhat.com \
    --cc=ci@dpdk.org \
    --cc=david.marchand@redhat.com \
    --cc=dodji@redhat.com \
    --cc=dpdklab@iol.unh.edu \
    --cc=lylavoie@iol.unh.edu \
    --cc=mdr@ashroe.eu \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK CI discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/ci/0 ci/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ci ci/ https://inbox.dpdk.org/ci \
		ci@dpdk.org
	public-inbox-index ci

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.ci


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git