facebookexperimental / object-introspection

Object Introspection (OI) enables on-demand, hierarchical profiling of objects in arbitrary C/C++ programs with no recompilation.
Apache License 2.0
164 stars 14 forks source link

Revert "jitlog: use a memfd and glog" #416

Closed tyroguru closed 11 months ago

tyroguru commented 11 months ago

Reverts facebookexperimental/object-introspection#366

We are failing with memfd_create returning EFAULT. This looks to be because the pointer that is passed as the uname parameter in the remote syscall is invalid. We see this kind of failure:

E1120 10:19:02.390123 99432 OIDebugger.cpp:1717] syscall: Syscall memfd_create failed with error: Bad address
E1120 10:19:02.390393 99432 OIDebugger.cpp:206] Failed to create memory log file
E1120 10:19:02.390416 99432 OIDebugger.cpp:279] setUpLogFile failed!!!
E1120 10:19:02.390434 99432 OID.cpp:397] Failed to initialise segments in target process with PID 99326

bpftrace verifies that the memfd_create() is being passed an invalid string.