-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
rhel-10.1
-
None
-
None
-
None
-
rhel-display-window-mgmt
-
None
-
False
-
False
-
-
None
-
None
-
None
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
-
x86_64
-
None
What were you trying to do that didn't work?
Customer reports that gnome-shell leaks memory after dynamic resolution change (screen resizing).
What is the impact of this issue to you?
gnome-shell memory usage grows continuously.
Please provide the package NVR for which the bug is seen:
- Red Hat Enterprise Linux release 10.1 (Coughlan)
- gnome-shell-47.8-6.el10.x86_64
- mutter-47.5-13.el10.x86_64
- mesa-dri-drivers-25.0.7-3.el10.x86_64
- mesa-filesystem-25.0.7-3.el10.x86_64
- mesa-libEGL-25.0.7-3.el10.x86_64
- mesa-libgbm-25.0.7-3.el10.x86_64
- mesa-libGL-25.0.7-3.el10.x86_64
- mesa-vulkan-drivers-25.0.7-3.el10.x86_64
How reproducible is this bug?:
Always
Steps to reproduce
According to customer
- Enable GNOME remote login (RDP)
- Initiate a RDP connection using a RDP client software that supports dynamic resolution. The client RDP window shows in windowed mode
- Resize the client RP window, the monitor/screen size in the remote session (RHEL) changes accordingly
Local test
- Install RHEL 10.1 on a VM on KVM
- Install bcc-tools
- Log in to GNOME via GDM
- Log ins as root via ssh and run memleak to watch the gnome-shell process
# /usr/share/bcc/tools/memleak -a -p $(pidof gnome-shell)
- Resize the VM window to make the screen size change
Expected results
No memory leaks
Actual results
24576 bytes in 6 allocations from stack 0x00007f7cd4ca0ea9 llvm::sys::Memory::allocateMappedMemory(unsigned long, llvm::sys::MemoryBlock const*, unsigned int, std::error_code&)+0x159 [libLLVM.so.20.1] 24968 bytes in 3 allocations from stack 0x00007f7d0c14076a g_realloc+0x1a [libglib-2.0.so.0.8000.4] 0x00007f7d0be64b20 [unknown] 0x0000556ea4bc3650 [unknown] 0x00000000000d3501 [unknown] 65552 bytes in 1 allocations from stack 0x00007f7ce1a82f16 try_update_scene_state+0x806 [libgallium-25.0.7.so] 0x00007f7ce1a8bb03 begin_binning.lto_priv.0+0x53 [libgallium-25.0.7.so] 0x00007f7ce26fe6ca set_scene_state.isra.0+0x6a [libgallium-25.0.7.so] 110176 bytes in 802 allocations from stack 0x00007f7d0c1406ba g_malloc0+0x1a [libglib-2.0.so.0.8000.4] 131104 bytes in 2 allocations from stack 0x00007f7ce1a82ff3 try_update_scene_state+0x8e3 [libgallium-25.0.7.so] 0x00007f7ce1a8bb03 begin_binning.lto_priv.0+0x53 [libgallium-25.0.7.so] 0x00007f7ce26fe6ca set_scene_state.isra.0+0x6a [libgallium-25.0.7.so] 131104 bytes in 2 allocations from stack 0x00007f7ce1a6d8fa lp_setup_alloc_triangle+0x8a [libgallium-25.0.7.so] 0x0000556ea60849d0 [unknown] 196656 bytes in 3 allocations from stack 0x00007f7ce1a8470f llvmpipe_end_query+0x38f [libgallium-25.0.7.so] 0x0000556ea6061950 [unknown] 196656 bytes in 3 allocations from stack 0x00007f7ce1a82f16 try_update_scene_state+0x806 [libgallium-25.0.7.so] 0x00007f7ce1a83315 lp_setup_update_state+0x85 [libgallium-25.0.7.so] 6963200 bytes in 1 allocations from stack 0x00007f7ce1a6fb2c kms_sw_displaytarget_map+0xdc [libgallium-25.0.7.so] 0x0000000000001900 [unknown] 23258368 bytes in 12 allocations from stack 0x00007f7ce26cbde2 llvmpipe_texture_layout.isra.0+0x462 [libgallium-25.0.7.so]