Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

podman commit overlooks something? #131

Closed
rohanlean opened this issue Sep 13, 2019 · 11 comments · Fixed by #132
Closed

podman commit overlooks something? #131

rohanlean opened this issue Sep 13, 2019 · 11 comments · Fixed by #132
Assignees

Comments

@rohanlean
Copy link

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)

/kind bug

Description

Steps to reproduce the issue:

  1. Run debian:10 in a container; install texlive and texlive-luatex. Create example.tex with the following content:
\documentclass{article}
\begin{document}
\end{document}

Run texhash (optionally convince yourself that this does not change the environment).

  1. Commit the container.

  2. Still in the container, run lualatex example.

  3. Create and run a container from the image you just commited. Run lualatex example.

Describe the results you received:
In the original container the compilation proceeds without problems. In the container started from the commit, the following message occurs:

luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: "File not found: lmroman10-regular.".))

Describe the results you expected:
The container and the copy created from the commit behave identically.

Additional information you deem important (e.g. issue happens only occasionally):
The problem also occurs when building the image from a Dockerfile, i.e. to avoid the error one always has to run texhash in a fresh container, even if texhash is run during image creation. I cannot find an error in the file system of the freshly started container, and I am clueless as to what changes when texhash is run, apart from some timestamps.

Output of podman version:

podman version 1.5.1

Output of podman info --debug:

debug:
  compiler: gc
  git commit: ""
  go version: go1.12.7
  podman version: 1.5.1
host:
  BuildahVersion: 1.10.1
  Conmon:
    package: podman-1.5.1-3.fc30.x86_64
    path: /usr/libexec/podman/conmon
    version: 'conmon version 2.0.0, commit: d728afa06cd2df86a27f32a4692c7099a56acc97-dirty'
  Distribution:
    distribution: fedora
    version: "30"
  MemFree: 7826296832
  MemTotal: 14639816704
  OCIRuntime:
    package: runc-1.0.0-93.dev.gitb9b6cc6.fc30.x86_64
    path: /usr/bin/runc
    version: |-
      runc version 1.0.0-rc8+dev
      commit: e3b4c1108f7d1bf0d09ab612ea09927d9b59b4e3
      spec: 1.0.1-dev
  SwapFree: 34359734272
  SwapTotal: 34359734272
  arch: amd64
  cpus: 8
  eventlogger: journald
  hostname: podstation
  kernel: 5.2.13-200.fc30.x86_64
  os: linux
  rootless: true
  uptime: 3h 33m 15.46s (Approximately 0.12 days)
registries:
  blocked: null
  insecure: null
  search:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ConfigFile: /var/home/poduser/.config/containers/storage.conf
  ContainerStore:
    number: 1
  GraphDriverName: overlay
  GraphOptions:
  - overlay.mount_program=/usr/bin/fuse-overlayfs
  GraphRoot: /var/home/poduser/.local/share/containers/storage
  GraphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 7
  RunRoot: /run/user/1000
  VolumePath: /var/home/poduser/.local/share/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):

podman-1.5.1-3.fc30.x86_64

Additional environment details (AWS, VirtualBox, physical, etc.):
Fedora Silverblue 30:

● ostree://fedora:fedora/30/x86_64/silverblue
                   Version: 30.20190912.0 (2019-09-12T20:42:50Z)
                    Commit: 6eab3e7e6afb27f6c3271c85242d744cba11287b39c08484b68d64cf85c01f9f
@baude
Copy link
Member

baude commented Sep 19, 2019

@TomSweeneyRedHat ptal

@TomSweeneyRedHat
Copy link
Member

@rohanlean Thanks for the issue. Just to make sure we're on the same page, could you include the step(s) that you did for 'Step 1' to run the container and then install tex* onto it?

@rohanlean
Copy link
Author

@TomSweeneyRedHat Something like podman run --rm -it debian:10, then in the container run

apt-get update && apt-get install -y texlive texlive-luatex

My apologies for the test case being so elaborate.

@rhatdan
Copy link
Member

rhatdan commented Sep 20, 2019

Note: Don't fully follow what is broken here, but I know @giuseppe has been working on lots of fixes for fuse-ovarlayfs.

@vrothberg
Copy link
Member

It looks related to fuse-overlayfs. I can only reproduce rootless. It doesn't occur as root.

@giuseppe, could you have a look?

@giuseppe
Copy link
Member

it looks like an issue that was fixed some time ago in fuse-overlayfs.

Could you please try the last version?

@giuseppe giuseppe transferred this issue from containers/podman Oct 14, 2019
@giuseppe
Copy link
Member

it seems to work correctly with fuse-overlayfs 0.6.3. I am closing the issue. Please re-open if it still happens

@rohanlean
Copy link
Author

This still happens to me with

fuse-overlayfs-0.6.3-2.0.dev.git46c0f8e.fc30.x86_64

For versions of other components see containers/podman#4258.

@giuseppe
Copy link
Member

giuseppe commented Oct 14, 2019

EDIT: I see the issue now, with these steps:

$ podman run --name foo -it debian:10
# apt-get update && apt-get install -y texlive texlive-luatex
[apt-get output]

# mkdir foo; cd foo
# cat > example.tex << EOF
\documentclass{article}
\begin{document}
\end{document}
EOF
# texhash .
# exit

(from the host)

$ podman commit foo bar
$ podman run --rm -ti bar sh

# cd foo	
# ls
example.tex  ls-R
# lualatex example
This is LuaTeX, Version 1.07.0 (TeX Live 2019/dev/Debian) 
 restricted system commands enabled.
(./example.tex
LaTeX2e <2018-12-01>

luaotfload | main : initialization completed in 0.130 seconds
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
luaotfload | db : Font names database not found, generating new one.
luaotfload | db : This can take several minutes; please be patient.
luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: "File not found: lmroman10-regular.".))
No file example.aux.
(./example.aux))
 383 words of node memory still in use:
   2 hlist, 1 vlist, 1 rule, 2 glue, 3 kern, 1 glyph, 5 attribute, 44 glue_spec
, 5 attribute_list, 2 write nodes
   avail lists: 2:7,3:1,4:1,5:4,7:1,8:1,9:1

warning  (pdf backend): no pages of output.
Transcript written on example.log.

@giuseppe giuseppe reopened this Oct 14, 2019
@rohanlean
Copy link
Author

You should run texhash, not texhash . to make this work in the original container.

giuseppe added a commit to giuseppe/fuse-overlayfs that referenced this issue Oct 15, 2019
make sure the directory is reloaded so the correct number of links can
be retrieved.

Closes: containers#131

Signed-off-by: Giuseppe Scrivano <[email protected]>
@giuseppe
Copy link
Member

took a while to debug this issue, but here is a PR: #132

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants