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@.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
Bugs, which is subscribed to 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"

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to