The linux version is 4.19.90-2012.4.0.0053.oe1.aarch64.
I re-downloaded DynamoRIO-AArch64-Linux-11.2.0 and tested the original libmemtrace_simple.so with multi-thread program multiple times without encountering any issues.
However, once I modified lines 141-145 in memtrace_simple.c and added the additional %f parameter, the problem occurred.
The modified libmemtrace_simple.so can still successfully instrument single-threaded programs, but it has never worked for multi-threaded programs in many attempts.
What’s strange is that adding other parameters, such as "%d" or "%s", works fine.
In addition, when adding the %f parameter, unlike single-threaded programs, even setting the number of threads in the multi-threaded program to 1 still doesn’t allow it to run properly. I’m not sure if this is related to instrumentation with the <thread> library.
lines 141-145:
// fprintf(data->logf, "" PIFX ": %2d, %s\n", (ptr_uint_t)mem_ref->addr,
fprintf(data->logf, "" PIFX ": %2d, %s, %f\n", (ptr_uint_t)mem_ref->addr,