Crash when recording clock_gettime

Benjamin King benjaminking at web.de
Tue Aug 29 09:45:45 UTC 2017


On Tue, Aug 29, 2017 at 11:28:30AM +0200, Benjamin King wrote:
>On Tue, Aug 29, 2017 at 08:33:14PM +1200, Robert O'Callahan wrote:
>>My best guess right now is that the addr_to_offset call is failing for
>>__vdso_clock_gettime. If so, the logging should show it; then you could run rr
>>under gdb and get a better idea of what happens in addr_to_offset.
>
>Ok, with the added logging, a problem is reported for 0x8c0:
>----
>rr: Saving execution to trace directory `/home/bki/.local/share/rr/a.out-35'.
>[Monkeypatcher] Can't convert address 0x8c0 to offset
>[Monkeypatcher] monkeypatched __vdso_gettimeofday to syscall 96 at 0x7ffff79b0c30 (0xc30)
>[Monkeypatcher] monkeypatched __vdso_time to syscall 201 at 0x7ffff79b0e10 (0xe10)
>[Monkeypatcher] monkeypatched __vdso_getcpu to syscall 309 at 0x7ffff79b0e30 (0xe30)
>[Monkeypatcher] Patched syscall at 0x7ffff79b0c37 syscall gettimeofday tid 4481 bytes 0x90 0x90 0x90 0xc3 0 0
>Segmentation fault
>----
>
>I'll try to find out what's going on there.

In line 258 of Elfreader.cc, the function address is rejected if it is at the
very start of a section. I sent you a PR which fixes the issue for me.

Thanks a lot for walking me through this.

Cheers,
  Benjamin


More information about the rr-dev mailing list