-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redirect replayed output to stdout/stderr by default #3
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
andreasgal
added a commit
that referenced
this pull request
May 8, 2013
Redirect replayed output to stdout/stderr by default
Closed
Closed
This was referenced Oct 13, 2016
ghost
mentioned this pull request
Jan 7, 2019
bernhardu
added a commit
to bernhardu/rr
that referenced
this pull request
Jun 7, 2021
Visible in `rr record simple` with asan enabled rr build. ==647542==ERROR: LeakSanitizer: detected memory leaks Direct leak of 19 byte(s) in 1 object(s) allocated from: #0 0x7fe6e70187a7 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:102 rr-debugger#1 0x55a421ec5ca1 in simple_to_lower /home/bernhard/data/entwicklung/2021/rr/2021-04-25/rr/src/log.cc:62 rr-debugger#2 0x55a421ec6f3b in get_log_level /home/bernhard/data/entwicklung/2021/rr/2021-04-25/rr/src/log.cc:191 rr-debugger#3 0x55a421ec7766 in get_log_module /home/bernhard/data/entwicklung/2021/rr/2021-04-25/rr/src/log.cc:224 ...
bernhardu
added a commit
to bernhardu/rr
that referenced
this pull request
Jun 23, 2021
These two tests are stuck: nested_detach-no-syscallbuf nested_detach-32-no-syscallbuf For some reason just the no-syscallbuf variants get stuck, the regular ones succeed. $ bin/rr record -n bin/rr record --nested=detach bin/simple PID 1305400 uses 100% CPU, until timeout kills all. 1305387 └─ bin/rr record -n bin/rr record --nested=detach bin/simple 12 1305399 ├─ bin/rr record --nested=detach bin/simple 1 1305400 └─ bin/rr record --nested=detach bin/simple 1 $ gdb -q --pid 1305400 (gdb) add-symbol-file /usr/lib/x86_64-linux-gnu/libasan.so.6.0.0 0x7f818ad37a60 (gdb) add-symbol-file .../x86_64_asan/obj/bin/rr 0x564caa04e830 (gdb) add-symbol-file .../x86_64_asan/obj/lib/rr/librrpreload.so 0x7f818ad030d0 (gdb) stepi 0x00007f818ad50339 4150 int res = REAL(pthread_mutex_lock)(m); 1: x/i $pc => 0x7f818ad50339 <__interceptor_pthread_mutex_lock(void*)+25>: jmp *0xf4311(%rip) # 0x7f818ae44650 (gdb) bt #0 0x00007f818ad50339 in __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4150 rr-debugger#1 __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4146 rr-debugger#2 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#3 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 rr-debugger#4 0x0000564caa2b9ed2 in rr::RecordSession::RecordSession (this=0x619000003280, exe_path=..., argv=..., envp=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30, bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false) at .../rr/src/RecordSession.cc:2296 rr-debugger#5 0x0000564caa2b92ea in rr::RecordSession::create (argv=..., extra_env=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30 '\036', bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false, force_asan_active=false) at .../rr/src/RecordSession.cc:2261 rr-debugger#6 0x0000564caa29cd01 in rr::record (args=..., flags=...) at .../rr/src/RecordCommand.cc:632 rr-debugger#7 0x0000564caa29e90f in rr::RecordCommand::run (this=0x564caa956fe0, args=...) at .../rr/src/RecordCommand.cc:791 rr-debugger#8 0x0000564caa614909 in main (argc=4, argv=0x7ffd2a91dbe8) at .../rr/src/main.cc:271 ... (gdb) stepi pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 24 mutex->__data.__kind &= ~PTHREAD_MUTEX_PRIO_INHERIT_NP; 1: x/i $pc => 0x7f818ad08660 <pthread_mutex_lock>: mov 0x4ba9(%rip),%rax # 0x7f818ad0d210 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) stepi 74 return __pthread_mutex_lock(mutex); 1: x/i $pc => 0x7f818ad08678 <pthread_mutex_lock+24>: jmp 0x7f818ad03070 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:74 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) print environ $1 = (char **) 0x0 $ cat /proc/1305400/environ | tr '\0' '\n' | grep LD_PRELOAD LD_PRELOAD=libasan.so.6:.../x86_64_asan/obj/bin/../lib/rr/librrpreload.so:::
bernhardu
added a commit
to bernhardu/rr
that referenced
this pull request
Jun 24, 2021
These two tests are stuck: nested_detach-no-syscallbuf nested_detach-32-no-syscallbuf For some reason just the no-syscallbuf variants get stuck, the regular ones succeed. $ bin/rr record -n bin/rr record --nested=detach bin/simple PID 1305400 uses 100% CPU, until timeout kills all. 1305387 └─ bin/rr record -n bin/rr record --nested=detach bin/simple 12 1305399 ├─ bin/rr record --nested=detach bin/simple 1 1305400 └─ bin/rr record --nested=detach bin/simple 1 $ gdb -q --pid 1305400 (gdb) add-symbol-file /usr/lib/x86_64-linux-gnu/libasan.so.6.0.0 0x7f818ad37a60 (gdb) add-symbol-file .../x86_64_asan/obj/bin/rr 0x564caa04e830 (gdb) add-symbol-file .../x86_64_asan/obj/lib/rr/librrpreload.so 0x7f818ad030d0 (gdb) stepi 0x00007f818ad50339 4150 int res = REAL(pthread_mutex_lock)(m); 1: x/i $pc => 0x7f818ad50339 <__interceptor_pthread_mutex_lock(void*)+25>: jmp *0xf4311(%rip) # 0x7f818ae44650 (gdb) bt #0 0x00007f818ad50339 in __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4150 rr-debugger#1 __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4146 rr-debugger#2 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#3 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 rr-debugger#4 0x0000564caa2b9ed2 in rr::RecordSession::RecordSession (this=0x619000003280, exe_path=..., argv=..., envp=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30, bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false) at .../rr/src/RecordSession.cc:2296 rr-debugger#5 0x0000564caa2b92ea in rr::RecordSession::create (argv=..., extra_env=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30 '\036', bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false, force_asan_active=false) at .../rr/src/RecordSession.cc:2261 rr-debugger#6 0x0000564caa29cd01 in rr::record (args=..., flags=...) at .../rr/src/RecordCommand.cc:632 rr-debugger#7 0x0000564caa29e90f in rr::RecordCommand::run (this=0x564caa956fe0, args=...) at .../rr/src/RecordCommand.cc:791 rr-debugger#8 0x0000564caa614909 in main (argc=4, argv=0x7ffd2a91dbe8) at .../rr/src/main.cc:271 ... (gdb) stepi pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 24 mutex->__data.__kind &= ~PTHREAD_MUTEX_PRIO_INHERIT_NP; 1: x/i $pc => 0x7f818ad08660 <pthread_mutex_lock>: mov 0x4ba9(%rip),%rax # 0x7f818ad0d210 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) stepi 74 return __pthread_mutex_lock(mutex); 1: x/i $pc => 0x7f818ad08678 <pthread_mutex_lock+24>: jmp 0x7f818ad03070 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:74 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) print environ $1 = (char **) 0x0 $ cat /proc/1305400/environ | tr '\0' '\n' | grep LD_PRELOAD LD_PRELOAD=libasan.so.6:.../x86_64_asan/obj/bin/../lib/rr/librrpreload.so:::
bernhardu
added a commit
to bernhardu/rr
that referenced
this pull request
Jun 25, 2021
These two tests are stuck: nested_detach-no-syscallbuf nested_detach-32-no-syscallbuf For some reason just the no-syscallbuf variants get stuck, the regular ones succeed. $ bin/rr record -n bin/rr record --nested=detach bin/simple PID 1305400 uses 100% CPU, until timeout kills all. 1305387 └─ bin/rr record -n bin/rr record --nested=detach bin/simple 12 1305399 ├─ bin/rr record --nested=detach bin/simple 1 1305400 └─ bin/rr record --nested=detach bin/simple 1 $ gdb -q --pid 1305400 (gdb) add-symbol-file /usr/lib/x86_64-linux-gnu/libasan.so.6.0.0 0x7f818ad37a60 (gdb) add-symbol-file .../x86_64_asan/obj/bin/rr 0x564caa04e830 (gdb) add-symbol-file .../x86_64_asan/obj/lib/rr/librrpreload.so 0x7f818ad030d0 (gdb) stepi 0x00007f818ad50339 4150 int res = REAL(pthread_mutex_lock)(m); 1: x/i $pc => 0x7f818ad50339 <__interceptor_pthread_mutex_lock(void*)+25>: jmp *0xf4311(%rip) # 0x7f818ae44650 (gdb) bt #0 0x00007f818ad50339 in __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4150 rr-debugger#1 __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4146 rr-debugger#2 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#3 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 rr-debugger#4 0x0000564caa2b9ed2 in rr::RecordSession::RecordSession (this=0x619000003280, exe_path=..., argv=..., envp=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30, bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false) at .../rr/src/RecordSession.cc:2296 rr-debugger#5 0x0000564caa2b92ea in rr::RecordSession::create (argv=..., extra_env=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30 '\036', bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false, force_asan_active=false) at .../rr/src/RecordSession.cc:2261 rr-debugger#6 0x0000564caa29cd01 in rr::record (args=..., flags=...) at .../rr/src/RecordCommand.cc:632 rr-debugger#7 0x0000564caa29e90f in rr::RecordCommand::run (this=0x564caa956fe0, args=...) at .../rr/src/RecordCommand.cc:791 rr-debugger#8 0x0000564caa614909 in main (argc=4, argv=0x7ffd2a91dbe8) at .../rr/src/main.cc:271 ... (gdb) stepi pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 24 mutex->__data.__kind &= ~PTHREAD_MUTEX_PRIO_INHERIT_NP; 1: x/i $pc => 0x7f818ad08660 <pthread_mutex_lock>: mov 0x4ba9(%rip),%rax # 0x7f818ad0d210 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) stepi 74 return __pthread_mutex_lock(mutex); 1: x/i $pc => 0x7f818ad08678 <pthread_mutex_lock+24>: jmp 0x7f818ad03070 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:74 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) print environ $1 = (char **) 0x0 $ cat /proc/1305400/environ | tr '\0' '\n' | grep LD_PRELOAD LD_PRELOAD=libasan.so.6:.../x86_64_asan/obj/bin/../lib/rr/librrpreload.so:::
bernhardu
added a commit
to bernhardu/rr
that referenced
this pull request
Jun 25, 2021
These two tests are stuck: nested_detach-no-syscallbuf nested_detach-32-no-syscallbuf For some reason just the no-syscallbuf variants get stuck, the regular ones succeed. $ bin/rr record -n bin/rr record --nested=detach bin/simple PID 1305400 uses 100% CPU, until timeout kills all. 1305387 └─ bin/rr record -n bin/rr record --nested=detach bin/simple 12 1305399 ├─ bin/rr record --nested=detach bin/simple 1 1305400 └─ bin/rr record --nested=detach bin/simple 1 $ gdb -q --pid 1305400 (gdb) add-symbol-file /usr/lib/x86_64-linux-gnu/libasan.so.6.0.0 0x7f818ad37a60 (gdb) add-symbol-file .../x86_64_asan/obj/bin/rr 0x564caa04e830 (gdb) add-symbol-file .../x86_64_asan/obj/lib/rr/librrpreload.so 0x7f818ad030d0 (gdb) stepi 0x00007f818ad50339 4150 int res = REAL(pthread_mutex_lock)(m); 1: x/i $pc => 0x7f818ad50339 <__interceptor_pthread_mutex_lock(void*)+25>: jmp *0xf4311(%rip) # 0x7f818ae44650 (gdb) bt #0 0x00007f818ad50339 in __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4150 rr-debugger#1 __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4146 rr-debugger#2 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#3 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 rr-debugger#4 0x0000564caa2b9ed2 in rr::RecordSession::RecordSession (this=0x619000003280, exe_path=..., argv=..., envp=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30, bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false) at .../rr/src/RecordSession.cc:2296 rr-debugger#5 0x0000564caa2b92ea in rr::RecordSession::create (argv=..., extra_env=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30 '\036', bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false, force_asan_active=false) at .../rr/src/RecordSession.cc:2261 rr-debugger#6 0x0000564caa29cd01 in rr::record (args=..., flags=...) at .../rr/src/RecordCommand.cc:632 rr-debugger#7 0x0000564caa29e90f in rr::RecordCommand::run (this=0x564caa956fe0, args=...) at .../rr/src/RecordCommand.cc:791 rr-debugger#8 0x0000564caa614909 in main (argc=4, argv=0x7ffd2a91dbe8) at .../rr/src/main.cc:271 ... (gdb) stepi pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 24 mutex->__data.__kind &= ~PTHREAD_MUTEX_PRIO_INHERIT_NP; 1: x/i $pc => 0x7f818ad08660 <pthread_mutex_lock>: mov 0x4ba9(%rip),%rax # 0x7f818ad0d210 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) stepi 74 return __pthread_mutex_lock(mutex); 1: x/i $pc => 0x7f818ad08678 <pthread_mutex_lock+24>: jmp 0x7f818ad03070 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:74 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) print environ $1 = (char **) 0x0 $ cat /proc/1305400/environ | tr '\0' '\n' | grep LD_PRELOAD LD_PRELOAD=libasan.so.6:.../x86_64_asan/obj/bin/../lib/rr/librrpreload.so:::
bernhardu
added a commit
to bernhardu/rr
that referenced
this pull request
Jul 5, 2021
These two tests are stuck: nested_detach-no-syscallbuf nested_detach-32-no-syscallbuf For some reason just the no-syscallbuf variants get stuck, the regular ones succeed. $ bin/rr record -n bin/rr record --nested=detach bin/simple PID 1305400 uses 100% CPU, until timeout kills all. 1305387 └─ bin/rr record -n bin/rr record --nested=detach bin/simple 12 1305399 ├─ bin/rr record --nested=detach bin/simple 1 1305400 └─ bin/rr record --nested=detach bin/simple 1 $ gdb -q --pid 1305400 (gdb) add-symbol-file /usr/lib/x86_64-linux-gnu/libasan.so.6.0.0 0x7f818ad37a60 (gdb) add-symbol-file .../x86_64_asan/obj/bin/rr 0x564caa04e830 (gdb) add-symbol-file .../x86_64_asan/obj/lib/rr/librrpreload.so 0x7f818ad030d0 (gdb) stepi 0x00007f818ad50339 4150 int res = REAL(pthread_mutex_lock)(m); 1: x/i $pc => 0x7f818ad50339 <__interceptor_pthread_mutex_lock(void*)+25>: jmp *0xf4311(%rip) # 0x7f818ae44650 (gdb) bt #0 0x00007f818ad50339 in __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4150 rr-debugger#1 __interceptor_pthread_mutex_lock (m=<optimized out>) at ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4146 rr-debugger#2 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#3 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 rr-debugger#4 0x0000564caa2b9ed2 in rr::RecordSession::RecordSession (this=0x619000003280, exe_path=..., argv=..., envp=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30, bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false) at .../rr/src/RecordSession.cc:2296 rr-debugger#5 0x0000564caa2b92ea in rr::RecordSession::create (argv=..., extra_env=..., disable_cpuid_features=..., syscallbuf=rr::RecordSession::ENABLE_SYSCALL_BUF, syscallbuf_desched_sig=30 '\036', bind_cpu=rr::BIND_CPU, output_trace_dir=..., trace_id=0x0, use_audit=false, unmap_vdso=false, force_asan_active=false) at .../rr/src/RecordSession.cc:2261 rr-debugger#6 0x0000564caa29cd01 in rr::record (args=..., flags=...) at .../rr/src/RecordCommand.cc:632 rr-debugger#7 0x0000564caa29e90f in rr::RecordCommand::run (this=0x564caa956fe0, args=...) at .../rr/src/RecordCommand.cc:791 rr-debugger#8 0x0000564caa614909 in main (argc=4, argv=0x7ffd2a91dbe8) at .../rr/src/main.cc:271 ... (gdb) stepi pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 24 mutex->__data.__kind &= ~PTHREAD_MUTEX_PRIO_INHERIT_NP; 1: x/i $pc => 0x7f818ad08660 <pthread_mutex_lock>: mov 0x4ba9(%rip),%rax # 0x7f818ad0d210 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:24 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) stepi 74 return __pthread_mutex_lock(mutex); 1: x/i $pc => 0x7f818ad08678 <pthread_mutex_lock+24>: jmp 0x7f818ad03070 (gdb) bt #0 pthread_mutex_lock (mutex=0x6110000002c8) at .../rr/src/preload/overrides.c:74 rr-debugger#1 0x0000564caa0e2ddc in rr::CompressedWriter::CompressedWriter (this=0x6110000002c0, filename=..., block_size=1048576, num_threads=1) at .../rr/src/CompressedWriter.cc:62 rr-debugger#2 0x0000564caa5a9453 in rr::TraceWriter::TraceWriter (this=0x619000003380, file_name=..., output_trace_dir=..., ticks_semantics_=rr::TICKS_RETIRED_CONDITIONAL_BRANCHES) at .../rr/src/TraceStream.cc:1307 ... (gdb) print environ $1 = (char **) 0x0 $ cat /proc/1305400/environ | tr '\0' '\n' | grep LD_PRELOAD LD_PRELOAD=libasan.so.6:.../x86_64_asan/obj/bin/../lib/rr/librrpreload.so:::
bernhardu
added a commit
to bernhardu/rr
that referenced
this pull request
Apr 7, 2023
…aks=0. ==2156196==Running thread 2156188 was not suspended. False leaks are possible. ================================================================= ==2156193==ERROR: LeakSanitizer: detected memory leaks Direct leak of 10525163 byte(s) in 11 object(s) allocated from: #0 0x7f41d28b94c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95 rr-debugger#1 0x55c53c6587a4 in std::__new_allocator<unsigned char>::allocate(unsigned long, void const*) /usr/include/c++/12/bits/new_allocator.h:137 rr-debugger#2 0x55c53c6587a4 in std::allocator_traits<std::allocator<unsigned char> >::allocate(std::allocator<unsigned char>&, unsigned long) /usr/include/c++/12/bits/alloc_traits.h:464 rr-debugger#3 0x55c53c6587a4 in std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_allocate(unsigned long) /usr/include/c++/12/bits/stl_vector.h:378 rr-debugger#4 0x55c53c6587a4 in std::vector<unsigned char, std::allocator<unsigned char> >::_M_default_append(unsigned long) /usr/include/c++/12/bits/vector.tcc:650 rr-debugger#5 0x55c53c69370b in std::vector<unsigned char, std::allocator<unsigned char> >::resize(unsigned long) /usr/include/c++/12/bits/stl_vector.h:1011 rr-debugger#6 0x55c53c69370b in rr::CompressedWriter::compression_thread() /home/bernhard/data/entwicklung/2023/rr/2022-09-11/rr/src/CompressedWriter.cc:162 rr-debugger#7 0x55c53c693908 in rr::CompressedWriter::compression_thread_callback(void*) /home/bernhard/data/entwicklung/2023/rr/2022-09-11/rr/src/CompressedWriter.cc:29 rr-debugger#8 0x7f41d22a7fd3 in start_thread nptl/pthread_create.c:442 SUMMARY: AddressSanitizer: 10525163 byte(s) leaked in 11 allocation(s).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch flips the --redirect_output option on by default, and changes the runtime flag to --no_redirect_output.
The current behavior caught me by surprise. I think it's possible in theory for redirecting to affect the integrity of the replay, but IMHO the slim odds of that arising are outweighed by the unexpectedness of the current behavior. Or from another perspective, folks who are doing things that crazy should know how to disable redirecting. Let me know if you disagree! :)