I am using the same recording program to record the sound 24/7 in both odroidN2+ and odroidXU4. OdroidXU4 use arm71 architecture and odoridN2+ use aarch64 architecture. Therefore, before running the same program, I compiled main.c in those different device.
When I run the compiled C program in odroidXU4, there is no issue and it can run 24/7. But when I compiled the same program in odroidN2+ and run that compiled file in odroidN2+, the program can record only first 4 files which can record for 1 hours with no issue and at the 5th file, the program seems hang but does not show any error.
So when I use valgrind to debug the memory leak, I got this heap summary.
It mentioned that there are definitely lost in 3 blocks. I can do memory free for the first block since the malloc is inside the main function. But, I don't know where are the memory leak happening for the second and third blocks because I don't understand why it gives ??? in valgrind. Is it related to the library? I also tried upgrade both libportarudio and libasound2 in odroidN2+ and compiled again. But the issue does not solve. May I know how to solve this problem of program hang and where is the memory leak ???