libc 2.31/i686: operation not permitted for preserving timestamps

Elan Ruusamäe glen at pld-linux.org
Sat Jun 13 04:17:14 CEST 2020


On 6/13/20 12:29 AM, Arkadiusz Miśkiewicz wrote:
> On 12/06/2020 23:17, Elan Ruusamäe wrote:
>> On 3/16/20 11:46 PM, Elan Ruusamäe wrote:
>>
>>> i've got reports that cp -a (or just cp --preserve=timestamps) fails
>>> on i686 and glibc 2.31
>>>
>> this is still not solved. and rpm (berkeleydb?) crashes misearably on
>> that and unable to recover:
>>
>> - https://gitlab.com/pld-linux/pld/-/jobs/593531470
>>
>>
>> i'll be disabling i686 builds over the weekend so that at least updated
>> x86_64 images get built
> Could you try  --security-opt and the other thing I asked in april?

that's not a solution!


1. it's a regression (no such problem with glibc 2.30)

2. not all cloud providers allow you override such option!


> (didn't see response... maybe you did test that)

reply is here:

- 
http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2020-April/025905.html


if you want a reproducer, then docker image that can be tested with is

- 
registry.gitlab.com/pld-linux/pld/i686 at sha256:832f004cc28798aafd758a7e6aa867681f1f860ac22b341dc8a2183a75a53e36


command that should not fail:

- cp -a /var/lib/rpm/ /tmp/rpm1


run the command before glibc upgrade (on that image glibc-2.30-3.i686),

run the command after glibc upgrade

test with and without --privileged option to docker run


i'm able to reproduce with docker4mac locally, the underlying filesystem 
is ext4 on 4.19.76-linuxkit:


```

$ docker run -v /var/lib/docker:/var/lib/docker alpine df /var/lib/docker -T
Filesystem           Type       1K-blocks      Used Available Use% 
Mounted on
/dev/vda1            ext4        65792556   1159988  61260792   2% 
/etc/resolv.conf

```


and docker4win-legacy, ext4, 4.14.154-boot2docker



```

$ docker run -v /var/lib/docker:/var/lib/docker alpine df /var/lib/docker -T
Filesystem           Type       1K-blocks      Used Available Use% 
Mounted on
/dev/sda1            ext4        18714000   4190364  13534508  24% 
/etc/resolv.conf


$ docker run -v /var/lib/docker:/var/lib/docker alpine uname -r
4.14.154-boot2docker

```


and docker4linux 4.19.0-8-amd64


```

$ docker run -v /var/lib/docker:/var/lib/docker alpine sh -c 'df 
/var/lib/docker -T; uname -r'

Filesystem           Type       1K-blocks      Used Available Use% 
Mounted on
/dev/vdc             xfs         52403200  13322340  39080860  25% 
/etc/resolv.conf
4.19.0-8-amd64

```


the only place it does not fail of the 5 tests is docker4linux, btrfs, 
4.4.30-1


```

$ docker run -v /var/lib/docker:/var/lib/docker alpine sh -c 'df 
/var/lib/docker -T; uname -r'
Filesystem           Type       1K-blocks      Used Available Use% 
Mounted on
/dev/mapper/sys-docker
                      btrfs       41943040  15572720  19025392  45% 
/etc/resolv.conf
4.4.30-1

```



More information about the pld-devel-en mailing list