Page MenuHomePhabricator

debian-glue jobs ignored error messages about libeatmydata.so in LD_PRELOAD
Closed, ResolvedPublic

Description

See https://integration.wikimedia.org/ci/job/debian-glue/

The Debian glue job do spam a serie of:

Build output
enable_eatmydata
+ echo 'EXTRAPACKAGES="$EXTRAPACKAGES eatmydata"'
+ echo 'export LD_PRELOAD="${LD_PRELOAD:+$LD_PRELOAD:}libeatmydata.so"'
+ echo '# builtin support available with pbuilder >=0.225 (otherwise ignored):'
+ echo EATMYDATA=yes

…

ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

That happens early in the build since eatmydata is enabled before eatmydata extra package get installed. LD_PRELOAD should be set later.

Event Timeline

Krinkle updated the task description. (Show Details)
Krinkle added a project: SRE.
Krinkle moved this task from Untriaged to Backlog on the Continuous-Integration-Infrastructure board.
Krinkle subscribed.

Triaging as low priority given the job has worked this way for years, so presumably the actual packages are fine and this is just noise? Tagging SRE for possible help if this warning is a nuisance and knows how to avoid it :)

From other contexts, I *think* this needs to be fixed in Debian's own tooling. The impact is that eatmydata has no effect, except for producing warning messages. The real fix should be that apt can use eatmydata to speed things up.

I'm not sure we need to do anything about this.

That can be addressed by having the eatmydata package to be provided in the base cow builder images that we rely on. This way the package will be available very early in the process.

Change 676008 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/puppet@production] package_builder: include eatmydata in base images

https://gerrit.wikimedia.org/r/676008

Change 676035 had a related patch set uploaded (by Jbond; author: John Bond):

[operations/puppet@production] package_builder: add ability to inject extra packages

https://gerrit.wikimedia.org/r/676035

Change 676036 had a related patch set uploaded (by Jbond; author: John Bond):

[operations/puppet@production] P:ci::package_builder: update profile to pass through extra packages

https://gerrit.wikimedia.org/r/676036

Change 676037 had a related patch set uploaded (by Jbond; author: John Bond):

[operations/puppet@production] cloud - hieradata: add extra_packages eatmydata to integrations package_builder

https://gerrit.wikimedia.org/r/676037

Change 676008 abandoned by Hashar:

[operations/puppet@production] package_builder: include eatmydata in base images

Reason:

Largely extended by Jbond ! :]

https://gerrit.wikimedia.org/r/676008

Change 676035 merged by Jbond:

[operations/puppet@production] package_builder: add ability to inject extra packages

https://gerrit.wikimedia.org/r/676035

Change 676036 merged by Jbond:

[operations/puppet@production] P:ci::package_builder: update profile to pass through extra packages

https://gerrit.wikimedia.org/r/676036

Change 676037 merged by Jbond:

[operations/puppet@production] cloud - hieradata: add extra_packages eatmydata to integrations package_builder

https://gerrit.wikimedia.org/r/676037

Change 676127 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/puppet@production] package_builder: also inject extra packages on update

https://gerrit.wikimedia.org/r/676127

Change 676133 had a related patch set uploaded (by Hashar; author: John Bond):

[operations/puppet@production] R:pbuilder_base: add extra packages to updates as well

https://gerrit.wikimedia.org/r/676133

Change 682962 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/puppet@production] cloud - hieradata: add eatmydata to sid/bullseye

https://gerrit.wikimedia.org/r/682962

Change 676133 merged by Jbond:

[operations/puppet@production] R:pbuilder_base: add extra packages to updates as well

https://gerrit.wikimedia.org/r/676133

Change 682962 merged by Jbond:

[operations/puppet@production] cloud - hieradata: add eatmydata to sid/bullseye

https://gerrit.wikimedia.org/r/682962

hashar added a subscriber: jbond.

I have confirmed that eatmydata is now included in all cowbuilder images. When jenkins debian glue invokes the build, it does try to include eatmydata and show it is already available:

00:00:27.213 eatmydata is already the newest version (105-9).

A test build no more show the annoying error! Thank you @jbond for the puppet refactoring and the quick reviews.

Change #1135966 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/puppet@production] ci: add eatmydata to bookworm cow images

https://gerrit.wikimedia.org/r/1135966

Change #1135966 merged by Arnaudb:

[operations/puppet@production] ci: always add eatmydata to cow images

https://gerrit.wikimedia.org/r/1135966