librelp is FTBFS on riscv64 on Focal

Bug #1912969 reported by Matthew Ruffell
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
librelp (Ubuntu)
Fix Released
Medium
Matthew Ruffell
Focal
Fix Released
Medium
Matthew Ruffell
Groovy
Won't Fix
Undecided
Unassigned
Hirsute
Fix Released
Medium
Matthew Ruffell

Bug Description

[Impact]

During the recent SRU for bug 1908473, we found that librelp is FTBFS on riscv64 on Focal, due to the test cases basic-realistic.sh and tls-basic-realistic.sh failing during dh_auto_test during package build.

dh_auto_test --no-parallel
 make -j1 check VERBOSE=1
...
make check-TESTS
make[4]: Entering directory '/<<PKGBUILDDIR>>/tests'
...
FAIL: basic-realistic.sh
FAIL: tls-basic-realistic.sh
...

Relevant log: https://paste.ubuntu.com/p/hwYXSbKPPV/

These tests attempt to send 50,000 messages between a server and client, and riscv64 is just too slow to complete sending all of these messages before the watchdog thinks the process gets stuck and kills it.

Recent runs see "00046000 msgs sent" for basic-realistic.sh and "00029000 msgs sent" for tls-basic-realistic.sh, which misses the 50,000 mark by a long shot.

To fix, we will follow a similar pattern to an existing patch we carry already and trim down the number of messages sent to 10,000 which should reliably be possible on riscv64.

[Testcase]

Attempt to build librelp on on all architectures, and currently, riscv64 will fail on Focal.

If you apply the below patch to reduce messages for basic-realistic.sh and tls-basic-realistic.sh to 10,000 the build passes on riscv64, which you can see in the below ppa:

https://launchpad.net/~mruffell/+archive/ubuntu/lp1912969-test

[Where problems could occur]

Since we are reducing the number of packets being sent in a testcase in an attempt to not time out the build, there should be little risk in this SRU.

The tests are still continuing to run on all architectures, and are still at a meaningful high number of 10,000 packets, which should find any problems during subsequent builds in the future, but not slow down the build for riscv64.

[Other Info]

* Upload to Focal before Hirsute has been authorized by SRU team (#3).
  Hirsute is being followed up on soon.

Changed in librelp (Ubuntu):
status: New → Fix Released
Changed in librelp (Ubuntu Focal):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Matthew Ruffell (mruffell)
tags: added: sts
description: updated
description: updated
Revision history for this message
Matthew Ruffell (mruffell) wrote :

Attached is a debdiff for librelp from librelp_1.5.0-1ubuntu2.20.04.1 to librelp_1.5.0-1ubuntu2.20.04.2

Revision history for this message
Matthew Ruffell (mruffell) wrote :

Attached is a debdiff from librelp_1.5.0-1ubuntu2 to librelp_1.5.0-1ubuntu2.20.04.2

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Reviewed and sponsored to Focal.

Per chat with Lukasz/sil2100 is is OK to have this only in Focal first,
but we'd like to see this in Hirsute, so that when we eventually (maybe
after Hirsute) re-enable the tests in riscv64, this is covered.

Thus marking Hirsute as In Progress, but this can be followed up on
after the upload to Focal by a core developer.

(Groovy is not needed, as riscv64 tests won't be re-enabled for Groovy.)

Changed in librelp (Ubuntu Groovy):
status: New → Won't Fix
Changed in librelp (Ubuntu Hirsute):
status: Fix Released → In Progress
tags: added: sts-sponsor-mfo
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Hi Matthew,

Can you please upload a debdiff for Hirsute as well?

I'll ask one of our core devs to handle it.

Thank you!

description: updated
Changed in librelp (Ubuntu Hirsute):
assignee: nobody → Matthew Ruffell (mruffell)
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Matthew, or anyone else affected,

Accepted librelp into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/librelp/1.5.0-1ubuntu2.20.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in librelp (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal
Changed in librelp (Ubuntu Hirsute):
importance: Undecided → Medium
Revision history for this message
Matthew Ruffell (mruffell) wrote :

Attached is a debdiff for librelp on Hirsute.

Revision history for this message
Matthew Ruffell (mruffell) wrote :

Performing verification for Focal.

The previous version in -proposed, 1.5.0-1ubuntu2.20.04.1, failed to build on riscv64, as can be seen in the below links:

https://launchpad.net/ubuntu/+source/librelp/1.5.0-1ubuntu2.20.04.1
https://launchpad.net/ubuntu/+source/librelp/1.5.0-1ubuntu2.20.04.1/+build/20904204/+files/buildlog_ubuntu-focal-riscv64.librelp_1.5.0-1ubuntu2.20.04.1_BUILDING.txt.gz

The new version in -proposed, 1.5.0-1ubuntu2.20.04.2, successfully builds on all architectures, including riscv64.

https://launchpad.net/ubuntu/+source/librelp/1.5.0-1ubuntu2.20.04.2
https://launchpad.net/ubuntu/+source/librelp/1.5.0-1ubuntu2.20.04.2/+build/20931755/+files/buildlog_ubuntu-focal-riscv64.librelp_1.5.0-1ubuntu2.20.04.2_BUILDING.txt.gz

riscv64 will now reliably build on riscv64, and the ftbfs has been fixed. Marking bug as verified.

tags: added: verification-done-focal
removed: verification-needed verification-needed-focal
Revision history for this message
Eric Desrochers (slashd) wrote :

[sts-sponsors][hirsute]

Sponsored in active development release.

Thanks for your contribution Matthew.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package librelp - 1.9.0-1ubuntu2

---------------
librelp (1.9.0-1ubuntu2) hirsute; urgency=medium

  * Reduce message count in tests/(tls-)basic-realistic.sh so they reliably
    succeed on slow platforms like riscv64. (LP: #1912969)
    - d/p/shrink-basic-realistic-tests.sh

 -- Matthew Ruffell <email address hidden> Tue, 26 Jan 2021 09:20:11 +1300

Changed in librelp (Ubuntu Hirsute):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package librelp - 1.5.0-1ubuntu2.20.04.2

---------------
librelp (1.5.0-1ubuntu2.20.04.2) focal; urgency=medium

  * Reduce message count in tests/(tls-)basic-realistic.sh so they reliably
    succeed on slow platforms like riscv64. (LP: #1912969)
    - d/p/shrink-basic-realistic-tests.sh

librelp (1.5.0-1ubuntu2.20.04.1) focal; urgency=medium

  * Fix file descriptor leak as sockets are stuck in CLOSE_WAIT
    due to not being closed properly due to memory leak. (LP: #1908473)
    - d/p/lp1908473-01-replsess-fix-double-free-of-sendbuf-in-some-cases.patch
    - d/p/lp1908473-02-fix-memory-leak-on-session-break.patch
    - d/p/lp1908473-03-Fix-FD-leak-when-socket-shutdown-is-one-sided.patch

 -- Matthew Ruffell <email address hidden> Mon, 25 Jan 2021 12:29:04 +1300

Changed in librelp (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for librelp has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.