Bug 1951292
| Summary: | irqbalance: FTBFS in runoneshot.sh (probably under load) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Mohan Boddu <mboddu> |
| Component: | irqbalance | Assignee: | Nobody <nobody> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Jiri Dluhos <jdluhos> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | CentOS Stream | CC: | bstinson, carl, fweimer, jeder, jshortt, jwboyer, ruyang, rvr |
| Target Milestone: | beta | Keywords: | Reopened, Triaged |
| Target Release: | --- | Flags: | pm-rhel:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | irqbalance-1.8.0-2.el9 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-12-07 21:55:02 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: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1951115, 1951392 | ||
|
Description
Mohan Boddu
2021-04-19 21:24:36 UTC
Strangely I can't reproduce this issue if I try to rebuild it, tried several times: https://kojihub.stream.rdu2.redhat.com/koji/taskinfo?taskID=252569 https://kojihub.stream.rdu2.redhat.com/koji/taskinfo?taskID=252575 https://kojihub.stream.rdu2.redhat.com/koji/taskinfo?taskID=252581 Maybe just some server side error? Can we just rebuild it and close the bug? I simply did a rebuild and it just work, I guess it's just a temporary server error, closing the bug. I see failures when the builder is under load. Just doing multiple scratch builds of the package in parallel seems to be enough to trigger it.
make[3]: Entering directory '/builddir/build/BUILD/irqbalance-1.7.0/tests'
FAIL: runoneshot.sh
============================================================================
Testsuite summary for irqbalance 1.7.0
============================================================================
# TOTAL: 1
# PASS: 0
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
============================================================================
See tests/test-suite.log
============================================================================
make[3]: *** [Makefile:521: test-suite.log] Error 1
make[3]: Leaving directory '/builddir/build/BUILD/irqbalance-1.7.0/tests'
I saw only failures on x86_64 and i686, so it may be the case that the abstract socket fallback code breaks due to parallel execution:
/*
* First try to create a file-based socket in tmpfs. If that doesn't
* succeed, fall back to an abstract socket (non file-based).
*/
addr.sun_family = AF_UNIX;
snprintf(socket_name, 64, "%s/%s%d.sock", SOCKET_TMPFS, SOCKET_PATH, getpid());
strncpy(addr.sun_path, socket_name, sizeof(addr.sun_path));
if (bind(socket_fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
log(TO_ALL, LOG_WARNING, "Daemon couldn't be bound to the file-based socket.\n");
/* Try binding to abstract */
memset(&addr, 0, sizeof(struct sockaddr_un));
addr.sun_family = AF_UNIX;
if (bind(socket_fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
log(TO_ALL, LOG_WARNING, "Daemon couldn't be bound to the abstract socket, bailing out.\n");
return 1;
}
}
The abstract namespace is shared between chroots.
I still think this is a real package bug (not just a build issue), but the build failure is sufficient rare that I do not think we need to track this for the upcoming mass rebuild. As far as I know, the socket was introduced to support the irqbalance UI, and it's only used by the irqbalance UI. But the UI component was never installed in RHEL / Fedora, and there is no SELinux rule for any other service to use that socket. I think we can just simply disable that socket when UI is not used. Checked that the irqbalance source package can be built from source RPM without problems; the patch is applied; from output of netstat I conclude that the socket really does not get open: Test with older irqbalance (on fedora machine): $ rpm -qi irqbalance | head -n 5 Name : irqbalance Epoch : 2 Version : 1.7.0 Release : 5.fc34 Architecture: x86_64 $ sudo netstat -xpan | grep irqbalance unix 2 [ ACC ] STREAM LISTENING 18948 1213/irqbalance /run/irqbalance/irqbalance1213.sock unix 2 [ ] DGRAM 18947 1213/irqbalance unix 3 [ ] STREAM CONNECTED 21887 1213/irqbalance With the patched irqbalance: # rpm -qi irqbalance | head -n 5 Name : irqbalance Epoch : 2 Version : 1.8.0 Release : 3.el9 Architecture: x86_64 # sudo netstat -xpan | grep irqbalance unix 3 [ ] STREAM CONNECTED 29835 881/irqbalance unix 2 [ ] DGRAM 28957 881/irqbalance Setting Verified:Tested. As the new irqbalance is already in the RHEL9 repo (more precisely, irqbalance-1.8.0-3 or better), we can set VERIFIED. Thanks to everyone involved! The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days |