[Bug 1917414] Re: Ceph-osd fails to start with "error while loading shared libraries: cannot make segment writable for relocation: Permission denied"

Yash 1917414 at bugs.launchpad.net
Mon Mar 8 05:28:30 UTC 2021


I was able to get past this issue.
In my case, the ceph-mon was invoked by systemctl service file. So, I had to change the below property under the "[Service]" node of file: /lib/systemd/system/ceph-mon at .service

- MemoryDenyWriteExecute=true
+ MemoryDenyWriteExecute=false

As per the system manpage[0]:

MemoryDenyWriteExecute=
Takes a boolean argument. If set, attempts to create memory mappings that are writable and executable at the same time, or to change existing memory mappings to become executable, or mapping shared memory segments as executable are prohibited. Specifically, a system call filter is added that rejects mmap(2) system calls with both PROT_EXEC and PROT_WRITE set, mprotect(2) or pkey_mprotect(2) system calls with PROT_EXEC set and shmat(2) system calls with SHM_EXEC set. Note that this option is incompatible with programs and libraries that generate program code dynamically at runtime, including JIT execution engines, executable stacks, and code "trampoline" feature of various C compilers.


This particular property was preventing the ceph-mon executable to run due to the above prohibitions.
After making the above change, I had to run 
$ systemctl daemon-reload
And then restarting the service worked for me!

[0]: https://www.freedesktop.org/software/systemd/man/systemd.exec.html

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ceph in Ubuntu.
https://bugs.launchpad.net/bugs/1917414

Title:
  Ceph-osd fails to start with "error while loading shared libraries:
  cannot make segment writable for relocation: Permission denied"

Status in ceph package in Ubuntu:
  Confirmed

Bug description:
  OSD's fail to start with "error while loading shared libraries: cannot
  make segment writable for relocation: Permission denied"

  The specific library is libec_isa.so

  And it appears to be while the OSD is starting the Jerasure modules.

  I'm going to assume its not compiled with no-PIC which might be a
  hold-over from previous releases?

  Hardware is Rasberry PI 4 4GB
  Ubuntu is 20.04 LTS downloaded on the 1/3/2021 (Or for US date format 3/1/2021)

  Package version is: 15.2.8-0ubuntu0.20.04.1

  Bug reporter wouldn't let me select
  https://launchpad.net/ubuntu/focal/arm64/ceph-
  osd/15.2.8-0ubuntu0.20.04.1 as the package

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1917414/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list