Bug 2275197

Summary: libbsd-overlay has infinite include loop in <fcntl.h>
Product: [Fedora] Fedora Reporter: Bruno Pitrus <brunopitrus>
Component: libbsdAssignee: Eric Smith <spacewar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: redhat-bugzilla, spacewar, tachoknight
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libbsd-0.12.2-3.fc39 libbsd-0.12.2-3.fc38 libbsd-0.12.2-3.fc40 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-05-05 01:15:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Bruno Pitrus 2024-04-15 22:00:48 UTC
Example build log:
[  177s] gcc -MMD -MF obj/third_party/libsync/libsync/sync.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../third_party/libsync/src -I../../third_party/libsync/src/include -fno-ident -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -pipe -pthread -g1 -flto=auto -fvisibility=hidden -isystem /usr/include/bsd -DLIBBSD_OVERLAY -std=gnu11 -O2 -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DIS_SERIAL_ENABLED_PLATFORM -I/usr/include/wayland -I/usr/include/libxkbcommon -c ../../third_party/libsync/src/sync.c -o obj/third_party/libsync/libsync/sync.o
[  177s] In file included from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/bsd/sys/cdefs-64.h:50,
[  177s]                  from /usr/include/bsd/sys/cdefs.h:6,
[  177s]                  from /usr/include/features.h:511,
[  177s]                  from /usr/include/fcntl.h:25,
[  177s]                  from ../../third_party/libsync/src/sync.c:19:
[  177s] /usr/include/bsd/sys/cdefs.h:1:27: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
[  177s]     1 | #include <bits/wordsize.h>
[  177s]       |                           ^
[  177s] /usr/include/bsd/sys/cdefs.h:6:22: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
[  177s]     6 | #include "cdefs-64.h"
[  177s]       |                      ^

Versions of packages the offending headers come from:
libbsd-devel-0.12.2-2.fc41
glibc-devel-2.39.9000-10.fc41

This does not seem to happen on Fedora 40.

Reproducible: Always

Comment 1 Robert Scheck 2024-04-18 22:01:49 UTC
This is caused by an attempt to fix bug #2273347 and also applies to Fedora 40, if -testing repository is enabled.

Comment 2 Robert Scheck 2024-04-19 00:17:23 UTC
I might have found a way to still avoid the multilib conflict while not breaking libbsd-overlay.

Comment 3 Fedora Update System 2024-04-19 00:30:40 UTC
FEDORA-2024-86fbbe4bc7 (libbsd-0.12.2-3.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-86fbbe4bc7

Comment 4 Fedora Update System 2024-04-19 00:30:45 UTC
FEDORA-2024-0990714a4a (libbsd-0.12.2-3.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-0990714a4a

Comment 5 Fedora Update System 2024-04-19 00:31:27 UTC
FEDORA-2024-89839670b4 (libbsd-0.12.2-3.fc38) has been submitted as an update to Fedora 38.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-89839670b4

Comment 6 Fedora Update System 2024-04-20 01:40:43 UTC
FEDORA-2024-89839670b4 has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-89839670b4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-89839670b4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2024-04-20 01:52:29 UTC
FEDORA-2024-0990714a4a has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-0990714a4a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-0990714a4a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2024-04-20 04:11:02 UTC
FEDORA-2024-86fbbe4bc7 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-86fbbe4bc7`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-86fbbe4bc7

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2024-05-05 01:15:12 UTC
FEDORA-2024-0990714a4a (libbsd-0.12.2-3.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 10 Fedora Update System 2024-05-05 01:39:18 UTC
FEDORA-2024-89839670b4 (libbsd-0.12.2-3.fc38) has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Fedora Update System 2024-05-05 02:01:02 UTC
FEDORA-2024-86fbbe4bc7 (libbsd-0.12.2-3.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.