Bug#1005906: additional experimentation
Outside Debian (so I'm not sure how helpful this is), the bug doesn't exist in the latest ' frolvlad/alpine-glibc ' docker image [Alpine linux], which from the looks of it seems to be libc v2.34: / # if test -x /usr/bin/head; then echo "/usr/bin/head is executable"; else echo "dead beef"; fi; apk info glibc /usr/bin/head is executable WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.15/main: No such file or directory WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.15/community: No such file or directory glibc-2.34-r0 description: GNU C Library compatibility layer glibc-2.34-r0 webpage: https://github.com/sgerrand/alpine-pkg-glibc glibc-2.34-r0 installed size: KiB ... but it also doesn't exist in the 'frolvlad/alpine-glibc:glibc-2.33' docker image: / # if test -x /usr/bin/head; then echo "/usr/bin/head is executable"; else echo "dead beef"; fi; apk info glibc /usr/bin/head is executable WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.15/main: No such file or directory WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.15/community: No such file or directory glibc-2.33-r0 description: GNU C Library compatibility layer glibc-2.33-r0 webpage: https://github.com/sgerrand/alpine-pkg-glibc glibc-2.33-r0 installed size: 9224 KiB
Bug#1005906: additional testing
Also failing for 2.33-1 (as found in 'debian:testing-20211220' docker image): root@3385b6c8f2c8:/# if test -x /usr/bin/head; then echo "/usr/bin/head is executable"; else echo "dead beef"; fi; dpkg-query -l libc6 dead beef Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==---= ii libc6:amd642.33-1 amd64GNU C Library: Shared libraries
Bug#1005906: additional testing
Bug exists for 2.33-3 [as in current "debian:testing" docker image]: root@d6c1df8a7f2f:/# if test -x /usr/bin/head; then echo "/usr/bin/head is executable"; else echo "dead beef"; fi; dpkg-query -l libc6 dead beef Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==---= ii libc6:amd642.33-3 amd64GNU C Library: Shared libraries
Bug#1005906: strace from rocker/r-base:4.1.2
Sorry, I got the base image wrong when experimenting with strace. Here's my updated Dockerfile. I've confirmed that this bug still happens when I *only* install libc6 (and dependencies): --- begin Dockerfile --- FROM rocker/r-base:4.1.2 COPY ./test_executable.sh /usr/local/bin RUN test_executable.sh # works RUN apt-get update && apt-get install -y strace RUN test_executable.sh # works RUN apt-get install -y libc6 RUN test_executable.sh # doesn't work --- end Dockerfile --- Working: ii libc6:amd642.32-4 amd64GNU C Library: Shared libraries Not working: ii libc6:amd642.33-5 amd64GNU C Library: Shared libraries When installing/upgrading libc6, apt also installs the following packages: libc-bin libc-dev-bin libc-l10n libc6 libc6-dev locales --- begin working strace [last 2 lines of Dockerfile excluded] --- execve("/usr/local/bin/test_executable.sh", ["test_executable.sh"], 0x7ffdf9f53d10 /* 7 vars */) = 0 brk(NULL) = 0x556026cf2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=18355, ...}) = 0 mmap(NULL, 18355, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6aa0fa9000 close(3)= 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\177\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1839168, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6aa0fa7000 mmap(NULL, 1852480, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6aa0de2000 mprotect(0x7f6aa0e08000, 1658880, PROT_NONE) = 0 mmap(0x7f6aa0e08000, 1347584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f6aa0e08000 mmap(0x7f6aa0f51000, 307200, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16f000) = 0x7f6aa0f51000 mmap(0x7f6aa0f9d000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f6aa0f9d000 --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} --- mmap(0x7f6aa0fa3000, 13376, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f6aa0fa3000 close(3)= 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6aa0de arch_prctl(ARCH_SET_FS, 0x7f6aa0fa85c0) = 0 mprotect(0x7f6aa0f9d000, 12288, PROT_READ) = 0 mprotect(0x5560268b6000, 8192, PROT_READ) = 0 mprotect(0x7f6aa0fd8000, 4096, PROT_READ) = 0 munmap(0x7f6aa0fa9000, 18355) = 0 getuid()= 0 getgid()= 0 getpid()= 8 rt_sigaction(SIGCHLD, {sa_handler=0x5560268aba20, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6aa0e1eef0}, NULL, 8) = 0 geteuid() = 0 brk(NULL) = 0x556026cf2000 brk(0x556026d13000) = 0x556026d13000 getppid() = 1 getcwd("/", 4096) = 2 openat(AT_FDCWD, "/usr/local/bin/test_executable.sh", O_RDONLY) = 3 fcntl(3, F_DUPFD, 10) = 10 close(3)= 0 fcntl(10, F_SETFD, FD_CLOEXEC) = 0 geteuid() = 0 getegid() = 0 rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x5560268aba20, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6aa0e1eef0}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6aa0e1eef0}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6aa0e1eef0}, NULL, 8) = 0 read(10, "#!/bin/sh\nif test -x /usr/bin/he"..., 8192) = 103 faccessat(AT_FDCWD, "/usr/bin/head", X_OK) = 0 write(1, "/usr/bin/head is executable\n", 28/usr/bin/head is executable ) = 28 read(10, "", 8192) = 0 exit_group(0) = ? +++ exited with 0 +++ --- begin not-working strace --- execve("/usr/local/bin/test_executable.sh", ["test_executable.sh"], 0x7ffecf53fc30 /* 7 vars */) = 0 brk(NULL) = 0x5564890d3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=15011, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 15011, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1fc89ab000 close(3)= 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC)
Bug#1005906: r-base strace
Sorry, I was using the wrong base docker image in that last test. Here's an strace from 'rocker/r-base:4.1.2' + 'apt-get update && apt-get install strace': execve("/usr/local/bin/test_executable.sh", ["test_executable.sh"], 0x7ffd6cca52a0 /* 7 vars */) = 0 brk(NULL) = 0x56414d32f000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=18355, ...}) = 0 mmap(NULL, 18355, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f38da0b7000 close(3)= 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\177\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1839168, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f38da0b5000 mmap(NULL, 1852480, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f38d9ef mprotect(0x7f38d9f16000, 1658880, PROT_NONE) = 0 mmap(0x7f38d9f16000, 1347584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7f38d9f16000 mmap(0x7f38da05f000, 307200, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16f000) = 0x7f38da05f000 mmap(0x7f38da0ab000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f38da0ab000 mmap(0x7f38da0b1000, 13376, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f38da0b1000 close(3)= 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f38d9eee000 arch_prctl(ARCH_SET_FS, 0x7f38da0b65c0) = 0 mprotect(0x7f38da0ab000, 12288, PROT_READ) = 0 mprotect(0x56414b34f000, 8192, PROT_READ) = 0 mprotect(0x7f38da0e6000, 4096, PROT_READ) = 0 munmap(0x7f38da0b7000, 18355) = 0 getuid()= 0 --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} --- getgid()= 0 getpid()= 8 rt_sigaction(SIGCHLD, {sa_handler=0x56414b344a20, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f38d9f2cef0}, NULL, 8) = 0 geteuid() = 0 brk(NULL) = 0x56414d32f000 brk(0x56414d35) = 0x56414d35 getppid() = 1 getcwd("/", 4096) = 2 openat(AT_FDCWD, "/usr/local/bin/test_executable.sh", O_RDONLY) = 3 fcntl(3, F_DUPFD, 10) = 10 close(3)= 0 fcntl(10, F_SETFD, FD_CLOEXEC) = 0 geteuid() = 0 getegid() = 0 rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x56414b344a20, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f38d9f2cef0}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f38d9f2cef0}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f38d9f2cef0}, NULL, 8) = 0 read(10, "#!/bin/sh\nif test -x /usr/bin/he"..., 8192) = 103 faccessat(AT_FDCWD, "/usr/bin/head", X_OK) = 0 write(1, "/usr/bin/head is executable\n", 28/usr/bin/head is executable ) = 28 read(10, "", 8192) = 0 exit_group(0) = ? +++ exited with 0 +++
Bug#1005906: working strace
I noticed that installing 'strace' didn't trigger the libc6 install, so here's a working strace (prior to libc6 upgrade): execve("/usr/local/bin/test_executable.sh", ["test_executable.sh"], 0x7ffc0826c210 /* 5 vars */) = 0 brk(NULL) = 0x55706ff12000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc0ef02530) = -1 EINVAL (Invalid argument) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=8702, ...}) = 0 mmap(NULL, 8702, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6ac64bb000 close(3)= 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0cBR\340\305\370\2609W\242\345)q\235A\1"..., 68, 880) = 68 fstat(3, {st_mode=S_IFREG|0755, st_size=2029224, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6ac64b9000 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0cBR\340\305\370\2609W\242\345)q\235A\1"..., 68, 880) = 68 mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6ac62c7000 mprotect(0x7f6ac62ec000, 1847296, PROT_NONE) = 0 mmap(0x7f6ac62ec000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f6ac62ec000 mmap(0x7f6ac6464000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7f6ac6464000 mmap(0x7f6ac64af000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f6ac64af000 mmap(0x7f6ac64b5000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f6ac64b5000 close(3)= 0 arch_prctl(ARCH_SET_FS, 0x7f6ac64ba580) = 0 mprotect(0x7f6ac64af000, 12288, PROT_READ) = 0 mprotect(0x55706e763000, 8192, PROT_READ) = 0 mprotect(0x7f6ac64eb000, 4096, PROT_READ) = 0 munmap(0x7f6ac64bb000, 8702)= 0 getuid()= 0 getgid()= 0 getpid()= 8 rt_sigaction(SIGCHLD, {sa_handler=0x55706e758c30, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 geteuid() = 0 brk(NULL) = 0x55706ff12000 brk(0x55706ff33000) = 0x55706ff33000 getppid() = 1 getcwd("/workdir", 4096)= 9 openat(AT_FDCWD, "/usr/local/bin/test_executable.sh", O_RDONLY) = 3 fcntl(3, F_DUPFD, 10) = 10 close(3)= 0 fcntl(10, F_SETFD, FD_CLOEXEC) = 0 geteuid() = 0 getegid() = 0 rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x55706e758c30, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} --- read(10, "#!/bin/sh\nif test -x /usr/bin/he"..., 8192) = 103 faccessat(AT_FDCWD, "/usr/bin/head", X_OK) = 0 write(1, "/usr/bin/head is executable\n", 28/usr/bin/head is executable ) = 28 read(10, "", 8192) = 0 exit_group(0) = ? +++ exited with 0 +++
Bug#1005906: Strace / Docker build output
--- Dockerfile --- FROM rocker/r-base:4.1.2 RUN echo "cachebust" COPY ./test_executable.sh /usr/local/bin RUN test_executable.sh RUN apt-get update && apt-get install -y strace nano RUN test_executable.sh --- Dockerfile --- --- test_executable.sh --- #!/bin/sh if test -x /usr/bin/head; then echo "/usr/bin/head is executable"; else echo "dead beef"; fi --- end test_executable.sh --- --- output from `docker build` --- Sending build context to Docker daemon 3.072kB Step 1/6 : FROM rocker/r-base:4.1.2 ---> 91af7f4c94cd Step 2/6 : RUN echo "cachebust" ---> Running in a03d2ef2988f cachebust Removing intermediate container a03d2ef2988f ---> a940509c1f09 Step 3/6 : COPY ./test_executable.sh /usr/local/bin ---> 40e0033678f6 Step 4/6 : RUN test_executable.sh ---> Running in 443f48de4a9a /usr/bin/head is executable Removing intermediate container 443f48de4a9a ---> 7c788c3ecd0e Step 5/6 : RUN apt-get update && apt-get install -y strace nano ---> Running in 20409d48b35c Ign:1 https://eddelbuettel.github.io/ppaR400 ./ InRelease Get:2 https://eddelbuettel.github.io/ppaR400 ./ Release [1,204 B] Ign:3 https://eddelbuettel.github.io/ppaR400 ./ Release.gpg Get:4 http://deb.debian.org/debian testing InRelease [129 kB] Get:5 http://deb.debian.org/debian experimental InRelease [75.4 kB] Get:6 https://eddelbuettel.github.io/ppaR400 ./ Packages [26.4 kB] Get:8 http://deb.debian.org/debian testing/main amd64 Packages [8,310 kB] Get:7 http://cdn-fastly.deb.debian.org/debian sid InRelease [165 kB] Get:9 http://cdn-fastly.deb.debian.org/debian sid/main amd64 Packages [8,979 kB] Get:10 http://deb.debian.org/debian experimental/main amd64 Packages [385 kB] Fetched 18.1 MB in 8s (2,307 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libunwind8 locales Suggested packages: glibc-doc libnss-nis libnss-nisplus manpages-dev hunspell Recommended packages: manpages manpages-dev libc-devtools The following NEW packages will be installed: libunwind8 nano strace The following packages will be upgraded: libc-bin libc-dev-bin libc-l10n libc6 libc6-dev locales 6 upgraded, 3 newly installed, 0 to remove and 169 not upgraded. Need to get 13.0 MB of archives. After this operation, 7,139 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian testing/main amd64 libc-l10n all 2.33-5 [864 kB] Get:2 http://deb.debian.org/debian testing/main amd64 libc-dev-bin amd64 2.33-5 [243 kB] Get:3 http://deb.debian.org/debian testing/main amd64 libc6-dev amd64 2.33-5 [2,274 kB] Get:4 http://deb.debian.org/debian testing/main amd64 locales all 2.33-5 [4,088 kB] Get:5 http://deb.debian.org/debian testing/main amd64 libc6 amd64 2.33-5 [2,831 kB] Get:6 http://deb.debian.org/debian testing/main amd64 libc-bin amd64 2.33-5 [834 kB] Get:7 http://deb.debian.org/debian testing/main amd64 nano amd64 6.1-1 [707 kB] Get:8 http://deb.debian.org/debian testing/main amd64 libunwind8 amd64 1.3.2-2 [54.5 kB] Get:9 http://deb.debian.org/debian testing/main amd64 strace amd64 5.10-1 [1,084 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 13.0 MB in 4s (2,988 kB/s) (Reading database ... 18127 files and directories currently installed.) Preparing to unpack .../libc-l10n_2.33-5_all.deb ... Unpacking libc-l10n (2.33-5) over (2.32-4) ... Preparing to unpack .../libc-dev-bin_2.33-5_amd64.deb ... Unpacking libc-dev-bin (2.33-5) over (2.32-4) ... Preparing to unpack .../libc6-dev_2.33-5_amd64.deb ... Unpacking libc6-dev:amd64 (2.33-5) over (2.32-4) ... Preparing to unpack .../locales_2.33-5_all.deb ... Unpacking locales (2.33-5) over (2.32-4) ... Preparing to unpack .../libc6_2.33-5_amd64.deb ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Checking for services that may need to be restarted... Checking init scripts... Unpacking libc6:amd64 (2.33-5) over (2.32-4) ... Setting up libc6:amd64 (2.33-5) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline (Reading database ... 18133 files and directories currently installed.) Preparing to unpack .../libc-bin_2.33-5_amd64.deb ... Unpacking libc-bin (2.33-5) over (2.32-4) ... Setting up libc-bin (2.33-5) ... Selecting previously unselected package nano. (Reading database ... 18133 files and directories currently installed.) Preparing to unpack .../archives/nano_6.1-1_amd64.deb ... Unpacking nano (6.1-1) ... Selecting previously unselected package libunwind8:amd64. Preparing to unpack .../libunwind8_1.3.2-2_amd64.deb ... Unpacking libunwind8:amd64 (1.3.2-2) ... Selecting previously unselected package strace. Preparing to unpack .../strace_5.10-1_amd64.deb ... Unpacking strac
[Git][glibc-team/glibc][bullseye] Fix typos
Aurelien Jarno pushed to branch bullseye at GNU Libc Maintainers / glibc Commits: b1b5c933 by Aurelien Jarno at 2022-02-17T23:13:24+01:00 Fix typos - - - - - 2 changed files: - debian/changelog - debian/patches/any/local-CVE-2021-33574-mq_notify-use-after-free.diff View it on GitLab: https://salsa.debian.org/glibc-team/glibc/-/commit/b1b5c9333ef480184631b58b4b816a35c6d53d34 -- View it on GitLab: https://salsa.debian.org/glibc-team/glibc/-/commit/b1b5c9333ef480184631b58b4b816a35c6d53d34 You're receiving this email because of your account on salsa.debian.org.
Bug#1005906: libc6: 'test -x' ignores executable bit on files and directories
On 2022-02-17 06:14, David Eccles (gringer) wrote: > Package: libc6 > Version: 2.33-6 > Severity: important > X-Debbugs-Cc: b...@gringene.org > > Dear Maintainer, > > I'm not sure which package this bug is linked to; I'm fairly confident it's > one of the following: > > fontconfig-config libbrotli-dev libbrotli1 libc-bin libc-dev-bin libc-l10n > libc6 libc6-dev libexpat1 libexpat1-dev libfontconfig-dev libfontconfig1 > libfreetype-dev libfreetype6 libfreetype6-dev libuuid1 locales uuid-dev > > I was trying to get R working on a Docker container with the following > Dockerfile: > > --- BEGIN --- > > FROM rocker/r-base:4.1.2 > > ## This works > RUN R -e 'install.packages(c("rjson"))' > > RUN apt-get update && apt-get install -y \ > libfontconfig1-dev > > ## This doesn't work > RUN R -e 'install.packages(c("rjson"))' > > --- END --- > > Unfortunately, the R command stops working after the packages are updated. At > the time I ran this, > the following packages were pulled in: > > fontconfig-config libbrotli-dev libbrotli1 libc-bin libc-dev-bin libc-l10n > libc6 libc6-dev libexpat1 libexpat1-dev libfontconfig-dev libfontconfig1 > libfreetype-dev libfreetype6 libfreetype6-dev libuuid1 locales uuid-dev > > I get similar results [i.e. R not working] when I try to install 'nano' > instead of libfontconfig1-dev. > > I opened up the docker container to try to work out what was happening, and > noticed the R command > has the following logic: > > if test -x "${R_HOME}"; then > : > else > error "R_HOME ('${R_HOME}') not found" > fi > > When I changed this to a 'test -d', R started working again: > > if test -d "${R_HOME}"; then > : > else > error "R_HOME ('${R_HOME}') not found" > fi > > Unfortunately, this didn't fix all my problems, because there was another R > INSTALL script that > was required for installing R packages, and this script also didn't work. The > script had a simiar > '-x' command, but it was used to test to make sure a file was executable, > instead of a directory. > > I created a short test shell commands to demonstrate the issue: > > # export R_HOME=/usr/lib/R > # ls -lh ${R_HOME}/bin/INSTALL > -rwxr-xr-x 1 root root 825 Nov 1 11:00 /usr/lib/R/bin/INSTALL > # if test -x "${R_HOME}/bin/INSTALL"; then echo "file is executable"; else > echo "dead beef"; fi > dead beef > > [note that this reports "dead beef", rather than stating that the file is > executable, even though > 'ls' reports the file as executable] Please run this command under strace and provide the output, so that we can find the culprit. Regards, Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net