hubbub build failure when doing guix package -u

  • Done
  • quality assurance status badge
Details
4 participants
  • Andreas Enge
  • Andy Tai
  • Greg Hogan
  • Bruno Victal
Owner
unassigned
Submitted by
Andy Tai
Severity
normal
Blocked by
A
A
Andy Tai wrote on 15 May 2023 21:24
(address . bug-guix@gnu.org)
CAJsg1E_iwbiQMQi-xPDwSEa55w3b1OVvv5gjegsHfgutXSFE7A@mail.gmail.com
key lines:

COMPILE: test/tokeniser2.c
COMPILE: test/tokeniser3.c
COMPILE: test/tree.c
COMPILE: test/tree2.c
COMPILE: test/tree-buf.c
test/tokeniser2.c: In function ‘token_handler’:
test/tokeniser2.c:444:46: error: ‘t.data.character.ptr’ may be used
uninitialized [-Werror=maybe-uninitialized]
444 | t.data.character.ptr += len;
| ^~
test/tokeniser2.c:441:38: note: ‘t’ declared here
441 | hubbub_token t;
| ^
test/tokeniser2.c:445:46: error: ‘t.data.character.len’ may be used
uninitialized [-Werror=maybe-uninitialized]
445 | t.data.character.len -= len;
| ^~
test/tokeniser2.c:441:38: note: ‘t’ declared here
441 | hubbub_token t;
| ^
test/tokeniser3.c: In function ‘token_handler’:
test/tokeniser3.c:453:46: error: ‘t.data.character.ptr’ may be used
uninitialized [-Werror=maybe-uninitialized]
453 | t.data.character.ptr += len;
| ^~
test/tokeniser3.c:450:38: note: ‘t’ declared here
450 | hubbub_token t;
| ^
test/tokeniser3.c:454:46: error: ‘t.data.character.len’ may be used
uninitialized [-Werror=maybe-uninitialized]
454 | t.data.character.len -= len;
| ^~
test/tokeniser3.c:450:38: note: ‘t’ declared here
450 | hubbub_token t;
| ^
LINK: build-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu-release-lib-shared/test_entities
LINK: build-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu-release-lib-shared/test_csdetect
LINK: build-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu-release-lib-shared/test_tokeniser
LINK: build-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu-release-lib-shared/test_parser
cc1: all warnings being treated as errors
make: *** [/gnu/store/3jqaqf59ra550lk7hvpgpg8l5krxizra-netsurf-buildsystem-1.9/share/netsurf-buildsystem/makefiles/Makefile.top:631:
build-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu-release-lib-shared/test_tokeniser2.o]
Error 1
make: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
make: *** [/gnu/store/3jqaqf59ra550lk7hvpgpg8l5krxizra-netsurf-buildsystem-1.9/share/netsurf-buildsystem/makefiles/Makefile.top:631:
build-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu-release-lib-shared/test_tokeniser3.o]
Error 1

Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("test" "-j"
"31" "COMPONENT_TYPE=lib-shared" "CC=gcc" "BUILD_CC=gcc"
"PREFIX=/gnu/store/7fn6jxg1vpadm8rpa8rzbwqgipxlwync-hubbub-0.3.7"
"NSSHARED=/gnu/store/3jqaqf59ra550lk7hvpgpg8l5krxizra-netsurf-buildsystem-1.9/share/netsurf-buildsystem")
exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 0.2 seconds
command "make" "test" "-j" "31" "COMPONENT_TYPE=lib-shared" "CC=gcc"
"BUILD_CC=gcc" "PREFIX=/gnu/store/7fn6jxg1vpadm8rpa8rzbwqgipxlwync-hubbub-0.3.7"
"NSSHARED=/gnu/store/3jqaqf59ra550lk7hvpgpg8l5krxizra-netsurf-buildsystem-1.9/share/netsurf-buildsystem"
failed with status 2
A
A
Andy Tai wrote on 22 May 2023 08:44
[PATCH] gnu: hubbub: Disable building tests
(address . 63526@debbugs.gnu.org)(name . Andy Tai)(address . atai@atai.org)
0b33a2a18cd178f84c55db0b295b0d0010d3cbd1.1684737820.git.atai@atai.org

* gnu/packages/web.scm (hubbub): [arguments] (tests): Set to #f to disable test build
---
gnu/packages/web.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Toggle diff (19 lines)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index fe52f673e2..203e3283cf 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5252,7 +5252,9 @@ (define-public hubbub
perl))
(propagated-inputs
(list libparserutils)) ;for libhubbub.pc
- (arguments netsurf-buildsystem-arguments)
+ (arguments
+ `(#:tests? #f ;build error in building tests with gcc 11; skip for now
+ ,@netsurf-buildsystem-arguments))
(home-page "https://www.netsurf-browser.org/projects/hubbub/")
(synopsis "HTML5 compliant parsing library")
(description

base-commit: 3abcf1663b86bc075e29563140698d8bfae44992
--
2.40.1
G
G
Greg Hogan wrote on 25 May 2023 15:02
(name . Andy Tai)(address . atai@atai.org)(address . 63526@debbugs.gnu.org)
CA+3U0ZnSpb-Rdws3AuFtf5=NAZYKjs0J7wc-Wyh0gg6iWffRQQ@mail.gmail.com
On Mon, May 22, 2023 at 2:46?AM Andy Tai <atai@atai.org> wrote:
Toggle quote (28 lines)
>
> Fix for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63526
>
> * gnu/packages/web.scm (hubbub): [arguments] (tests): Set to #f to disable test build
> ---
> gnu/packages/web.scm | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index fe52f673e2..203e3283cf 100644
> --- a/gnu/packages/web.scm
> +++ b/gnu/packages/web.scm
> @@ -5252,7 +5252,9 @@ (define-public hubbub
> perl))
> (propagated-inputs
> (list libparserutils)) ;for libhubbub.pc
> - (arguments netsurf-buildsystem-arguments)
> + (arguments
> + `(#:tests? #f ;build error in building tests with gcc 11; skip for now
> + ,@netsurf-buildsystem-arguments))
> (home-page "https://www.netsurf-browser.org/projects/hubbub/")
> (synopsis "HTML5 compliant parsing library")
> (description
>
> base-commit: 3abcf1663b86bc075e29563140698d8bfae44992
> --
> 2.40.1

Hi Andy,

Disabling tests should be a last resort, especially without a process
to evaluate re-enabling tests in the future.

Based on the error, can we instead add
"-Wno-error=maybe-uninitialized" to the configure-flags?

Greg
B
B
Bruno Victal wrote on 25 May 2023 15:35
(address . 63526@debbugs.gnu.org)
3c4419ef-5d5e-451f-8985-ef4b8e06d068@makinata.eu
On 2023-05-25 14:02, Greg Hogan wrote:
Toggle quote (5 lines)
> Hi Andy,
>
> Disabling tests should be a last resort, especially without a process
> to evaluate re-enabling tests in the future.

I concur.

A test failure, unless it is caused by things such as “requiring
network access” or is expected due to guix specifics should be
considered a problem with the package. (if tests are disabled simply
because they happen to fail without doing any investigation, why have
tests at all?)

Toggle quote (3 lines)
> Based on the error, can we instead add
> "-Wno-error=maybe-uninitialized" to the configure-flags?

I'd report this upstream first, it can be the case that the error
(which is being flagged by the compiler) is unmasking a real bug
upstream.


--
Furthermore, I consider that nonfree software must be eradicated.

Cheers,
Bruno.
A
A
Andy Tai wrote on 25 May 2023 19:54
(name . Bruno Victal)(address . mirai@makinata.eu)
CAJsg1E-F4Gb1_3U3HEQb6BQtDWcqk_VF=AZtbAxdr=zOCLwPpQ@mail.gmail.com
Will do. Thanks

On Thu, May 25, 2023 at 6:35?AM Bruno Victal <mirai@makinata.eu> wrote:
Toggle quote (11 lines)
>
> On 2023-05-25 14:02, Greg Hogan wrote:

>
> > Based on the error, can we instead add
> > "-Wno-error=maybe-uninitialized" to the configure-flags?
>
> I'd report this upstream first, it can be the case that the error
> (which is being flagged by the compiler) is unmasking a real bug
> upstream.
>
A
A
Andy Tai wrote on 27 May 2023 09:29
[PATCH v2] gnu (hubbub): Fix build
(name . Andy Tai)(address . atai@atai.org)
8a20497755db7ee3c2ecfa9a3fc931011718036d.1685172508.git.atai@atai.org

* gnu/packages/web.scm (hubbub): [source](patches): Add patch to fix build.
* gnu/packages/patches/hubbub-prevent-Werror-maybe-uninitialized-build-failure-wit.patch: New file
* gnu/local.mk (dist_patch_DATA): Add it.
---
gnu/local.mk | 2 +
...aybe-uninitialized-build-failure-wit.patch | 40 +++++++++++++++++++
gnu/packages/web.scm | 4 +-
3 files changed, 45 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/hubbub-prevent-Werror-maybe-uninitialized-build-failure-wit.patch

Toggle diff (85 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 18e8235140..e2b42ca676 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -58,6 +58,7 @@
# Copyright © 2022 jgart <jgart@dismail.de>
# Copyright © 2023 Zheng Junjie <873216071@qq.com>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
+# Copyright © 2023 Andy Tai <atai@atai.org>
#
# This file is part of GNU Guix.
#
@@ -1349,6 +1350,7 @@ dist_patch_DATA = \
%D%/packages/patches/http-parser-CVE-2020-8287.patch \
%D%/packages/patches/htslib-for-stringtie.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
+ %D%/packages/patches/hubbub-prevent-Werror-maybe-uninitialized-build-failure-wit.patch \
%D%/packages/patches/hueplusplus-mbedtls.patch \
%D%/packages/patches/hurd-add-without-rump-configure-option.patch \
%D%/packages/patches/hurd-fix-types-of-read-write-and-readables-methods-2.patch \
diff --git a/gnu/packages/patches/hubbub-prevent-Werror-maybe-uninitialized-build-failure-wit.patch b/gnu/packages/patches/hubbub-prevent-Werror-maybe-uninitialized-build-failure-wit.patch
new file mode 100644
index 0000000000..6f289a770e
--- /dev/null
+++ b/gnu/packages/patches/hubbub-prevent-Werror-maybe-uninitialized-build-failure-wit.patch
@@ -0,0 +1,40 @@
+From 69d81a8a4d4c223aad67cde0fdf64d64351b9802 Mon Sep 17 00:00:00 2001
+From: Andy Tai <atai@atai.org>
+Date: Sat, 27 May 2023 00:01:34 -0700
+Subject: [PATCH] prevent -Werror=maybe-uninitialized build failure with gcc 11
+ when building tests tokeniser2 and tokeniser3
+
+---
+ test/tokeniser2.c | 2 +-
+ test/tokeniser3.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/tokeniser2.c b/test/tokeniser2.c
+index c8ab9c0..4caae38 100644
+--- a/test/tokeniser2.c
++++ b/test/tokeniser2.c
+@@ -438,7 +438,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw)
+ /* Expected token only contained part of the data
+ * Calculate how much is left, then try again with
+ * the next expected token */
+- hubbub_token t;
++ hubbub_token t = { 0 };
+
+ t.type = HUBBUB_TOKEN_CHARACTER;
+ t.data.character.ptr += len;
+diff --git a/test/tokeniser3.c b/test/tokeniser3.c
+index e33d018..b3be901 100644
+--- a/test/tokeniser3.c
++++ b/test/tokeniser3.c
+@@ -447,7 +447,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw)
+ /* Expected token only contained part of the data
+ * Calculate how much is left, then try again with
+ * the next expected token */
+- hubbub_token t;
++ hubbub_token t = { 0 };
+
+ t.type = HUBBUB_TOKEN_CHARACTER;
+ t.data.character.ptr += len;
+--
+2.40.1
+
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3af4aa0b8d..387ceac058 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5242,7 +5242,9 @@ (define-public hubbub
(sha256
(base32
"1dimfyblmym98qa1b80c5jslv2zk8r44xbdrgrsrw1n9wr9y4yly"))
- (patches (search-patches "hubbub-sort-entities.patch"))))
+ (patches (search-patches
+ "hubbub-sort-entities.patch"
+ "hubbub-prevent-Werror-maybe-uninitialized-build-failure-wit.patch"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem

base-commit: b96b82bcd4bc24529941ff74a91432481f1a71b5
--
2.40.1
A
A
Andy Tai wrote on 8 Jun 2023 04:52
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E-4A0pWivgFxpEUvqpZZNEDh400YFUPwmHkB2akABLRCA@mail.gmail.com
block 63526 by 63592
A
A
Andy Tai wrote on 8 Jun 2023 05:34
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
CAJsg1E-HnVA3CbAaA+jtsxMG2Gpq0SU8wkej1Fr8fir8QYVoYA@mail.gmail.com
unblock 63526 by 63592
block 63526 by 63952
A
A
Andreas Enge wrote on 9 Jun 2023 13:07
Re: ping on a build fix for a build failure (main branch)
(name . Andy Tai)(address . atai@atai.org)
ZIMH8od9OFbMA4Ur@jurong
Hello Andy,

Am Tue, May 30, 2023 at 10:54:20AM -0700 schrieb Andy Tai:
Toggle quote (6 lines)
> Hi, following previous comments (thanks) I have submitted a patch to
> correctly fix a build failure due to compiler warnings, instead of
> avoiding not building tests, on this Guix bug issue:
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63526
> Please review the patch (which shall be a simple and low risk fix). Thanks!

I have reworked a bit the punctuation of the commit message, shortened
the patch file name and pushed. By this I am closing the two corresponding
bug reports (it would have been enough to send a second version of the
patch to the first bug).

Did you contact upstream? Looking at the test, it looked wrong before and
after your patch...
if (len < token->data.character.len) {
hubbub_token t = { 0 };
t.type = HUBBUB_TOKEN_CHARACTER;
t.data.character.ptr += len;
t.data.character.len -= len;
...
Adding to a previously undefined, now 0 pointer .ptr raised a warning
for a reason, I think; and it looks like the t.data maybe should be
token->data. But it is quite possible that this branch is not even
reached by the test.

Andreas
Closed
A
A
Andy Tai wrote on 9 Jun 2023 19:28
(name . Andreas Enge)(address . andreas@enge.fr)
CAJsg1E-P3vWaokpZpcJnfrJxDtihb_YpooyWaCavmHhSt4=8uA@mail.gmail.com
I did contact upstream, no response

On Fri, Jun 9, 2023 at 4:07?AM Andreas Enge <andreas@enge.fr> wrote:
Toggle quote (32 lines)
>
> Hello Andy,
>
> Am Tue, May 30, 2023 at 10:54:20AM -0700 schrieb Andy Tai:
> > Hi, following previous comments (thanks) I have submitted a patch to
> > correctly fix a build failure due to compiler warnings, instead of
> > avoiding not building tests, on this Guix bug issue:
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63526
> > Please review the patch (which shall be a simple and low risk fix). Thanks!
>
> I have reworked a bit the punctuation of the commit message, shortened
> the patch file name and pushed. By this I am closing the two corresponding
> bug reports (it would have been enough to send a second version of the
> patch to the first bug).
>
> Did you contact upstream? Looking at the test, it looked wrong before and
> after your patch...
> if (len < token->data.character.len) {
> hubbub_token t = { 0 };
> t.type = HUBBUB_TOKEN_CHARACTER;
> t.data.character.ptr += len;
> t.data.character.len -= len;
> ...
> Adding to a previously undefined, now 0 pointer .ptr raised a warning
> for a reason, I think; and it looks like the t.data maybe should be
> token->data. But it is quite possible that this branch is not even
> reached by the test.
>
> Andreas
>


--
Andy Tai, atai@atai.org, Skype: licheng.tai, Line: andy_tai, WeChat: andytai1010
Year 2023 ??112?
????????????
????????????
Closed
?