Comment 1 for bug 1310714

Revision history for this message
Likai Liu (liulk) wrote :

I investigated further and found that a program in guest (jusched.exe Java Updater) is simultaneously sending and receiving network packets rapidly. This is what exacerbates the memory leak.

When the mmap breakpoint triggers, I now set additional breakpoints in m_get() and m_free() and found that the number of calls to these functions do not balance, hence making the leak evident.

Breakpoint 1, mmap64 () at ../sysdeps/unix/syscall-template.S:81
81 in ../sysdeps/unix/syscall-template.S
(gdb) info break
Num Type Disp Enb Address What
1 breakpoint keep y 0x00007ffff0edbfb0 ../sysdeps/unix/syscall-template.S:81
 breakpoint already hit 6 times
2 breakpoint keep y 0x0000555555848dfa in m_get
                                                   at /src/qemu/slirp/mbuf.c:66
 breakpoint already hit 645487 times
 ignore next 354513 hits
3 breakpoint keep y 0x0000555555848eff in m_free
                                                   at /src/qemu/slirp/mbuf.c:103
 breakpoint already hit 484477 times
 ignore next 515523 hits

About 25% of the m_get() do not get m_free()'d.

liulk