Open JU12000 opened 8 months ago
I'm seeing something like that as well. When running compfy normally with the same build options as described in the readme, there's a steady increase in RAM usage. I don't exactly remember in what version if compfy I first saw this happening, but I wrote it in an issue somewhere
What is the issue When running
compfy
withbspwm
, any time I switch desktops or a window otherwise animates there is an increase in RAM usage. Killing thecompfy
process does not free the RAM. The additional RAM is not cache RAM, if I continue to switch desktops I can max out RAM usage and crash my computer.What did you expect Either animations cause temporary RAM usage or the additional RAM is freed properly when
compfy
is stopped.Your configuration I am still using the default example configuration from
/etc/xdg/compfy.conf.example
forcompfy
, copied to~/.config/compfy/compfy.conf.example
.Relevant Images/Videos No images or videos but I did wrap the
compfy -b
process invalgrind
(usingvalgrind -s --leak-check=full compfy -b > valout 2>&1
) and received the following. I think for this to really be useful I'd have to run it again having builtcompfy
with different flags:Valgrind Output
``` ==2312== Memcheck, a memory error detector ==2312== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==2312== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==2312== Command: compfy -b ==2312== ==2325== Syscall param writev(vector[0]) points to uninitialised byte(s) ==2325== at 0x4ECB484: writev (writev.c:26) ==2325== by 0x4ABA3DD: UnknownInlinedFun (xcb_conn.c:296) ==2325== by 0x4ABA3DD: _xcb_conn_wait.part.0 (xcb_conn.c:553) ==2325== by 0x4ABA55F: UnknownInlinedFun (xcb_out.c:469) ==2325== by 0x4ABA55F: _xcb_out_send (xcb_out.c:470) ==2325== by 0x4ABA7D6: _xcb_out_flush_to (xcb_out.c:495) ==2325== by 0x4ABC0BE: xcb_request_check (xcb_in.c:753) ==2325== by 0x1150B6: ??? (in /usr/bin/compfy) ==2325== by 0x4DE2CCF: (below main) (libc_start_call_main.h:58) ==2325== Address 0x544d139 is 4,537 bytes inside a block of size 21,176 alloc'd ==2325== at 0x4848953: calloc (vg_replace_malloc.c:1595) ==2325== by 0x4ABCF35: xcb_connect_to_fd (xcb_conn.c:368) ==2325== by 0x4ABD7BD: xcb_connect_to_display_with_auth_info (xcb_util.c:553) ==2325== by 0x49A5612: _XConnectXCB (xcb_disp.c:78) ==2325== by 0x49968EA: XOpenDisplay (OpenDis.c:129) ==2325== by 0x114218: ??? (in /usr/bin/compfy) ==2325== by 0x4DE2CCF: (below main) (libc_start_call_main.h:58) ==2325== ==2312== ==2312== HEAP SUMMARY: ==2312== in use at exit: 16,520 bytes in 10 blocks ==2312== total heap usage: 143 allocs, 133 frees, 24,624 bytes allocated ==2312== ==2312== LEAK SUMMARY: ==2312== definitely lost: 0 bytes in 0 blocks ==2312== indirectly lost: 0 bytes in 0 blocks ==2312== possibly lost: 0 bytes in 0 blocks ==2312== still reachable: 16,520 bytes in 10 blocks ==2312== suppressed: 0 bytes in 0 blocks ==2312== Reachable blocks (those to which a pointer was found) are not shown. ==2312== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==2312== ==2312== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ==2325== ==2325== Process terminating with default action of signal 15 (SIGTERM) ==2325== at 0x4ECBBB7: epoll_wait (epoll_wait.c:30) ==2325== by 0x4959AB5: ??? (in /usr/lib/libev.so.4.0.0) ==2325== by 0x495C692: ev_run (in /usr/lib/libev.so.4.0.0) ==2325== by 0x115F05: ??? (in /usr/bin/compfy) ==2325== by 0x4DE2CCF: (below main) (libc_start_call_main.h:58) ==2325== ==2325== HEAP SUMMARY: ==2325== in use at exit: 1,386,536 bytes in 8,927 blocks ==2325== total heap usage: 1,395,603 allocs, 1,386,676 frees, 103,307,890 bytes allocated ==2325== ==2325== 80 bytes in 1 blocks are possibly lost in loss record 122 of 176 ==2325== at 0x4841828: malloc (vg_replace_malloc.c:442) ==2325== by 0x4FF9DE7: RegisterStubCallbacks (GLdispatch.c:426) ==2325== by 0x4FFA4CB: __glDispatchInit (GLdispatch.c:202) ==2325== by 0x50730CB: __glXInit (libglx.c:2079) ==2325== by 0x4004EED: call_init (dl-init.c:90) ==2325== by 0x4004EED: call_init (dl-init.c:27) ==2325== by 0x4004FDB: _dl_init (dl-init.c:137) ==2325== by 0x401B2CF: ??? (in /usr/lib/ld-linux-x86-64.so.2) ==2325== by 0x1: ??? ==2325== by 0x1FFF000C3E: ??? ==2325== by 0x1FFF000C45: ??? ==2325== ==2325== 80 bytes in 1 blocks are possibly lost in loss record 123 of 176 ==2325== at 0x4841828: malloc (vg_replace_malloc.c:442) ==2325== by 0x4FF9DE7: RegisterStubCallbacks (GLdispatch.c:426) ==2325== by 0x4FFA6FE: __glDispatchRegisterStubCallbacks (GLdispatch.c:445) ==2325== by 0x4CED07A: __libGLInit (libgl.c:48) ==2325== by 0x4004EED: call_init (dl-init.c:90) ==2325== by 0x4004EED: call_init (dl-init.c:27) ==2325== by 0x4004FDB: _dl_init (dl-init.c:137) ==2325== by 0x401B2CF: ??? (in /usr/lib/ld-linux-x86-64.so.2) ==2325== by 0x1: ??? ==2325== by 0x1FFF000C3E: ??? ==2325== by 0x1FFF000C45: ??? ==2325== ==2325== 1,234,512 bytes in 8,573 blocks are definitely lost in loss record 176 of 176 ==2325== at 0x4841828: malloc (vg_replace_malloc.c:442) ==2325== by 0x4B48876: UnknownInlinedFun (pixman-region.c:213) ==2325== by 0x4B48876: pixman_rect_alloc.lto_priv.1 (pixman-region.c:465) ==2325== by 0x4B4BF05: pixman_op.lto_priv.1 (pixman-region.c:828) ==2325== by 0x4B53BCE: pixman_region32_subtract (pixman-region.c:1987) ==2325== by 0x14832B: ??? (in /usr/bin/compfy) ==2325== by 0x11A985: ??? (in /usr/bin/compfy) ==2325== by 0x11B8BB: ??? (in /usr/bin/compfy) ==2325== by 0x49590CA: ev_invoke_pending (in /usr/lib/libev.so.4.0.0) ==2325== by 0x495CD0F: ev_run (in /usr/lib/libev.so.4.0.0) ==2325== by 0x115F05: ??? (in /usr/bin/compfy) ==2325== by 0x4DE2CCF: (below main) (libc_start_call_main.h:58) ==2325== ==2325== LEAK SUMMARY: ==2325== definitely lost: 1,234,512 bytes in 8,573 blocks ==2325== indirectly lost: 0 bytes in 0 blocks ==2325== possibly lost: 160 bytes in 2 blocks ==2325== still reachable: 151,864 bytes in 352 blocks ==2325== suppressed: 0 bytes in 0 blocks ==2325== Reachable blocks (those to which a pointer was found) are not shown. ==2325== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==2325== ==2325== Use --track-origins=yes to see where uninitialised values come from ==2325== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) ==2325== ==2325== 1 errors in context 1 of 4: ==2325== Syscall param writev(vector[0]) points to uninitialised byte(s) ==2325== at 0x4ECB484: writev (writev.c:26) ==2325== by 0x4ABA3DD: UnknownInlinedFun (xcb_conn.c:296) ==2325== by 0x4ABA3DD: _xcb_conn_wait.part.0 (xcb_conn.c:553) ==2325== by 0x4ABA55F: UnknownInlinedFun (xcb_out.c:469) ==2325== by 0x4ABA55F: _xcb_out_send (xcb_out.c:470) ==2325== by 0x4ABA7D6: _xcb_out_flush_to (xcb_out.c:495) ==2325== by 0x4ABC0BE: xcb_request_check (xcb_in.c:753) ==2325== by 0x1150B6: ??? (in /usr/bin/compfy) ==2325== by 0x4DE2CCF: (below main) (libc_start_call_main.h:58) ==2325== Address 0x544d139 is 4,537 bytes inside a block of size 21,176 alloc'd ==2325== at 0x4848953: calloc (vg_replace_malloc.c:1595) ==2325== by 0x4ABCF35: xcb_connect_to_fd (xcb_conn.c:368) ==2325== by 0x4ABD7BD: xcb_connect_to_display_with_auth_info (xcb_util.c:553) ==2325== by 0x49A5612: _XConnectXCB (xcb_disp.c:78) ==2325== by 0x49968EA: XOpenDisplay (OpenDis.c:129) ==2325== by 0x114218: ??? (in /usr/bin/compfy) ==2325== by 0x4DE2CCF: (below main) (libc_start_call_main.h:58) ==2325== ==2325== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) ```I run
compfy
frombspwmrc
Package Version: 1.7.2-1 Build Method: Arch makepkg WM: bspwm