From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D6B9042CCC; Fri, 16 Jun 2023 00:26:34 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 73E3040DDB; Fri, 16 Jun 2023 00:26:34 +0200 (CEST) Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178]) by mails.dpdk.org (Postfix) with ESMTP id 1FB844021E for ; Fri, 16 Jun 2023 00:26:33 +0200 (CEST) Received: by inbox.dpdk.org (Postfix, from userid 33) id EBC5B42CCD; Fri, 16 Jun 2023 00:26:32 +0200 (CEST) From: bugzilla@dpdk.org To: dev@dpdk.org Subject: [Bug 1252] Failure building af_xdp with gcc 10.4.1/11.3.1 on RHEL 8.7 Date: Thu, 15 Jun 2023 22:26:32 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: DPDK X-Bugzilla-Component: ethdev X-Bugzilla-Version: 23.07 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: drc@linux.vnet.ibm.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: dev@dpdk.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: multipart/alternative; boundary=16868679920.80e8123.1241369 Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --16868679920.80e8123.1241369 Date: Fri, 16 Jun 2023 00:26:32 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All https://bugs.dpdk.org/show_bug.cgi?id=3D1252 Bug ID: 1252 Summary: Failure building af_xdp with gcc 10.4.1/11.3.1 on RHEL 8.7 Product: DPDK Version: 23.07 Hardware: POWER OS: Linux Status: UNCONFIRMED Severity: normal Priority: Normal Component: ethdev Assignee: dev@dpdk.org Reporter: drc@linux.vnet.ibm.com Target Milestone: --- Distro: RHEL 8.7 Architecture: ppc64le Building DPDK with libbpf-devel installed generates an error while building net/af_xdp. Compiler versions used: // RHEL 8.7 default compiler $ gcc --version gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-15) // IBM Advanced Toolchain 14.0-7 $ gcc --version gcc (GCC) 10.4.1 20230306 (Advance-Toolchain 14.0-7) [2d1a2d671959] // IBM Advanced Toolchain 15.0-5 $ gcc --version gcc (GCC) 11.3.1 20230502 (Advance-Toolchain 15.0-5) [1c5713852c11] Meson configuration results when the libbpf-devel package is NOT installed: $ meson build ... =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Content Skipped =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ... drivers: common/mvep: missing dependency, "libmusdk" ... net/af_xdp: missing dependency, "libxdp >=3D1.2.2" and "libbpf" ... Ninja build results with different compiler versions: gcc 8.5 / v23.07-rc1 / no libbpf-devel / PASS gcc 10.4.1 / v23.07-rc1 / no libbpf-devel / PASS gcc 11.3.1 / v23.07-rc1 / no libbpf-devel / PASS Meson configuration results when the libbpf-devel package IS installed: $ rpm -qa | grep libbpf-devel libbpf-devel-0.5.0-1.el8.ppc64le $ meson build ... =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Drivers Enabled =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ... net: af_packet, af_xdp, ark, atlantic, avp, axgbe, bnx2x, bnxt, ... gcc 8.5 / v23.07-rc1 / libbpf-devel / PASS gcc 10.4.1 / v23.07-rc1 / libbpf-devel / FAIL gcc 11.3.1 / v23.07-rc1 / libbpf-devel / FAIL gcc 10.4.1 failure: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Found ninja-1.8.2 at /usr/bin/ninja [589/3019] Compiling C object drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o FAILED: drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o cc -Idrivers/libtmp_rte_net_af_xdp.a.p -Idrivers -I../drivers -Idrivers/net/af_xdp -I../drivers/net/af_xdp -Ilib/ethdev -I../lib/ethdev -= I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/ppc/include -I../lib/eal/ppc/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -fdiagnostics-color=3Dalways -D_FILE_OFFSET_BITS=3D64= -Wall -Winvalid-pch -Wextra -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -Wno-psabi -D_GNU_SOURCE -fPIC -mcpu=3Dpower9 -mtune=3Dpower9 -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=3Dpmd.net.af_xdp -MD -MQ drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -MF drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o.d -o drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -c ../drivers/net/af_xdp/rte_eth_af_xdp.c In file included from ../drivers/net/af_xdp/compat.h:8, from ../drivers/net/af_xdp/rte_eth_af_xdp.c:42: /usr/include/bpf/xsk.h: In function =E2=80=98xsk_ring_prod__needs_wakeup=E2= =80=99: /usr/include/bpf/xsk.h:148:21: error: =E2=80=98XDP_RING_NEED_WAKEUP=E2=80= =99 undeclared (first use in this function) 148 | return *r->flags & XDP_RING_NEED_WAKEUP; | ^~~~~~~~~~~~~~~~~~~~ /usr/include/bpf/xsk.h:148:21: note: each undeclared identifier is reported only once for each function it appears in /usr/include/bpf/xsk.h: In function =E2=80=98xsk_umem__extract_addr=E2=80= =99: /usr/include/bpf/xsk.h:235:16: error: =E2=80=98XSK_UNALIGNED_BUF_ADDR_MASK= =E2=80=99 undeclared (first use in this function) 235 | return addr & XSK_UNALIGNED_BUF_ADDR_MASK; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/bpf/xsk.h: In function =E2=80=98xsk_umem__extract_offset=E2=80= =99: /usr/include/bpf/xsk.h:240:17: error: =E2=80=98XSK_UNALIGNED_BUF_OFFSET_SHI= FT=E2=80=99 undeclared (first use in this function) 240 | return addr >> XSK_UNALIGNED_BUF_OFFSET_SHIFT; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [718/3019] Compiling C object lib/librte_vhost.so.23.2.p/vhost_virtio_net.c= .o ninja: build stopped: subcommand failed. gcc 11.3.1 failure: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Found ninja-1.8.2 at /usr/bin/ninja [579/3019] Compiling C object drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o FAILED: drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o cc -Idrivers/libtmp_rte_net_af_xdp.a.p -Idrivers -I../drivers -Idrivers/net/af_xdp -I../drivers/net/af_xdp -Ilib/ethdev -I../lib/ethdev -= I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/ppc/include -I../lib/eal/ppc/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -fdiagnostics-color=3Dalways -D_FILE_OFFSET_BITS=3D64= -Wall -Winvalid-pch -Wextra -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -Wno-psabi -D_GNU_SOURCE -fPIC -mcpu=3Dpower9 -mtune=3Dpower9 -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=3Dpmd.net.af_xdp -MD -MQ drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -MF drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o.d -o drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -c ../drivers/net/af_xdp/rte_eth_af_xdp.c In file included from /usr/include/bpf/xsk.h:20, from ../drivers/net/af_xdp/compat.h:8, from ../drivers/net/af_xdp/rte_eth_af_xdp.c:42: /usr/include/bpf/libbpf.h:770:33: error: field =E2=80=98info=E2=80=99 has i= ncomplete type 770 | struct bpf_prog_info info; | ^~~~ [708/3019] Compiling C object lib/librte_vhost.a.p/vhost_virtio_net.c.o ninja: build stopped: subcommand failed. --=20 You are receiving this mail because: You are the assignee for the bug.= --16868679920.80e8123.1241369 Date: Fri, 16 Jun 2023 00:26:32 +0200 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All
Bug ID 1252
Summary Failure building af_xdp with gcc 10.4.1/11.3.1 on RHEL 8.7
Product DPDK
Version 23.07
Hardware POWER
OS Linux
Status UNCONFIRMED
Severity normal
Priority Normal
Component ethdev
Assignee dev@dpdk.org
Reporter drc@linux.vnet.ibm.com
Target Milestone ---

Distro: RHEL 8.7
Architecture: ppc64le

Building DPDK with libbpf-devel installed generates an error while building
net/af_xdp.

Compiler versions used:

// RHEL 8.7 default compiler
$ gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-15)

// IBM Advanced Toolchain 14.0-7
$ gcc --version
gcc (GCC) 10.4.1 20230306 (Advance-Toolchain 14.0-7) [2d1a2d671959]

// IBM Advanced Toolchain 15.0-5
$ gcc --version
gcc (GCC) 11.3.1 20230502 (Advance-Toolchain 15.0-5) [1c5713852c11]


Meson configuration results when the libbpf-devel package is NOT installed:

$ meson build
...
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Content Skipped
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
...
drivers:
        common/mvep:    missing dependency, "libmusdk"
...
        net/af_xdp:     missing dependency, "libxdp >=3D1.2.2"=
 and "libbpf"
...


Ninja build results with different compiler versions:

gcc 8.5 / v23.07-rc1 / no libbpf-devel / PASS
gcc 10.4.1 / v23.07-rc1 / no libbpf-devel / PASS
gcc 11.3.1 / v23.07-rc1 / no libbpf-devel / PASS


Meson configuration results when the libbpf-devel package IS installed:

$ rpm -qa | grep libbpf-devel
libbpf-devel-0.5.0-1.el8.ppc64le
$ meson build
...
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Drivers Enabled
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
...
net:
        af_packet, af_xdp, ark, atlantic, avp, axgbe, bnx2x, bnxt,
...

gcc 8.5 / v23.07-rc1 / libbpf-devel / PASS
gcc 10.4.1 / v23.07-rc1 / libbpf-devel / FAIL
gcc 11.3.1 / v23.07-rc1 / libbpf-devel / FAIL

gcc 10.4.1 failure:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Found ninja-1.8.2 at /usr/bin/ninja
[589/3019] Compiling C object
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o
FAILED: drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o
cc -Idrivers/libtmp_rte_net_af_xdp.a.p -Idrivers -I../drivers
-Idrivers/net/af_xdp -I../drivers/net/af_xdp -Ilib/ethdev -I../lib/ethdev -=
I.
-I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include
-Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/ppc/include
-I../lib/eal/ppc/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal
-I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics
-Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf
-I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring
-Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci
-I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev
-I../drivers/bus/vdev -fdiagnostics-color=3Dalways -D_FILE_OFFSET_BITS=3D64=
 -Wall
-Winvalid-pch -Wextra -O3 -include rte_config.h -Wcast-qual -Wdeprecated
-Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith
-Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings
-Wno-address-of-packed-member -Wno-packed-not-aligned
-Wno-missing-field-initializers -Wno-zero-length-bounds -Wno-psabi
-D_GNU_SOURCE -fPIC -mcpu=3Dpower9 -mtune=3Dpower9 -DALLOW_EXPERIMENTAL_API
-DALLOW_INTERNAL_API -Wno-format-truncation
-DRTE_LOG_DEFAULT_LOGTYPE=3Dpmd.net.af_xdp -MD -MQ
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -MF
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o.d -o
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -c
../drivers/net/af_xdp/rte_eth_af_xdp.c
In file included from ../drivers/net/af_xdp/compat.h:8,
                 from ../drivers/net/af_xdp/rte_eth_af_xdp.c:42:
/usr/include/bpf/xsk.h: In function =E2=80=98xsk_ring_prod__needs_wakeup=E2=
=80=99:
/usr/include/bpf/xsk.h:148:21: error: =E2=80=98XDP_RING_NEED_WAKEUP=E2=80=
=99 undeclared (first
use in this function)
  148 |  return *r->flags & XDP_RING_NEED_WAKEUP;
      |                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/bpf/xsk.h:148:21: note: each undeclared identifier is reported
only once for each function it appears in
/usr/include/bpf/xsk.h: In function =E2=80=98xsk_umem__extract_addr=E2=80=
=99:
/usr/include/bpf/xsk.h:235:16: error: =E2=80=98XSK_UNALIGNED_BUF_ADDR_MASK=
=E2=80=99 undeclared
(first use in this function)
  235 |  return addr & XSK_UNALIGNED_BUF_ADDR_MASK;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bpf/xsk.h: In function =E2=80=98xsk_umem__extract_offset=E2=80=
=99:
/usr/include/bpf/xsk.h:240:17: error: =E2=80=98XSK_UNALIGNED_BUF_OFFSET_SHI=
FT=E2=80=99
undeclared (first use in this function)
  240 |  return addr >> XSK_UNALIGNED_BUF_OFFSET_SHIFT;
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[718/3019] Compiling C object lib/librte_vhost.so.23.2.p/vhost_virtio_net.c=
.o
ninja: build stopped: subcommand failed.

gcc 11.3.1 failure:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Found ninja-1.8.2 at /usr/bin/ninja
[579/3019] Compiling C object
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o
FAILED: drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o
cc -Idrivers/libtmp_rte_net_af_xdp.a.p -Idrivers -I../drivers
-Idrivers/net/af_xdp -I../drivers/net/af_xdp -Ilib/ethdev -I../lib/ethdev -=
I.
-I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include
-Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/ppc/include
-I../lib/eal/ppc/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal
-I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics
-Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf
-I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring
-Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci
-I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev
-I../drivers/bus/vdev -fdiagnostics-color=3Dalways -D_FILE_OFFSET_BITS=3D64=
 -Wall
-Winvalid-pch -Wextra -O3 -include rte_config.h -Wcast-qual -Wdeprecated
-Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith
-Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings
-Wno-address-of-packed-member -Wno-packed-not-aligned
-Wno-missing-field-initializers -Wno-zero-length-bounds -Wno-psabi
-D_GNU_SOURCE -fPIC -mcpu=3Dpower9 -mtune=3Dpower9 -DALLOW_EXPERIMENTAL_API
-DALLOW_INTERNAL_API -Wno-format-truncation
-DRTE_LOG_DEFAULT_LOGTYPE=3Dpmd.net.af_xdp -MD -MQ
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -MF
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o.d -o
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o -c
../drivers/net/af_xdp/rte_eth_af_xdp.c
In file included from /usr/include/bpf/xsk.h:20,
                 from ../drivers/net/af_xdp/compat.h:8,
                 from ../drivers/net/af_xdp/rte_eth_af_xdp.c:42:
/usr/include/bpf/libbpf.h:770:33: error: field =E2=80=98info=E2=80=99 has i=
ncomplete type
  770 |         struct bpf_prog_info    info;
      |                                 ^~~~
[708/3019] Compiling C object lib/librte_vhost.a.p/vhost_virtio_net.c.o
ninja: build stopped: subcommand failed.
          


You are receiving this mail because:
  • You are the assignee for the bug.
=20=20=20=20=20=20=20=20=20=20
= --16868679920.80e8123.1241369--