Project

General

Profile

Actions

Bug #4389

closed

ansible: osmo-gsm-tester host needs patchelf > 0.9.1

Added by pespin about 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
02/05/2020
Due date:
% Done:

90%

Spec Reference:

Description

So today while patching srsue with debian 9 (which ships with package patchelf 0.9-1+b1), I got into following issue:

$ patchelf --set-rpath /osmo-gsm-tester-srsue/srslte/lib /osmo-gsm-tester-srsue/srslte/bin/srsue
warning: working around a Linux kernel bug by creating a hole of 124461056 bytes in ‘/osmo-gsm-tester-srsue/srslte/bin/srsue’
maximum file size exceeded

The command returns 1 and the rpath is not changed.

reading a bit about the issue it seems to be a known patchelf bug fixed in newer versions: https://github.com/NixOS/patchelf/issues/47

I had to test with a newer patchelf to have it working: version 0.9+52 which ships in current stable (buster, debian 10).
https://packages.debian.org/buster/amd64/patchelf

So I already installed that deb package (patchelf_0.9+52.20180509-1_amd64.deb) into osmo-gsm-tester Prod setup slave host (where we run stuff like srsue and osmo-trx) since that's where it's needed.

This task is created as a reminder to add that manual installation of the package in ansible (osmo-ci.git).

Update:
It seems that 0.9+52 is causing issues on srsepc binary, during run, it fails with:

Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != NULL' failed

Same goes for patchelf_0.10-2_amd64.deb.

So it seems we might need to patch 0.9+1 with https://github.com/NixOS/patchelf/commit/f6886c2c33a1cf8771163919f3d20f6340c0ce38 ?

Actions #1

Updated by pespin about 4 years ago

It seems srsepc is not happy with newer patchelf while srsue requires a newer patchelf... we may end up with 2 installed patchelf...

Actions #2

Updated by pespin about 4 years ago

since srsue does stuff with netns, we may need to be root anyway, so it may not be worth it.

Actions #3

Updated by laforge about 4 years ago

On Wed, Feb 05, 2020 at 06:29:17PM +0000, pespin [REDMINE] wrote:

It seems srsepc is not happy with newer patchelf while srsue requires a newer patchelf... we may end up with 2 installed patchelf...

Isn't this something that should be filed as upstream bug [and hopefully resolved upstream]?

Actions #4

Updated by pespin about 4 years ago

Confirmed: I'm currently using last released tarball for srspec and still must use old debian9 patchelf to hav eeverything working.
Indeed, I need to investigate and submit the bug appearing on new release to upstream (the old one is known and fixed in the new release).

While it's not fixed, we must build and install manually the new release and use it only for srsue (I already added code to osmo-gsm-tester to support that).

Actions #5

Updated by pespin about 4 years ago

I created an upstream bug here, since the issue is still present in current patchelf master:
https://github.com/NixOS/patchelf/issues/192

Actions #6

Updated by pespin about 4 years ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 90

We are meanwhile requiring a manually built patchelf-0.10 only used so far to patch srsue. It's add to ansible scripts here:
https://gerrit.osmocom.org/c/osmo-ci/+/17128

Most binaries (osmo-ggsn, rest of srs binaries) are patched with patchelf 0.9-1 coming with debian9. If at some point we move to debian10, then we need to build manually a patchelf 0.9 and use it at least for srsepc.

Actions #7

Updated by pespin almost 4 years ago

It seems the issue is already fixed in patchelf by https://github.com/NixOS/patchelf/pull/202

Release patchelf 0.11 was already released and it already contains this fix.

So to me the best is going to be requiring patchelf >= 0.11 in osmo-gsm-tester in setups where srsLTE binaries are used.

I'll give it a try soon.

Actions #8

Updated by pespin almost 4 years ago

Tested in our prod setup and 0.11 looks fine for both 2G and 4G binaries.

https://gerrit.osmocom.org/c/osmo-ci/+/19015 ansible/gsm-tester: Install patchelf 0.11 on PATH
https://gerrit.osmocom.org/c/osmo-gsm-tester/+/19016 Drop using patchelf out of PATH

Actions #9

Updated by pespin almost 4 years ago

  • Status changed from Feedback to Resolved
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)