#7276: gettext-tools/configure from gettext-0.18.1.1 triggers BFS corruption ---------------------------+------------------------------ Reporter: mmadia | Owner: axeld Type: bug | Status: new Priority: normal | Milestone: R1 Component: System/Kernel | Version: R1/Development Keywords: | Blocked By: Blocking: | Has a Patch: 0 Platform: All | ---------------------------+------------------------------ [http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz gettext-0.18.1.1]'s gettext-tools/configure script can reliably generate BFS issues, through testing "rmdir" The issue seems to be {{{ rmdir <dirname>/./ }}}. Both {{{ <dirname>/ }}} and {{{ <dirname>/. }}} do not trigger the BFS issues (judging by syslog output). To reproduce, simply {{{ cd gettext-0.18.1.1/gettext-tools ; ./configure }}} === gettext-tools/configure snippet === (line 38205) {{{ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rmdir works" >&5 $as_echo_n "checking whether rmdir works... " >&6; } if test "${gl_cv_func_rmdir_works+set}" = set; then : $as_echo_n "(cached) " >&6 else mkdir conftest.dir touch conftest.file if test "$cross_compiling" = yes; then : gl_cv_func_rmdir_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <errno.h> #include <unistd.h> int main () { return !rmdir ("conftest.file/") || errno != ENOTDIR || !rmdir ("conftest.dir/./"); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gl_cv_func_rmdir_works=yes else gl_cv_func_rmdir_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -rf conftest.dir conftest.file fi }}} === syslog output === {{{ KERN: bfs: Remove:1741: No such file or directory KERN: bfs: Could not find value in index "name"! KERN: bfs: Update:278: No such file or directory KERN: bfs: InitCheck:311: Bad data KERN: bfs: inode at 4728676 is already deleted! KERN: bfs: InitCheck:311: Bad data KERN: bfs: KERN: inode at 4728676 is already deleted! KERN: bfs: Remove:2487: Bad data }}} === checkfs === {{{ gettext-0.18.1.1/gettext-tools> checkfs -c /boot sub (inode = 1574266), has blocks already set conftest.dir (inode = 4728676), could not be opened 51521 nodes checked, 0 blocks not allocated, 3 blocks already set, 0 blocks could be freed files 42955 directories 8171 attributes 213 attr. dirs 168 indices 14 }}} -- Ticket URL: <http://dev.haiku-os.org/ticket/7276> Haiku <http://dev.haiku-os.org> Haiku - the operating system.