Memory leak when using animation (drivers, keyframes) inside muted nodegroup #114504

Open
opened 2023-11-05 18:48:29 +01:00 by jianzwan · 3 comments

System Information
Operating system: windows 10
Graphics card: RTX 2080 super
Cpu: AMD Ryzen 7 2700

Blender Version
Broken: 3.6
Worked: Not sure, 3.0 is affected too

Short description of error
In eevee material mode & rendered mode, material include #frame node and group is muted, play animation, after a period of time ram usage soar make blender crash.
Keyframes in material and group is muted make ram usage soar too. (bug2)

Steps to Reproduce

  • Open 3.6 eevee bug.blend
  • Start animation (notice memory leak in task manager or in console, after closing the blender)
**System Information** Operating system: windows 10 Graphics card: RTX 2080 super Cpu: AMD Ryzen 7 2700 **Blender Version** Broken: 3.6 Worked: Not sure, 3.0 is affected too **Short description of error** In eevee material mode & rendered mode, material include #frame node and group is muted, play animation, after a period of time ram usage soar make blender crash. Keyframes in material and group is muted make ram usage soar too. (bug2) **Steps to Reproduce** - Open `3.6 eevee bug.blend` - Start animation (notice memory leak in task manager or in console, after closing the blender)
jianzwan added the
Priority
Normal
Type
Report
Status
Needs Triage
labels 2023-11-05 18:48:29 +01:00
Member

Hi, thanks for the report. I did some quick testing, I noticed memory leak when node (with frame driver) is inside a node-group

Error: Not freed memory blocks: 3519, total unfreed memory 1.447449 MB
NodeTree len: 512 00000275D999F2E8
ntree_copy_data len: 1552 00000275DE85D828
Hi, thanks for the report. I did some quick testing, I noticed memory leak when node (with frame driver) is inside a node-group ``` Error: Not freed memory blocks: 3519, total unfreed memory 1.447449 MB NodeTree len: 512 00000275D999F2E8 ntree_copy_data len: 1552 00000275DE85D828 ```
Pratik Borhade changed title from Eevee #frame make ram usage soar. to Memory leak when using #frame inside nodegroup 2023-11-06 06:34:14 +01:00
Member
==3192966==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1168464 byte(s) in 2213 object(s) allocated from:
    #0 0x7fc3830d8cc7 in calloc (/lib64/libasan.so.8+0xd8cc7) (BuildId: 7fcb7759bc17ef47f9682414b6d99732d6a6ab0c)
    #1 0x46d201f in MEM_lockfree_callocN /blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:216
    #2 0xd8d79d in BKE_libblock_alloc_notest(short) /blender/source/blender/blenkernel/intern/lib_id.cc:1211
    #3 0xd8d919 in BKE_libblock_alloc(Main*, short, char const*, int) /blender/source/blender/blenkernel/intern/lib_id.cc:1223
    #4 0xd8f077 in BKE_libblock_copy_ex(Main*, ID const*, ID**, int) /blender/source/blender/blenkernel/intern/lib_id.cc:1388
    #5 0xd88339 in BKE_id_copy_ex(Main*, ID const*, ID**, int) /blender/source/blender/blenkernel/intern/lib_id.cc:650
    #6 0x10fba22 in ntreeLocalize /blender/source/blender/blenkernel/intern/node.cc:3700
    #7 0x10fbc3d in ntreeLocalize /blender/source/blender/blenkernel/intern/node.cc:3708
    #8 0x17b43c33 in GPU_material_from_nodetree(Scene*, Material*, bNodeTree*, ListBase*, char const*, eGPUMaterialEngine, unsigned long, bool, bool, void (*)(void*, GPUMaterial*, GPUCodegenOutput*), void*) /blender/source/blender/gpu/intern/gpu_material.cc:858
    #9 0x5d429e6 in DRW_shader_from_material(Material*, bNodeTree*, eGPUMaterialEngine, unsigned long, bool, bool, void (*)(void*, GPUMaterial*, GPUCodegenOutput*), void*) /blender/source/blender/draw/intern/draw_manager_shader.cc:537
    #10 0x563412d in eevee_material_get_ex /blender/source/blender/draw/engines/eevee/eevee_shaders.cc:1385
    #11 0x5634618 in EEVEE_material_get /blender/source/blender/draw/engines/eevee/eevee_shaders.cc:1416
    #12 0x55f6cdb in material_opaque /blender/source/blender/draw/engines/eevee/eevee_materials.cc:626
    #13 0x55f9f1e in eevee_material_cache_get /blender/source/blender/draw/engines/eevee/eevee_materials.cc:792
    #14 0x55f9f1e in EEVEE_materials_cache_populate /blender/source/blender/draw/engines/eevee/eevee_materials.cc:841
    #15 0x559c8c2 in EEVEE_cache_populate /blender/source/blender/draw/engines/eevee/eevee_engine.cc:120
    #16 0x54172a8 in drw_engines_cache_populate /blender/source/blender/draw/intern/draw_manager_c.cc:1084
    #17 0x541cfdd in DRW_draw_render_loop_ex(Depsgraph*, RenderEngineType*, ARegion*, View3D*, GPUViewport*, bContext const*) /blender/source/blender/draw/intern/draw_manager_c.cc:1724
    #18 0x541be80 in DRW_draw_view(bContext const*) /blender/source/blender/draw/intern/draw_manager_c.cc:1627
    #19 0xc1c2033 in view3d_draw_view /blender/source/blender/editors/space_view3d/view3d_draw.cc:1580
    #20 0xc1c23b6 in view3d_main_region_draw /blender/source/blender/editors/space_view3d/view3d_draw.cc:1615
    #21 0x783e4b7 in ED_region_do_draw(bContext*, ARegion*) /blender/source/blender/editors/screen/area.cc:532
    #22 0x46ff9ec in wm_draw_window_offscreen /blender/source/blender/windowmanager/intern/wm_draw.cc:1007
    #23 0x47010e2 in wm_draw_window /blender/source/blender/windowmanager/intern/wm_draw.cc:1174
    #24 0x47041f0 in wm_draw_update(bContext*) /blender/source/blender/windowmanager/intern/wm_draw.cc:1572
    #25 0x46e3e94 in WM_main(bContext*) /blender/source/blender/windowmanager/intern/wm.cc:619
    #26 0x7fe779 in main /blender/source/creator/creator.cc:575
    #27 0x7fc371c46149 in __libc_start_call_main (/lib64/libc.so.6+0x28149) (BuildId: 788cdd41a15985bf8e0a48d213a46e07d58822df)
    #28 0x7fc371c4620a in __libc_start_main_impl (/lib64/libc.so.6+0x2820a) (BuildId: 788cdd41a15985bf8e0a48d213a46e07d58822df)
    #29 0x7fdb24 in _start (/build_linux_debug/bin/blender+0x7fdb24) (BuildId: 1fdb76f5abe77a1a8916171dc33a12221d5d365c)

Note there is a direct leak even without the driver, but it is much smaller then.
(Direct leak of 4752 byte(s) in 9 object(s) allocated from)

``` ==3192966==ERROR: LeakSanitizer: detected memory leaks Direct leak of 1168464 byte(s) in 2213 object(s) allocated from: #0 0x7fc3830d8cc7 in calloc (/lib64/libasan.so.8+0xd8cc7) (BuildId: 7fcb7759bc17ef47f9682414b6d99732d6a6ab0c) #1 0x46d201f in MEM_lockfree_callocN /blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:216 #2 0xd8d79d in BKE_libblock_alloc_notest(short) /blender/source/blender/blenkernel/intern/lib_id.cc:1211 #3 0xd8d919 in BKE_libblock_alloc(Main*, short, char const*, int) /blender/source/blender/blenkernel/intern/lib_id.cc:1223 #4 0xd8f077 in BKE_libblock_copy_ex(Main*, ID const*, ID**, int) /blender/source/blender/blenkernel/intern/lib_id.cc:1388 #5 0xd88339 in BKE_id_copy_ex(Main*, ID const*, ID**, int) /blender/source/blender/blenkernel/intern/lib_id.cc:650 #6 0x10fba22 in ntreeLocalize /blender/source/blender/blenkernel/intern/node.cc:3700 #7 0x10fbc3d in ntreeLocalize /blender/source/blender/blenkernel/intern/node.cc:3708 #8 0x17b43c33 in GPU_material_from_nodetree(Scene*, Material*, bNodeTree*, ListBase*, char const*, eGPUMaterialEngine, unsigned long, bool, bool, void (*)(void*, GPUMaterial*, GPUCodegenOutput*), void*) /blender/source/blender/gpu/intern/gpu_material.cc:858 #9 0x5d429e6 in DRW_shader_from_material(Material*, bNodeTree*, eGPUMaterialEngine, unsigned long, bool, bool, void (*)(void*, GPUMaterial*, GPUCodegenOutput*), void*) /blender/source/blender/draw/intern/draw_manager_shader.cc:537 #10 0x563412d in eevee_material_get_ex /blender/source/blender/draw/engines/eevee/eevee_shaders.cc:1385 #11 0x5634618 in EEVEE_material_get /blender/source/blender/draw/engines/eevee/eevee_shaders.cc:1416 #12 0x55f6cdb in material_opaque /blender/source/blender/draw/engines/eevee/eevee_materials.cc:626 #13 0x55f9f1e in eevee_material_cache_get /blender/source/blender/draw/engines/eevee/eevee_materials.cc:792 #14 0x55f9f1e in EEVEE_materials_cache_populate /blender/source/blender/draw/engines/eevee/eevee_materials.cc:841 #15 0x559c8c2 in EEVEE_cache_populate /blender/source/blender/draw/engines/eevee/eevee_engine.cc:120 #16 0x54172a8 in drw_engines_cache_populate /blender/source/blender/draw/intern/draw_manager_c.cc:1084 #17 0x541cfdd in DRW_draw_render_loop_ex(Depsgraph*, RenderEngineType*, ARegion*, View3D*, GPUViewport*, bContext const*) /blender/source/blender/draw/intern/draw_manager_c.cc:1724 #18 0x541be80 in DRW_draw_view(bContext const*) /blender/source/blender/draw/intern/draw_manager_c.cc:1627 #19 0xc1c2033 in view3d_draw_view /blender/source/blender/editors/space_view3d/view3d_draw.cc:1580 #20 0xc1c23b6 in view3d_main_region_draw /blender/source/blender/editors/space_view3d/view3d_draw.cc:1615 #21 0x783e4b7 in ED_region_do_draw(bContext*, ARegion*) /blender/source/blender/editors/screen/area.cc:532 #22 0x46ff9ec in wm_draw_window_offscreen /blender/source/blender/windowmanager/intern/wm_draw.cc:1007 #23 0x47010e2 in wm_draw_window /blender/source/blender/windowmanager/intern/wm_draw.cc:1174 #24 0x47041f0 in wm_draw_update(bContext*) /blender/source/blender/windowmanager/intern/wm_draw.cc:1572 #25 0x46e3e94 in WM_main(bContext*) /blender/source/blender/windowmanager/intern/wm.cc:619 #26 0x7fe779 in main /blender/source/creator/creator.cc:575 #27 0x7fc371c46149 in __libc_start_call_main (/lib64/libc.so.6+0x28149) (BuildId: 788cdd41a15985bf8e0a48d213a46e07d58822df) #28 0x7fc371c4620a in __libc_start_main_impl (/lib64/libc.so.6+0x2820a) (BuildId: 788cdd41a15985bf8e0a48d213a46e07d58822df) #29 0x7fdb24 in _start (/build_linux_debug/bin/blender+0x7fdb24) (BuildId: 1fdb76f5abe77a1a8916171dc33a12221d5d365c) ``` Note there is a direct leak even without the driver, but it is much smaller then. (`Direct leak of 4752 byte(s) in 9 object(s) allocated from`)
Iliya Katushenock added
Module
EEVEE & Viewport
Interest
Nodes & Physics
and removed
Module
Nodes & Physics
labels 2024-02-13 11:43:33 +01:00
Member

Note this happens not only with a driver, but also with a regular keyframe.
Only happens in muted nodegroups.
Will update the report title to reflect that.

Note this happens not only with a driver, but also with a regular keyframe. Only happens in muted nodegroups. Will update the report title to reflect that.
Philipp Oeser changed title from Memory leak when using #frame inside nodegroup to Memory leak when using animation (drivers, keyframes) inside muted nodegroup 2024-02-13 11:57:04 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#114504
No description provided.