Bug 1661597
Summary: | Under podman, python recompiles sources even if they are compiled in build time | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Jan Pazdziora (Red Hat) <jpazdziora> |
Component: | podman | Assignee: | Nalin Dahyabhai <nalin> |
Status: | CLOSED ERRATA | QA Contact: | atomic-bugs <atomic-bugs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 8.0 | CC: | ddarrah, dwalsh, jligon, jpazdziora, lsm5, nalin, ypu |
Target Milestone: | rc | ||
Target Release: | 8.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | podman-1.0 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-11-05 21:00:57 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Jan Pazdziora (Red Hat)
2018-12-21 17:45:36 UTC
I know that Nalin was playing around with some timestamp issues, that might fix this problem. Could you by any change check this out with podman 0.12? With podman-0.12.1.2-4.git9551f6b.module+el8+2594+933f97c7.x86_64, the behaviour is the same: host# podman run --name diffit-c --rm -ti diffit bash [root@b9e3cc619f91 /]# stat /usr/lib64/python2.7/gzip.py* File: '/usr/lib64/python2.7/gzip.py' Size: 18694 Blocks: 40 IO Block: 4096 regular file Device: 2ch/44d Inode: 33937730 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-12-22 20:52:34.000000000 +0000 Modify: 2018-12-22 20:52:34.000000000 +0000 Change: 2018-12-22 20:52:33.869019692 +0000 Birth: - File: '/usr/lib64/python2.7/gzip.pyc' Size: 15071 Blocks: 32 IO Block: 4096 regular file Device: 2ch/44d Inode: 33937731 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-12-22 20:52:34.000000000 +0000 Modify: 2018-12-22 20:52:34.000000000 +0000 Change: 2018-12-22 20:52:33.870019707 +0000 Birth: - [root@b9e3cc619f91 /]# python -c 'import gzip' [root@b9e3cc619f91 /]# stat /usr/lib64/python2.7/gzip.py* File: '/usr/lib64/python2.7/gzip.py' Size: 18694 Blocks: 40 IO Block: 4096 regular file Device: 2ch/44d Inode: 33937730 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-12-22 20:52:34.000000000 +0000 Modify: 2018-12-22 20:52:34.000000000 +0000 Change: 2018-12-22 20:52:33.869019692 +0000 Birth: - File: '/usr/lib64/python2.7/gzip.pyc' Size: 15071 Blocks: 32 IO Block: 4096 regular file Device: 2ch/44d Inode: 68104574 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-12-22 20:53:08.261520518 +0000 Modify: 2018-12-22 20:53:08.262520533 +0000 Change: 2018-12-22 20:53:08.262520533 +0000 Birth: - host# podman diff diffit-c C /usr/lib64/python2.7 C /usr/lib64/python2.7/gzip.pyc Yes, this looks like it's another result of golang 1.10's archive/tar package rounding timestamps instead of truncating them, this time tripping up the python interpreter, which decides whether or not a .py file needs to be byte compiled by comparing the mtime on the .py file with a 32-bit value that was stored in the .pyc file, which I expect it's arriving at by truncating a value. We added a workaround in containers/storage#252 to force truncation when creating layer diffs, but libpod v0.12.1.2 was built using a version of a containers/storage from just before we merged that workaround, so it's affected. libpod was updated to a sufficiently new version in libpod#2071, so its next release should avoid creating images that cause this to happen. I confirm that I no longer see the podman diff issue in Travis CI: https://travis-ci.org/adelton/freeipa-container/builds/477234614, so at least upstream seems to be fixed now. Fixed in podman 1.0. Can reproduce with podman-0.10.1.3-5.gitdb08685.el8+2131+7e3e9e07.x86_64. Test with podman-1.4.2-5.module+el8.1.0+4240+893c1ab8.x86_64. It works as expect and podman diff will not show anything now. So set this to verified. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2019:3403 |