rr-debugger / rr-debugger/rr

Failed to locate librrpage.so

Open
#2,807 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.7k
Forks
662
Avg merge
2d 3h
Merged PRs (30d)
2

Description

Hello,

When building rr on RedHat 7.5 using:

sudo yum install -y capnproto capnproto-libs capnproto-devel python36-pexpect pexpect
git clone https://github.com/rr-debugger/rr
mkdir rr-build
cd rr-build
cmake3 ../rr -DPYTHON_EXECUTABLE=$(which python36)
make -j8 all
sudo make install

It doesn't copy the resource directory.

I have to fix it with:

sudo cp -ar ./lib/rr "$(dirname $(dirname $(which rr)))/lib/"
sudo chown -R root:root "$(dirname $(dirname $(which rr)))/lib/rr"
sudo chmod 755 -R "$(dirname $(dirname $(which rr)))/lib/rr"

Is this intended? (make install not copying the resource path)

The relevant error:

$ rr record ls
rr: Saving execution to trace directory `/home/prl/.local/share/rr/ls-5'.
[FATAL /opt/debug/rr/src/AddressSpace.cc:305:map_rr_page() errno: ENOENT] Failed to locate librrpage.so
=== Start rr backtrace:
rr(_ZN2rr13dump_rr_stackEv+0x33)[0x8c3457]
rr(_ZN2rr15notifying_abortEv+0x51)[0x8c341f]
rr(_ZN2rr12FatalOstreamD1Ev+0x28)[0x755034]
rr(_ZN2rr12AddressSpace11map_rr_pageERNS_18AutoRemoteSyscallsE+0x113)[0x69983d]
rr(_ZN2rr12AddressSpace17post_exec_syscallEPNS_4TaskE+0x101)[0x69ae51]
rr(_ZN2rr4Task17post_exec_syscallEv+0x5f)[0x888d61]
rr[0x7ab176]
rr[0x7c4492]
rr[0x7afc1b]
rr(_ZN2rr19rec_process_syscallEPNS_10RecordTaskE+0xd2)[0x7afd5d]
rr(_ZN2rr13RecordSession21syscall_state_changedEPNS_10RecordTaskEPNS0_9StepStateE+0xc96)[0x792852]
rr(_ZN2rr13RecordSession11record_stepEv+0x3e7)[0x797ab1]
rr[0x78b677]
rr(_ZN2rr13RecordCommand3runERSt6vectorISsSaISsEE+0x37d)[0x78c147]
rr(main+0x1fd)[0x8dde5e]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f523052b3d5]
rr[0x698165]
=== End rr backtrace
Aborted (core dumped)

After applying my commands (or using --resouce-path=/opt/debug/rr-build/) it works:

$ rr record ls /
rr: Saving execution to trace directory `/home/prl/.local/share/rr/ls-8'.
bin   dev  home  lib64	misc  net  proc  run   srv  tmp  var
boot  etc  lib	 media	mnt   opt  root  sbin  sys  usr

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the RedHat 7.5 build with the shown CMake and make install commands, then inspect the install step and the lib/rr resource directory. Verify completion by running rr record ls without manually copying files or passing --resource-path.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.