From: Stefano A. <san...@al...> - 2022-03-01 07:09:24
|
On Mon, 2022-02-28 at 13:11 -0800, Stefano Antonelli wrote: > When the leak occurs, the number of 4k pages owned by this render > device increases. Running valgrind leak-test (or gdb with malloc > breakpoint), the number of 4k pages owned by this render device _do > not_ increase. When I run callgrind, the same behaviour happens. valgrind --tool=callgrind --instr-atstart=no ./qml-mwe3 Once the application is up and running, I use: :~# callgrind_control --instr=on 4120 PID 4120: ./qml-mwe3 sending command instrumentation on to pid 4120 OK. :~# callgrind_control -s 4120 PID 4120: ./qml-mwe3 sending command status internal to pid 4120 Number of running threads: 4, thread IDs: 1 2 3 4 Events collected: Ir Functions: 1,104 (executed 1,289, contexts 1,104) Basic blocks: 1,816 (executed 1,120,586,516, call sites 452) :~# callgrind_control --instr=off 4120 PID 4120: ./qml-mwe3 sending command instrumentation off to pid 4120 OK. After the I turn on the instrumentation, the display stops updating completely (it's running an animation). Once I turn off the instrumentation, the display resumes. I would expect the animation to run dreadfully slow, but not freeze in place for the duration of time instrumentation was on. I don't know exactly how much time this was, but if I had to guess I'd say around 10 minutes. I should also add that the processor is armhf and I noticed with callgrind I get a couple of warnings: ==4120== Callgrind, a call-graph generating cache profiler ==4120== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. ==4120== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info ==4120== Command: ./qml-mwe3 ==4120== ==4120== For interactive control, run 'callgrind_control -h'. ==4120== Warning: noted but unhandled ioctl 0x6443 with no size/direction hints. ==4120== This could cause spurious value errors to appear. ==4120== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==4120== Warning: noted but unhandled ioctl 0x4b51 with no size/direction hints. ==4120== This could cause spurious value errors to appear. ==4120== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. disInstr(thumb): unhandled instruction: 0xDEFF 0xF8DD I don't know if that's breaking things or not. Nor do I know what these IOCTLs are, but I am trying to parse README_MISSING_SYSCALL_OR_IOCTL as I go along here. -Stef |