Skip to content
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

Panic when trying to profile: tried to replace a symbol with itself: symbol='_rjem_malloc' #112

Open
Ilmarii opened this issue Apr 17, 2023 · 0 comments

Comments

@Ilmarii
Copy link

Ilmarii commented Apr 17, 2023

Hi!
I'm trying to profile vector(https://github.com/vectordotdev/vector), and after starting libbytehound.so immediately panics.

ERR panic triggered at preload/src/global.rs:518: tried to replace a symbol with itself: symbol='_rjem_malloc', address=0x000055F74D0B6C10

Full log:

Click to expand
> RUST_BACKTRACE=1 LD_PRELOAD=/home/user/bin/libbytehound.so vector
bytehound: 33cd 33cd INF Version: 0.11.0
bytehound: 33cd 33cd INF Options:
bytehound: 33cd 33cd INF     MEMORY_PROFILER_BASE_SERVER_PORT         = 8100
bytehound: 33cd 33cd INF     MEMORY_PROFILER_CHOWN_OUTPUT_TO          = None
bytehound: 33cd 33cd INF     MEMORY_PROFILER_DISABLE_BY_DEFAULT       = false
bytehound: 33cd 33cd INF     MEMORY_PROFILER_ENABLE_BROADCAST         = false
bytehound: 33cd 33cd INF     MEMORY_PROFILER_ENABLE_SERVER            = false
bytehound: 33cd 33cd INF     MEMORY_PROFILER_GRAB_BACKTRACES_ON_FREE  = true
bytehound: 33cd 33cd INF     MEMORY_PROFILER_INCLUDE_FILE             = None
bytehound: 33cd 33cd INF     MEMORY_PROFILER_OUTPUT                   = memory-profiling_%e_%t_%p.dat
bytehound: 33cd 33cd INF     MEMORY_PROFILER_REGISTER_SIGUSR1         = true
bytehound: 33cd 33cd INF     MEMORY_PROFILER_REGISTER_SIGUSR2         = true
bytehound: 33cd 33cd INF     MEMORY_PROFILER_USE_PERF_EVENT_OPEN      = true
bytehound: 33cd 33cd INF     MEMORY_PROFILER_USE_SHADOW_STACK         = true
bytehound: 33cd 33cd INF     MEMORY_PROFILER_WRITE_BINARIES_TO_OUTPUT = true
bytehound: 33cd 33cd INF     MEMORY_PROFILER_ZERO_MEMORY              = false
bytehound: 33cd 33cd INF     MEMORY_PROFILER_GATHER_MAPS              = true
bytehound: 33cd 33cd INF     MEMORY_PROFILER_BACKTRACE_CACHE_SIZE_LEVEL_1 = 16384
bytehound: 33cd 33cd INF     MEMORY_PROFILER_BACKTRACE_CACHE_SIZE_LEVEL_2 = 327680
bytehound: 33cd 33cd INF     MEMORY_PROFILER_CULL_TEMPORARY_ALLOCATIONS = false
bytehound: 33cd 33cd INF     MEMORY_PROFILER_TEMPORARY_ALLOCATION_LIFETIME_THRESHOLD = 10000
bytehound: 33cd 33cd INF     MEMORY_PROFILER_TEMPORARY_ALLOCATION_PENDING_THRESHOLD = None
bytehound: 33cd 33cd INF     MEMORY_PROFILER_TRACK_CHILD_PROCESSES    = false
bytehound: 33cd 33cd INF     MEMORY_PROFILER_DISABLE_PR_SET_VMA_ANON_NAME = false
bytehound: 33cd 33cd INF Tracing will be toggled ON (for the first time)
bytehound: 33cd 33cd INF Found 'malloc' at: 0x000055F749500000
bytehound: 33cd 33cd INF Found 'free' at: 0x000055F749500000
bytehound: 33cd 33cd INF Found 'calloc' at: 0x000055F749500000
bytehound: 33cd 33cd INF Found 'realloc' at: 0x000055F749500000
bytehound: 33cd 33cd INF Found '_rjem_aligned_alloc' at: 0x000055F74D0B7250
bytehound: 33cd 33cd INF Found '_rjem_rallocx' at: 0x000055F74D0B9DD0
bytehound: 33cd 33cd INF Found '_rjem_xallocx' at: 0x000055F74D0BAC60
bytehound: 33cd 33cd INF Found '_rjem_dallocx' at: 0x000055F74D0BB300
bytehound: 33cd 33cd INF Found '_rjem_mallctl' at: 0x000055F74D0BC210
bytehound: 33cd 33cd INF Found '_rjem_malloc_usable_size' at: 0x000055F74D0BC640
bytehound: 33cd 33cd INF Found '_rjem_mallctlnametomib' at: 0x000055F74D0BC2D0
bytehound: 33cd 33cd INF Found '_rjem_mallocx' at: 0x000055F74D0B8F60
bytehound: 33cd 33cd INF Found '_rjem_malloc_stats_print' at: 0x000055F74D0BC430
bytehound: 33cd 33cd INF Found '_rjem_memalign' at: 0x000055F74D0B85E0
bytehound: 33cd 33cd INF Found '_rjem_valloc' at: 0x000055F74D0B8AF0
bytehound: 33cd 33cd INF Found '_rjem_sdallocx' at: 0x000055F74D0BBF00
bytehound: 33cd 33cd INF Found '_rjem_calloc' at: 0x000055F74D0B77C0
bytehound: 33cd 33cd INF Found '_rjem_posix_memalign' at: 0x000055F74D0B6CD0
bytehound: 33cd 33cd INF Found '_rjem_sallocx' at: 0x000055F74D0BB180
bytehound: 33cd 33cd INF Found '_rjem_free' at: 0x000055F74D0B8520
bytehound: 33cd 33cd INF Found '_rjem_mallctlbymib' at: 0x000055F74D0BC360
bytehound: 33cd 33cd INF Found '_rjem_malloc' at: 0x000055F74D0B6C10
bytehound: 33cd 33cd INF Found '_rjem_nallocx' at: 0x000055F74D0BBFA0
bytehound: 33cd 33cd INF Found '_rjem_realloc' at: 0x000055F74D0B9DE0
bytehound: 33cd 33cd INF Attaching unprefixed jemalloc hooks...
bytehound: 33cd 33cd ERR panic triggered at preload/src/global.rs:518: tried to replace a symbol with itself: symbol='_rjem_malloc', address=0x000055F74D0B6C10
thread '<unnamed>' panicked at 'explicit panic', preload/src/macros.rs:16:5
stack backtrace:
   0: std::panicking::begin_panic
             at /rustc/c0983a9aac889d16722a12602ac678051e62c3fb/library/std/src/panicking.rs:607:12
   1: bytehound::macros::fatal_error
             at /home/user/Projects/bytehound/preload/src/macros.rs:16:5
   2: bytehound::global::hook_symbols
   3: bytehound::global::hook_jemalloc
             at /home/user/Projects/bytehound/preload/src/global.rs:499:9
   4: bytehound::global::initialize_stage_1
             at /home/user/Projects/bytehound/preload/src/global.rs:622:5
   5: bytehound::global::try_enable
             at /home/user/Projects/bytehound/preload/src/global.rs:693:13
   6: bytehound::global::StrongThreadHandle::acquire
             at /home/user/Projects/bytehound/preload/src/api.rs:294:5
   7: bytehound::api::allocate
             at /home/user/Projects/bytehound/preload/src/api.rs:216:22
   8: malloc
             at /home/user/Projects/bytehound/preload/src/api.rs:294:5
   9: <unknown>
  10: call_init
             at ./elf/./elf/dl-init.c:70:3
  11: call_init
             at ./elf/./elf/dl-init.c:33:6
  12: _dl_init
             at ./elf/./elf/dl-init.c:117:5
  13: <unknown>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fish: Job 1, 'RUST_BACKTRACE=1 LD_PRELOAD=/ho…' terminated by signal SIGABRT (Abort)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant