[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
Actually, as far as I can tell this failure affects a much wider set of cases. I am seeing this on a standard install as long as the (default) "use chroot" option is being used. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: Invalid Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: Invalid Status in rsync source package in Groovy: Won't Fix Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
Since this was fixed upstream and it doesn't affect any LTS Ubuntu releases, I don't think it's important enough to do SRUs. Thank you! (For LTSP users, that are affected by this: once a fixed rsync version lands in Ubuntu, I'll copy it to the LTSP PPA for Groovy, so LTSP will work there too) -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: Invalid Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: Invalid Status in rsync source package in Groovy: Won't Fix Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
If someone feels that it is still important to fix it Groovy, too, please prepare the fix for 21.04 and follow the SRU procedure with or without sponsorship request: https://wiki.ubuntu.com/StableReleaseUpdates#Procedure . -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: Invalid Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: Invalid Status in rsync source package in Groovy: Won't Fix Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
I've marked this bug having low importance due to the small set of cases it can surface and the plan for fixing it is syncing the next upstream release from Debian. ** Changed in: rsync (Ubuntu Groovy) Status: Triaged => Won't Fix -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: Invalid Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: Invalid Status in rsync source package in Groovy: Won't Fix Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
** Changed in: rsync (Ubuntu) Importance: Undecided => Low ** Changed in: rsync (Ubuntu Groovy) Importance: Undecided => Low -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: Invalid Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: Invalid Status in rsync source package in Groovy: Triaged Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
IMO both the new and old errors were accurate and this is just a behaviour change in glibc rather than a regression. Rsync upstream already adapted to the new glibc behaviour and unless glibc upstream reverts the change this will stay the glibc behaviour in Ubuntu, too. ** Changed in: glibc (Ubuntu) Status: New => Invalid ** Changed in: glibc (Ubuntu Groovy) Status: New => Invalid ** Changed in: rsync (Ubuntu Groovy) Status: New => Triaged ** Tags added: rls-gg-incoming -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: Invalid Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: Invalid Status in rsync source package in Groovy: Triaged Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
I'm not sure if the fix is worth backporting to Groovy since /proc is typically mounted. ** Tags removed: rls-gg-incoming -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: Invalid Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: Invalid Status in rsync source package in Groovy: Triaged Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
** Also affects: glibc (Ubuntu Groovy) Importance: Undecided Status: New ** Also affects: rsync (Ubuntu Groovy) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: New Status in rsync package in Ubuntu: Triaged Status in glibc source package in Groovy: New Status in rsync source package in Groovy: New Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
** Bug watch added: Red Hat Bugzilla #1894485 https://bugzilla.redhat.com/show_bug.cgi?id=1894485 -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: New Status in rsync package in Ubuntu: Triaged Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
Launchpad has imported 2 comments from the remote bug at https://sourceware.org/bugzilla/show_bug.cgi?id=26401. If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. On 2020-08-17T16:13:21+00:00 Ldv-c wrote: Fixes for https://sourceware.org/bugzilla/show_bug.cgi?id=14578 introduced regressions in cases when /proc is not mounted: - lchmod used to return ENOSYS, now it returns EOPNOTSUPP; - fchmodat(AT_SYMLINK_NOFOLLOW) used to return ENOTSUP, now it returns EOPNOTSUPP which is different from ENOTSUP on some architectures, e.g. hppa. Reply at: https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/1902109/comments/0 On 2020-10-30T07:31:47+00:00 Alkis Georgopoulos wrote: Hello, just noting that rsync in Ubuntu 20.10 is affected by this glibc issue: https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/1902109 https://github.com/WayneD/rsync/issues/109 Reply at: https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/1902109/comments/4 ** Changed in: glibc Status: Unknown => Confirmed ** Changed in: glibc Importance: Unknown => Medium ** Bug watch added: Sourceware.org Bugzilla #14578 https://sourceware.org/bugzilla/show_bug.cgi?id=14578 ** Bug watch added: github.com/WayneD/rsync/issues #109 https://github.com/WayneD/rsync/issues/109 -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Confirmed Status in glibc package in Ubuntu: New Status in rsync package in Ubuntu: Triaged Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
Awesome, thanks for updating the bug tasks and tracking bug already Alkis! -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Unknown Status in glibc package in Ubuntu: New Status in rsync package in Ubuntu: Triaged Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp
[Touch-packages] [Bug 1902109] Re: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted
Hi Robie, thank you for the feedback, I located an upstream bug report in glibc for this: https://sourceware.org/bugzilla/show_bug.cgi?id=26401 ** Bug watch added: Sourceware.org Bugzilla #26401 https://sourceware.org/bugzilla/show_bug.cgi?id=26401 ** Also affects: rsync via https://sourceware.org/bugzilla/show_bug.cgi?id=26401 Importance: Unknown Status: Unknown ** No longer affects: rsync ** Also affects: glibc via https://sourceware.org/bugzilla/show_bug.cgi?id=26401 Importance: Unknown Status: Unknown ** Also affects: glibc (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to rsync in Ubuntu. https://bugs.launchpad.net/bugs/1902109 Title: rsync uses lchmod and fails in Ubuntu >= 20.10 if /proc isn't mounted Status in GLibC: Unknown Status in glibc package in Ubuntu: New Status in rsync package in Ubuntu: Triaged Bug description: Rsync in Ubuntu 20.10 fails when /proc isn't mounted, while it worked before. This happens because AC_CHECK_FUNC(lchmod) returns "yes" in 20.10, while it returned "no" before. Steps to reproduce: # Emulate /proc not being mounted $ mount --bind / /mnt $ chroot /mnt rsync -a /bin/ls . rsync: [receiver] failed to set permissions on "/.ls.CDExhu": Operation not supported (95) rsync error: some files/attrs were not transferred (see previous errors) (code 3) at main.c(1330) [sender=3.2.3] I reported this issue upstream in https://github.com/WayneD/rsync/issues/109 but the rsync developer says it's a problem in libc, and it might well be. Simple C code to reproduce the problem without rsync: printf("lchmod returned: %d\n", lchmod("/tmp/ls", 0755)); If /tmp/ls is e.g. mode=0123, and needs to be changed, lchmod fails when /proc isn't mounted, yet it succeeds if it is mounted. Python had a similar issue, and they ended up avoiding AC_CHECK_FUNC(lchmod) under Linux: https://bugs.python.org/issue34652 https://github.com/python/cpython/commit/69e96910153219b0b15a18323b917bd74336d229#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R3140 ```c if test "$MACHDEP" != linux; then AC_CHECK_FUNC(lchmod) fi ``` So I'm not sure which package is causing the bug here. Should autoconf return false? Should libc implement lchown without the bug? Or should rsync skip lchmod under Linux, like python did? To manage notifications about this bug go to: https://bugs.launchpad.net/glibc/+bug/1902109/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp