On - OpenBSD 6.0, - NetBSD 7.1 I see a test failure: FAIL tests/ls/selinux-segfault.sh (exit status: 1)
Log is attached. The cause is a crash that is easy to reproduce interactively: $ src/ls -Z . In gdb, I get this stack trace (same on both platforms): #0 strlen #1 gobble_file (name = ".", type=arg_directory, inode=0, command_line_arg=true, dirname=0x0) at ls.c:3627 #2 main () at ls.c:1812 The problem is that file_has_aclinfo_cache (called from ls.c:3526) has returned ai = { size = 0, scontext = 0x0, scontext_err = 0, ... } Bruno
==================================================== GNU coreutils snapshot: ./tests/test-suite.log ==================================================== # TOTAL: 657 # PASS: 477 # SKIP: 179 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 System information (uname -a): OpenBSD 6.0 GENERIC#2148 .. contents:: :depth: 2 FAIL: tests/ls/selinux-segfault =============================== ++ initial_cwd_=/home/bruno/coreutils-snapshot/build +++ testdir_prefix_ +++ printf gt ++ pfx_=gt +++ mktempd_ /home/bruno/coreutils-snapshot/build gt-selinux-segfault.sh.XXXX +++ case $# in +++ destdir_=/home/bruno/coreutils-snapshot/build +++ template_=gt-selinux-segfault.sh.XXXX +++ MAX_TRIES_=4 +++ case $destdir_ in +++ destdir_slash_=/home/bruno/coreutils-snapshot/build/ +++ case $template_ in ++++ unset TMPDIR +++ d=/home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP +++ case $d in +++ : +++ test -d /home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP ++++ ls -dgo /home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP +++ perms='drwx------. 2 512 Jan 17 15:40 /home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP' +++ case $perms in +++ : +++ echo /home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP +++ return ++ test_dir_=/home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP ++ cd /home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP ++ case $srcdir in ++ srcdir=../.. ++ builddir=.. ++ export srcdir builddir ++ gl_init_sh_nl_=' ' ++ IFS=' ' ++ for sig_ in 1 2 3 13 15 +++ expr 1 + 128 ++ eval 'trap '\''Exit 129'\'' 1' +++ trap 'Exit 129' 1 ++ for sig_ in 1 2 3 13 15 +++ expr 2 + 128 ++ eval 'trap '\''Exit 130'\'' 2' +++ trap 'Exit 130' 2 ++ for sig_ in 1 2 3 13 15 +++ expr 3 + 128 ++ eval 'trap '\''Exit 131'\'' 3' +++ trap 'Exit 131' 3 ++ for sig_ in 1 2 3 13 15 +++ expr 13 + 128 ++ eval 'trap '\''Exit 141'\'' 13' +++ trap 'Exit 141' 13 ++ for sig_ in 1 2 3 13 15 +++ expr 15 + 128 ++ eval 'trap '\''Exit 143'\'' 15' +++ trap 'Exit 143' 15 ++ saved_IFS=' ' ++ IFS=: ++ new_PATH= ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /home/bruno/coreutils-snapshot/build/src/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /bin/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src:/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /sbin/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src:/bin:/sbin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/bin/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src:/bin:/sbin:/usr/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/sbin/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src:/bin:/sbin:/usr/bin:/usr/sbin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/local/bin/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/local/sbin/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ test -d /usr/games/. ++ new_PATH=/home/bruno/coreutils-snapshot/build/src:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games ++ for dir in '$PATH' ++ IFS=' ' ++ case "$dir" in ++ IFS=' ' ++ PATH=/home/bruno/coreutils-snapshot/build/src:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games ++ export PATH ++ trap remove_tmp_ EXIT + path_prepend_ ./src + test 1 '!=' 0 + path_dir_=./src + case $path_dir_ in + abs_path_dir_=/home/bruno/coreutils-snapshot/build/./src + case $abs_path_dir_ in + PATH=/home/bruno/coreutils-snapshot/build/./src:/home/bruno/coreutils-snapshot/build/src:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games + create_exe_shims_ /home/bruno/coreutils-snapshot/build/./src + case $EXEEXT in + return 0 + shift + test 0 '!=' 0 + export PATH + print_ver_ ls + require_built_ ls + skip_=no + for i in '"$@"' + case " $built_programs " in + test no = yes + test yes = yes + local i + for i in '$*' + env ls --version ls (GNU coreutils) snapshot Copyright (C) 2025 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Richard M. Stallman and David MacKenzie. + f=/proc/sys + test -r /proc/sys + f=. + ls -l . + mkdir sedir + ln -sf missing sedir/broken + returns_ 1 ls -L -R -Z -m sedir ../tests/init.sh: line 612: 59385 Segmentation fault (core dumped) "$@" + fail=1 + Exit 1 + set +e + exit 1 + exit 1 + remove_tmp_ + __st=1 + cleanup_ + : + test '' = yes + cd /home/bruno/coreutils-snapshot/build + chmod -R u+rwx /home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP + rm -rf /home/bruno/coreutils-snapshot/build/gt-selinux-segfault.sh.wnKP + exit 1 FAIL tests/ls/selinux-segfault.sh (exit status: 1)