Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1102872 > unrolled thread
| Started by | Alexandre Ghiti <alexandre.ghiti@canonical.com> |
|---|---|
| First post | 2022-05-12 09:50 +0200 |
| Last post | 2022-05-12 11:50 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.debian.bugs.dist
Bug#1010882: aseba: FTBFS because of non-constant SIGSTKSZ Alexandre Ghiti <alexandre.ghiti@canonical.com> - 2022-05-12 09:50 +0200
Bug#1010882: aseba: FTBFS because of non-constant SIGSTKSZ Georges Khaznadar <georges.khaznadar@orange.fr> - 2022-05-12 11:50 +0200
| From | Alexandre Ghiti <alexandre.ghiti@canonical.com> |
|---|---|
| Date | 2022-05-12 09:50 +0200 |
| Subject | Bug#1010882: aseba: FTBFS because of non-constant SIGSTKSZ |
| Message-ID | <EmbK9-eVLP-13@gated-at.bofh.it> |
[Multipart message — attachments visible in raw view] — view raw
Package: aseba Version: 1.6.99+dfsg Severity: normal Tags: patch User: ubuntu-devel@lists.ubuntu.com Usertags: origin-ubuntu kinetic ubuntu-patch Dear Maintainer, SIGSTKSZ is not constant anymore so altStackMem must be allocated dynamically: this patch implements what is done upstream. In Ubuntu, the attached patch was applied to fix the FTBFS as can be seen in [1]. Not related but I updated the homepage link to directly point to aseba, it took me a few minutes to find it from the original link. Thanks for considering the patch. [1] https://launchpad.net/~alexghiti/+archive/ubuntu/riscv/+sourcepub/13492679/+listing-archive-extra -- System Information: Debian Release: bookworm/sid APT prefers jammy-updates APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.15.0-27-generic (SMP w/16 CPU threads) Kernel taint flags: TAINT_WARN Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
[toc] | [next] | [standalone]
| From | Georges Khaznadar <georges.khaznadar@orange.fr> |
|---|---|
| Date | 2022-05-12 11:50 +0200 |
| Message-ID | <EmdCh-eWUP-3@gated-at.bofh.it> |
| In reply to | #1102872 |
[Multipart message — attachments visible in raw view] — view raw
Than you for the bug report and the patch, Alexandre.
I am uploading the new release shortly.
Best regards, Georges.
Alexandre Ghiti a écrit :
> Package: aseba
> Version: 1.6.99+dfsg
> Severity: normal
> Tags: patch
> User: ubuntu-devel@lists.ubuntu.com
> Usertags: origin-ubuntu kinetic ubuntu-patch
>
> Dear Maintainer,
>
> SIGSTKSZ is not constant anymore so altStackMem must be allocated
> dynamically: this patch implements what is done upstream.
>
> In Ubuntu, the attached patch was applied to fix the FTBFS as can be
> seen in [1].
>
> Not related but I updated the homepage link to directly point to aseba,
> it took me a few minutes to find it from the original link.
>
> Thanks for considering the patch.
>
> [1] https://launchpad.net/~alexghiti/+archive/ubuntu/riscv/+sourcepub/13492679/+listing-archive-extra
>
> -- System Information:
> Debian Release: bookworm/sid
> APT prefers jammy-updates
> APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 5.15.0-27-generic (SMP w/16 CPU threads)
> Kernel taint flags: TAINT_WARN
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE not set
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
> diff -Nru aseba-1.6.99+dfsg/debian/control aseba-1.6.99+dfsg/debian/control
> --- aseba-1.6.99+dfsg/debian/control 2020-09-17 18:17:11.000000000 +0200
> +++ aseba-1.6.99+dfsg/debian/control 2022-05-03 16:24:08.000000000 +0200
> @@ -15,7 +15,7 @@
> Standards-Version: 4.5.0
> Vcs-Browser: https://salsa.debian.org/science-team/aseba.git
> Vcs-Git: https://salsa.debian.org/science-team/aseba.git
> -Homepage: https://www.thymio.org/
> +Homepage: https://github.com/aseba-community/aseba
>
> Package: aseba
> Architecture: any
> diff -Nru aseba-1.6.99+dfsg/debian/patches/0001-third_party-catch2-Fix-non-constant-SIGSTKSZ.patch aseba-1.6.99+dfsg/debian/patches/0001-third_party-catch2-Fix-non-constant-SIGSTKSZ.patch
> --- aseba-1.6.99+dfsg/debian/patches/0001-third_party-catch2-Fix-non-constant-SIGSTKSZ.patch 1970-01-01 01:00:00.000000000 +0100
> +++ aseba-1.6.99+dfsg/debian/patches/0001-third_party-catch2-Fix-non-constant-SIGSTKSZ.patch 2022-05-03 16:21:52.000000000 +0200
> @@ -0,0 +1,81 @@
> +From 830dbd151a5743629f3c6fb2827bb65bb6bca70d Mon Sep 17 00:00:00 2001
> +From: Alexandre Ghiti <alexandre.ghiti@canonical.com>
> +Date: Tue, 3 May 2022 15:15:12 +0200
> +Subject: [PATCH] third_party: catch2: Fix non-constant SIGSTKSZ
> +
> +SIGSTKSZ is not constant anymore so altStackMem must be allocated
> +dynamically: this patch implements what is done upstream.
> +
> +Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
> +---
> + third_party/catch2/include/catch2/catch.hpp | 23 ++++++++++++++++++---
> + 1 file changed, 20 insertions(+), 3 deletions(-)
> +
> +diff --git a/third_party/catch2/include/catch2/catch.hpp b/third_party/catch2/include/catch2/catch.hpp
> +index 081cb41..2de9330 100644
> +--- a/third_party/catch2/include/catch2/catch.hpp
> ++++ b/third_party/catch2/include/catch2/catch.hpp
> +@@ -4731,7 +4731,8 @@ namespace Catch {
> + static bool isSet;
> + static struct sigaction oldSigActions[];
> + static stack_t oldSigStack;
> +- static char altStackMem[];
> ++ static char* altStackMem;
> ++ static std::size_t altStackSize;
> +
> + static void handleSignal( int sig );
> +
> +@@ -7226,6 +7227,11 @@ namespace {
> + void reportFatal( char const * const message ) {
> + Catch::getCurrentContext().getResultCapture()->handleFatalErrorCondition( message );
> + }
> ++
> ++ //! Minimal size Catch2 needs for its own fatal error handling.
> ++ //! Picked empirically, so it might not be sufficient on all
> ++ //! platforms, and for all configurations.
> ++ constexpr std::size_t minStackSizeForErrors = 32 * 1024;
> + }
> +
> + #endif // signals/SEH handling
> +@@ -7318,10 +7324,16 @@ namespace Catch {
> + }
> +
> + FatalConditionHandler::FatalConditionHandler() {
> ++ assert(!altStackMem && "Cannot initialize POSIX signal handler when one already exists");
> ++ if (altStackSize == 0) {
> ++ altStackSize = std::max(static_cast<size_t>(SIGSTKSZ), minStackSizeForErrors);
> ++ }
> ++ altStackMem = new char[altStackSize]();
> ++
> + isSet = true;
> + stack_t sigStack;
> + sigStack.ss_sp = altStackMem;
> +- sigStack.ss_size = SIGSTKSZ;
> ++ sigStack.ss_size = altStackSize;
> + sigStack.ss_flags = 0;
> + sigaltstack(&sigStack, &oldSigStack);
> + struct sigaction sa = { };
> +@@ -7334,6 +7346,10 @@ namespace Catch {
> + }
> +
> + FatalConditionHandler::~FatalConditionHandler() {
> ++ delete[] altStackMem;
> ++ // We signal that another instance can be constructed by zeroing
> ++ // out the pointer.
> ++ altStackMem = nullptr;
> + reset();
> + }
> +
> +@@ -7352,7 +7368,8 @@ namespace Catch {
> + bool FatalConditionHandler::isSet = false;
> + struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {};
> + stack_t FatalConditionHandler::oldSigStack = {};
> +- char FatalConditionHandler::altStackMem[SIGSTKSZ] = {};
> ++ char* FatalConditionHandler::altStackMem = nullptr;
> ++ std::size_t FatalConditionHandler::altStackSize = 0;
> +
> + } // namespace Catch
> +
> +--
> +2.34.1
> +
> diff -Nru aseba-1.6.99+dfsg/debian/patches/series aseba-1.6.99+dfsg/debian/patches/series
> --- aseba-1.6.99+dfsg/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
> +++ aseba-1.6.99+dfsg/debian/patches/series 2022-05-03 16:22:39.000000000 +0200
> @@ -0,0 +1 @@
> +0001-third_party-catch2-Fix-non-constant-SIGSTKSZ.patch
--
Georges KHAZNADAR et Jocelyne FOURNIER
22 rue des mouettes, 59240 Dunkerque France.
Téléphone +33 (0)3 28 29 17 70
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.bugs.dist
csiph-web