rr-debugger / rr-debugger/rr

Corrupted shared library list when reverse-continuing

Open
#3,005 5 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

I've got a replay that seems to work well. With continueto the end I see the expected result, when doing reverse-continue I get a long list of issues, continue again and I get the same correct output, reverse-continue and I get the same long list of issues, ...

(rr) c
Continuing.
AAAAA;BBBB

Breakpoint 1, my_pre_end
(rr) reverse-continue
Continuing.
warning: Corrupted shared library list: 0x1473bc0 != 0x14722f0
warning: Corrupted shared library list: 0x1473bc0 != 0x146cc20
warning: Corrupted shared library list: 0x14722f0 != 0x146b230
warning: Corrupted shared library list: 0x146cc20 != 0x1469840
warning: Corrupted shared library list: 0x146b230 != 0x1467e50
warning: Corrupted shared library list: 0x1469840 != 0x1466460
warning: Corrupted shared library list: 0x1467e50 != 0x1464a70
warning: Corrupted shared library list: 0x1466460 != 0x1463080
warning: Corrupted shared library list: 0x1464a70 != 0x1461690
warning: Corrupted shared library list: 0x1463080 != 0x145fca0
warning: Corrupted shared library list: 0x1461690 != 0x145e2b0
warning: Corrupted shared library list: 0x145fca0 != 0x145c8c0
warning: Corrupted shared library list: 0x145e2b0 != 0x145aed0
warning: Corrupted shared library list: 0x145c8c0 != 0x14594e0
warning: Corrupted shared library list: 0x145aed0 != 0x1457af0
warning: Corrupted shared library list: 0x14594e0 != 0x1456100
warning: Corrupted shared library list: 0x1457af0 != 0x1454710
warning: Corrupted shared library list: 0x1456100 != 0x1452d20
warning: Corrupted shared library list: 0x1454710 != 0x1451330
warning: Corrupted shared library list: 0x1452d20 != 0x144f940
warning: Corrupted shared library list: 0x1451330 != 0x144df50
warning: Corrupted shared library list: 0x144f940 != 0x144c560
warning: Corrupted shared library list: 0x144df50 != 0x144ab70
warning: Corrupted shared library list: 0x144c560 != 0x1449180
warning: Corrupted shared library list: 0x144ab70 != 0x1447790
warning: Corrupted shared library list: 0x1449180 != 0x1445da0
warning: Corrupted shared library list: 0x1447790 != 0x14443b0
warning: Corrupted shared library list: 0x1445da0 != 0x14429c0
warning: Corrupted shared library list: 0x14443b0 != 0x1440fd0
warning: Corrupted shared library list: 0x14429c0 != 0x143f5e0
warning: Corrupted shared library list: 0x1440fd0 != 0x143dbf0
warning: Corrupted shared library list: 0x143f5e0 != 0x143c200
warning: Corrupted shared library list: 0x143dbf0 != 0x143a810
warning: Corrupted shared library list: 0x143c200 != 0x1438e20
warning: Corrupted shared library list: 0x143a810 != 0x1437430
warning: Corrupted shared library list: 0x1438e20 != 0x1435a40
warning: Corrupted shared library list: 0x1437430 != 0x1434050
warning: Corrupted shared library list: 0x1435a40 != 0x1432660
warning: Corrupted shared library list: 0x1434050 != 0x1430c70
warning: Corrupted shared library list: 0x1432660 != 0x142f280
warning: Corrupted shared library list: 0x1430c70 != 0x142d890
warning: Corrupted shared library list: 0x142f280 != 0x142bea0
warning: Corrupted shared library list: 0x142d890 != 0x142a4b0
warning: Corrupted shared library list: 0x142bea0 != 0x1428ac0
warning: Corrupted shared library list: 0x142a4b0 != 0x14270d0
warning: Corrupted shared library list: 0x1428ac0 != 0x14256e0
warning: Corrupted shared library list: 0x14270d0 != 0x1423cf0
warning: Corrupted shared library list: 0x14256e0 != 0x1422300
warning: Corrupted shared library list: 0x1423cf0 != 0x1420910
warning: Corrupted shared library list: 0x1422300 != 0x141ef20
warning: Corrupted shared library list: 0x1420910 != 0x141d530
warning: Corrupted shared library list: 0x141ef20 != 0x141bb40
warning: Corrupted shared library list: 0x141d530 != 0x141a150
warning: Corrupted shared library list: 0x141bb40 != 0x1418760
warning: Corrupted shared library list: 0x141a150 != 0x1416d70
warning: Corrupted shared library list: 0x1418760 != 0x1415380
warning: Corrupted shared library list: 0x1416d70 != 0x14134d0
warning: Corrupted shared library list: 0x1415380 != 0x1411ae0
warning: Corrupted shared library list: 0x14134d0 != 0x14100f0
warning: Corrupted shared library list: 0x1411ae0 != 0x140e700
warning: Corrupted shared library list: 0x14100f0 != 0x140cd10
warning: Corrupted shared library list: 0x140e700 != 0x140b320
warning: Corrupted shared library list: 0x140cd10 != 0x1409930
warning: Corrupted shared library list: 0x140b320 != 0x1407f40
warning: Corrupted shared library list: 0x1409930 != 0x1406550
warning: Corrupted shared library list: 0x1407f40 != 0x1404b60
warning: Corrupted shared library list: 0x1406550 != 0x1403170
warning: Corrupted shared library list: 0x1404b60 != 0x1401780
warning: Corrupted shared library list: 0x1403170 != 0x13ffd90
warning: Corrupted shared library list: 0x1401780 != 0x13fe3a0
warning: Corrupted shared library list: 0x13ffd90 != 0x13fc9b0
warning: Corrupted shared library list: 0x13fe3a0 != 0x13fafc0
warning: Corrupted shared library list: 0x13fc9b0 != 0x13f95d0
warning: Corrupted shared library list: 0x13fafc0 != 0x13f7be0
warning: Corrupted shared library list: 0x13f95d0 != 0x13f61f0
warning: Corrupted shared library list: 0x13f7be0 != 0x13f4800
warning: Corrupted shared library list: 0x13f61f0 != 0x12ceaf0
warning: Corrupted shared library list: 0x13f4800 != 0x12ce290
warning: Corrupted shared library list: 0x12ceaf0 != 0x13f0a70
warning: Corrupted shared library list: 0x12ce290 != 0x13c57c0
warning: Corrupted shared library list: 0x13f0a70 != 0x13c5230
warning: Corrupted shared library list: 0x13c57c0 != 0x139e960
warning: Corrupted shared library list: 0x13c5230 != 0x1357a00
warning: Corrupted shared library list: 0x139e960 != 0x12cf2a0
warning: Corrupted shared library list: 0x1357a00 != 0x12cc980
warning: Corrupted shared library list: 0x12cf2a0 != 0x12cab30
warning: Corrupted shared library list: 0x12cc980 != 0x12c9230
warning: Corrupted shared library list: 0x12cab30 != 0x12c7770
warning: Corrupted shared library list: 0x12c9230 != 0x12c5f30
warning: Corrupted shared library list: 0x12c7770 != 0x12c4640
warning: Corrupted shared library list: 0x12c5f30 != 0x12bf6d0
warning: Corrupted shared library list: 0x12c4640 != 0x12bedb0
warning: Corrupted shared library list: 0x12bf6d0 != 0x12bd420
warning: Corrupted shared library list: 0x12bedb0 != 0x12bb0a0
warning: Corrupted shared library list: 0x12bd420 != 0x12ba9f0
warning: Corrupted shared library list: 0x12bb0a0 != 0x12b5f30
warning: Corrupted shared library list: 0x12ba9f0 != 0x12b4120
warning: Corrupted shared library list: 0x12b5f30 != 0x12b1910
warning: Corrupted shared library list: 0x12b4120 != 0x12ae3f0
warning: Corrupted shared library list: 0x12b1910 != 0x12a5ad0
warning: Corrupted shared library list: 0x12ae3f0 != 0x7f9bcdb01988

Program stopped.
0x00007f9bcd8d9080 in _start () from /lib64/ld-linux-x86-64.so.2
(rr) c
Continuing.
AAAAA;BBBB

Breakpoint 1, my_pre_end
(rr) reverse-continue
Continuing.
warning: Corrupted shared library list: 0x1473bc0 != 0x14722f0
warning: Corrupted shared library list: 0x1473bc0 != 0x146cc20
warning: Corrupted shared library list: 0x14722f0 != 0x146b230
warning: Corrupted shared library list: 0x146cc20 != 0x1469840
warning: Corrupted shared library list: 0x146b230 != 0x1467e50
warning: Corrupted shared library list: 0x1469840 != 0x1466460
warning: Corrupted shared library list: 0x1467e50 != 0x1464a70
warning: Corrupted shared library list: 0x1466460 != 0x1463080
warning: Corrupted shared library list: 0x1464a70 != 0x1461690
warning: Corrupted shared library list: 0x1463080 != 0x145fca0
warning: Corrupted shared library list: 0x1461690 != 0x145e2b0
warning: Corrupted shared library list: 0x145fca0 != 0x145c8c0
warning: Corrupted shared library list: 0x145e2b0 != 0x145aed0
warning: Corrupted shared library list: 0x145c8c0 != 0x14594e0
warning: Corrupted shared library list: 0x145aed0 != 0x1457af0
warning: Corrupted shared library list: 0x14594e0 != 0x1456100
warning: Corrupted shared library list: 0x1457af0 != 0x1454710
warning: Corrupted shared library list: 0x1456100 != 0x1452d20
warning: Corrupted shared library list: 0x1454710 != 0x1451330
warning: Corrupted shared library list: 0x1452d20 != 0x144f940
warning: Corrupted shared library list: 0x1451330 != 0x144df50
warning: Corrupted shared library list: 0x144f940 != 0x144c560
warning: Corrupted shared library list: 0x144df50 != 0x144ab70
warning: Corrupted shared library list: 0x144c560 != 0x1449180
warning: Corrupted shared library list: 0x144ab70 != 0x1447790
warning: Corrupted shared library list: 0x1449180 != 0x1445da0
warning: Corrupted shared library list: 0x1447790 != 0x14443b0
warning: Corrupted shared library list: 0x1445da0 != 0x14429c0
warning: Corrupted shared library list: 0x14443b0 != 0x1440fd0
warning: Corrupted shared library list: 0x14429c0 != 0x143f5e0
warning: Corrupted shared library list: 0x1440fd0 != 0x143dbf0
warning: Corrupted shared library list: 0x143f5e0 != 0x143c200
warning: Corrupted shared library list: 0x143dbf0 != 0x143a810
warning: Corrupted shared library list: 0x143c200 != 0x1438e20
warning: Corrupted shared library list: 0x143a810 != 0x1437430
warning: Corrupted shared library list: 0x1438e20 != 0x1435a40
warning: Corrupted shared library list: 0x1437430 != 0x1434050
warning: Corrupted shared library list: 0x1435a40 != 0x1432660
warning: Corrupted shared library list: 0x1434050 != 0x1430c70
warning: Corrupted shared library list: 0x1432660 != 0x142f280
warning: Corrupted shared library list: 0x1430c70 != 0x142d890
warning: Corrupted shared library list: 0x142f280 != 0x142bea0
warning: Corrupted shared library list: 0x142d890 != 0x142a4b0
warning: Corrupted shared library list: 0x142bea0 != 0x1428ac0
warning: Corrupted shared library list: 0x142a4b0 != 0x14270d0
warning: Corrupted shared library list: 0x1428ac0 != 0x14256e0
warning: Corrupted shared library list: 0x14270d0 != 0x1423cf0
warning: Corrupted shared library list: 0x14256e0 != 0x1422300
warning: Corrupted shared library list: 0x1423cf0 != 0x1420910
warning: Corrupted shared library list: 0x1422300 != 0x141ef20
warning: Corrupted shared library list: 0x1420910 != 0x141d530
warning: Corrupted shared library list: 0x141ef20 != 0x141bb40
warning: Corrupted shared library list: 0x141d530 != 0x141a150
warning: Corrupted shared library list: 0x141bb40 != 0x1418760
warning: Corrupted shared library list: 0x141a150 != 0x1416d70
warning: Corrupted shared library list: 0x1418760 != 0x1415380
warning: Corrupted shared library list: 0x1416d70 != 0x14134d0
warning: Corrupted shared library list: 0x1415380 != 0x1411ae0
warning: Corrupted shared library list: 0x14134d0 != 0x14100f0
warning: Corrupted shared library list: 0x1411ae0 != 0x140e700
warning: Corrupted shared library list: 0x14100f0 != 0x140cd10
warning: Corrupted shared library list: 0x140e700 != 0x140b320
warning: Corrupted shared library list: 0x140cd10 != 0x1409930
warning: Corrupted shared library list: 0x140b320 != 0x1407f40
warning: Corrupted shared library list: 0x1409930 != 0x1406550
warning: Corrupted shared library list: 0x1407f40 != 0x1404b60
warning: Corrupted shared library list: 0x1406550 != 0x1403170
warning: Corrupted shared library list: 0x1404b60 != 0x1401780
warning: Corrupted shared library list: 0x1403170 != 0x13ffd90
warning: Corrupted shared library list: 0x1401780 != 0x13fe3a0
warning: Corrupted shared library list: 0x13ffd90 != 0x13fc9b0
warning: Corrupted shared library list: 0x13fe3a0 != 0x13fafc0
warning: Corrupted shared library list: 0x13fc9b0 != 0x13f95d0
warning: Corrupted shared library list: 0x13fafc0 != 0x13f7be0
warning: Corrupted shared library list: 0x13f95d0 != 0x13f61f0
warning: Corrupted shared library list: 0x13f7be0 != 0x13f4800
warning: Corrupted shared library list: 0x13f61f0 != 0x12ceaf0
warning: Corrupted shared library list: 0x13f4800 != 0x12ce290
warning: Corrupted shared library list: 0x12ceaf0 != 0x13f0a70
warning: Corrupted shared library list: 0x12ce290 != 0x13c57c0
warning: Corrupted shared library list: 0x13f0a70 != 0x13c5230
warning: Corrupted shared library list: 0x13c57c0 != 0x139e960
warning: Corrupted shared library list: 0x13c5230 != 0x1357a00
warning: Corrupted shared library list: 0x139e960 != 0x12cf2a0
warning: Corrupted shared library list: 0x1357a00 != 0x12cc980
warning: Corrupted shared library list: 0x12cf2a0 != 0x12cab30
warning: Corrupted shared library list: 0x12cc980 != 0x12c9230
warning: Corrupted shared library list: 0x12cab30 != 0x12c7770
warning: Corrupted shared library list: 0x12c9230 != 0x12c5f30
warning: Corrupted shared library list: 0x12c7770 != 0x12c4640
warning: Corrupted shared library list: 0x12c5f30 != 0x12bf6d0
warning: Corrupted shared library list: 0x12c4640 != 0x12bedb0
warning: Corrupted shared library list: 0x12bf6d0 != 0x12bd420
warning: Corrupted shared library list: 0x12bedb0 != 0x12bb0a0
warning: Corrupted shared library list: 0x12bd420 != 0x12ba9f0
warning: Corrupted shared library list: 0x12bb0a0 != 0x12b5f30
warning: Corrupted shared library list: 0x12ba9f0 != 0x12b4120
warning: Corrupted shared library list: 0x12b5f30 != 0x12b1910
warning: Corrupted shared library list: 0x12b4120 != 0x12ae3f0
warning: Corrupted shared library list: 0x12b1910 != 0x12a5ad0
warning: Corrupted shared library list: 0x12ae3f0 != 0x7f9bcdb01988

Program stopped.
0x00007f9bcd8d9080 in _start () from /lib64/ld-linux-x86-64.so.2
(rr) c
Continuing.
AAAAA;BBBB

Breakpoint 1, my_pre_end
(rr)

I've found that the message comes from GDB, likely from gdbserver/linux-low.cc.

I assume that this has something to do with the dynamic loading of the shared libraries which is "undone" by rr and possibly needs to be "removed" from GDBs internal list before.

Can rr do something to make them vanish?

Is there something I can do to prevent these warning messages [in the meantime]?
Can the warnings be ignored or is this likely breaking the replay somehow?

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

No source file or test is named. Start by reproducing the supplied replay at breakpoint my_pre_end with continue and reverse-continue, then trace the shared-library-list handling involved in those commands. Done means the repeated reverse-continue sequence no longer emits the corrupted shared library list warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
devtools, operating-systems, reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.