Bug#1021258: gtksourceview5: FTBFS on riscv64 and hppa (test failure)
Eric Long
i at hack3r.moe
Tue Oct 4 13:59:46 BST 2022
Source: gtksourceview5
Version: 5.6.0-1
Severity: important
Tags: ftbfs patch
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: i at hack3r.moe
Dear maintainers,
gtksourceview5 failed to build on riscv64 and hppa platforms due to test failure
in `test-regex`:
```
=================================== 12/26 ====================================
test: test-regex
start time: 22:18:43
duration: 1.75s
result: killed by signal 6 SIGABRT
command: G_TEST_BUILDDIR=/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/testsuite G_DEBUG=gc-friendly GSETTINGS_BACKEND=memory G_TEST_SRCDIR=/<<PKGBUILDDIR>>/testsuite MALLOC_PERTURB_=79 MALLOC_CHECK_=2 /<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/testsuite/test-regex
----------------------------------- stdout -----------------------------------
# random seed: R02S5fe677acf2b7253d812a2f17f9a5fade
1..3
# Start of Regex tests
ok 1 /Regex/slash-c
# GLib-DEBUG: JIT compilation was requested with G_REGEX_OPTIMIZE, but JIT support is not available. Falling back to interpretive code.
# ...
Bail out! GtkSourceView:ERROR:../testsuite/test-regex.c:135:compare_impl_regex_to_g_regex: assertion failed (r1 == r2): (0 == 1)
----------------------------------- stderr -----------------------------------
**
GtkSourceView:ERROR:../testsuite/test-regex.c:135:compare_impl_regex_to_g_regex: assertion failed (r1 == r2): (0 == 1)
==============================================================================
```
Full buildd log: https://buildd.debian.org/status/fetch.php?pkg=gtksourceview5&arch=riscv64&ver=5.6.0-1&stamp=1663798763&raw=0
It turns out a certain set of test parameter is problematic, according to GDB on my riscv64 QEMU machine:
```
Thread 1 "test-regex" hit Breakpoint 1, compare_impl_regex_to_g_regex (subject=subject at entry=0xaaaaaaaaab0c10 "\342\200\223aa", pattern=pattern at entry=0xaaaaaaaaab0c00 "\\baa\\b", match_flags=G_REGEX_MATCH_NOTEMPTY, compile_flags=8195) at ../testsuite/test-regex.c:135
135 in ../testsuite/test-regex.c
1: subject = 0xaaaaaaaaab0c10 "\342\200\223aa"
2: pattern = 0xaaaaaaaaab0c00 "\\baa\\b"
**
GtkSourceView:ERROR:../testsuite/test-regex.c:135:compare_impl_regex_to_g_regex: assertion failed (r1 == r2): (0 == 1)
Bail out! GtkSourceView:ERROR:../testsuite/test-regex.c:135:compare_impl_regex_to_g_regex: assertion failed (r1 == r2): (0 == 1)
Thread 1 "test-regex" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=<optimized out>, no_tid=no_tid at entry=0) at ./nptl/pthread_kill.c:43
```
Attached is a patch that disables that line of test on riscv64 only, since I
haven't tested it on hppa yet. If there is a better way than disabling tests,
please let me know so I can help.
Cheers,
Eric
-------------- next part --------------
--- a/testsuite/test-regex.c
+++ b/testsuite/test-regex.c
@@ -195,7 +195,9 @@
compare_impl_regex_to_g_regex ("hello\nworld\n", "(.*\\n)*", compile, match);
compare_impl_regex_to_g_regex ("&aa", "\\baa\\b", compile, match);
+#if !defined(__riscv)
compare_impl_regex_to_g_regex ("\342\200\223aa", "\\baa\\b", compile, match);
+#endif
compare_impl_regex_to_g_regex ("12\n", "(?<=1)23", compile, match);
compare_impl_regex_to_g_regex ("\n23\n", "(?<=1)23", compile, match);
More information about the pkg-gnome-maintainers
mailing list