On Sat, Dec 31, 2022 at 1:55 PM Sam James <s...@gentoo.org> wrote: > Hi folks, > > I'm testing out the latest release previews from platform-testers in Gentoo > and came across the following. > > diffutils' tests seem to fail (specifically the 'color' test) when built with > UBSAN (-fsanitize=undefined): > ``` > [...] > + mkfifo fifo > + printf %1000000s-a > + printf %1000000s-b > + + diff --color=always ---presume-output-tty a bhead > -c 10 > util.c:205:3: runtime error: execution reached an unreachable program point > #0 0x558fa0c7ee3c in xsigismember > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/util.c:205 > #1 0x558fa0c7f4e5 in install_signal_handlers > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/util.c:372 > #2 0x558fa0c80f05 in check_color_output > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/util.c:822 > #3 0x558fa0c81976 in begin_output > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/util.c:1017 > #4 0x558fa0c7c63d in print_normal_hunk > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/normal.c:49 > #5 0x558fa0c82cd1 in print_script > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/util.c:1303 > #6 0x558fa0c7c5e5 in print_normal_script > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/normal.c:31 > #7 0x558fa0c640cc in diff_2_files > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/analyze.c:665 > #8 0x558fa0c6f28c in compare_files > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/diff.c:1488 > #9 0x558fa0c69e11 in main > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/src/diff.c:851 > #10 0x7fb6ab79664f in __libc_start_call_main > ../sysdeps/nptl/libc_start_call_main.h:58 > #11 0x7fb6ab796708 in __libc_start_main_impl ../csu/libc-start.c:381 > #12 0x558fa0c5a144 in _start ../sysdeps/x86_64/start.S:115 > > + test 1 = 141 > + fail=1 > + Exit 1 > + set +e > + exit 1 > + exit 1 > + remove_tmp_ > + __st=1 > + cleanup_ > + : > + test = yes > + cd > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/tests > + chmod -R u+rwx > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/tests/gt-colors.1cSV > + rm -rf > /var/tmp/portage/sys-apps/diffutils-3.8_p20221230/work/diffutils-3.8.43-2d50/tests/gt-colors.1cSV > + exit 1 > FAIL colors (exit status: 1) > > ============================================================================ > Testsuite summary for GNU diffutils 3.8.43-2d50 > ============================================================================ > # TOTAL: 23 > # PASS: 21 > # SKIP: 0 > # XFAIL: 1 > # FAIL: 1 > # XPASS: 0 > # ERROR: 0 > ============================================================================ > See tests/test-suite.log > Please report to bug-diffutils@gnu.org > ============================================================================ > ``` > > This is with GCC 12.2.1_p20221224. > > I've made the full log available at > https://dev.gentoo.org/~sam/bugs/diffutils/ubsan-color-test/build.log > and > https://dev.gentoo.org/~sam/bugs/diffutils/ubsan-color-test/test-suite.log.
Hi Sam, thanks for the testing and the report. Can you still reproduce that? So far, I am unable to, at least at this commit: v3.8-49-gcc41598. I started with an already-configured working directory, ran "make clean", and then this: ASAN_OPTIONS=detect_leaks=0 make CFLAGS='-O -ggdb3' AM_CFLAGS=-fsanitize=undefined AM_LDFLAGS='-fsanitize=undefined -static-libubsan' check TESTSUITEFLAGS=--jobs=55 and all tests passed.