Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory leaks when opening empty project in editor #44045

Closed
qarmin opened this issue Dec 2, 2020 · 0 comments · Fixed by #44899
Closed

Memory leaks when opening empty project in editor #44045

qarmin opened this issue Dec 2, 2020 · 0 comments · Fixed by #44899

Comments

@qarmin
Copy link
Contributor

qarmin commented Dec 2, 2020

Godot version:
4.0.dev.custom_build. d1231be

OS/device including version:
Ubuntu 20.04
Nvidia GTX 970 - 440

Issue description:
Leak Sanitizer log

ERROR: 1 shaders of type CanvasSdfShaderRD were never freed
   at: ~ShaderRD (servers/rendering/rasterizer_rd/shader_rd.cpp:470)
WARNING: 1 RIDs of type 'UniformBuffer' were leaked.
     at: _free_rids (drivers/vulkan/rendering_device_vulkan.cpp:7371)

=================================================================
==218397==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 936 byte(s) in 3 object(s) allocated from:
    #0 0x7f92e36f1517 in malloc (/lib/x86_64-linux-gnu/libasan.so.6+0xb0517)
    #1 0x1242a5eb in Memory::alloc_static(unsigned long, bool) core/os/memory.cpp:76
    #2 0x1242a4ea in operator new(unsigned long, char const*) core/os/memory.cpp:41
    #3 0x114bb74a in RasterizerStorageRD::canvas_texture_get_uniform_set(RID, RenderingServer::CanvasItemTextureFilter, RenderingServer::CanvasItemTextureRepeat, RID, int, RID&, Vector2i&, Color&, bool&, bool&) servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp:1276
    #4 0x11bc5cbc in RasterizerCanvasRD::_bind_canvas_texture(long, RID, RenderingServer::CanvasItemTextureFilter, RenderingServer::CanvasItemTextureRepeat, RID&, RasterizerCanvasRD::PushConstant&, Vector2&) servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp:332
    #5 0x11b56a21 in RasterizerCanvasRD::_render_item(long, RasterizerCanvas::Item const*, long, Transform2D const&, RasterizerCanvas::Item*&, RasterizerCanvas::Light*, RasterizerCanvasRD::PipelineVariants*) servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp:455
    #6 0x11b6feb5 in RasterizerCanvasRD::_render_items(RID, int, Transform2D const&, RasterizerCanvas::Light*, bool) servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp:1187
    #7 0x11b80838 in RasterizerCanvasRD::canvas_render_items(RID, RasterizerCanvas::Item*, Color const&, RasterizerCanvas::Light*, RasterizerCanvas::Light*, Transform2D const&, RenderingServer::CanvasItemTextureFilter, RenderingServer::CanvasItemTextureRepeat, bool, bool&) servers/rendering/rasterizer_rd/rasterizer_canvas_rd.cpp:1495
    #8 0x11a961a5 in RenderingServerCanvas::_render_canvas_item_tree(RID, RenderingServerCanvas::Canvas::ChildItem*, int, RenderingServerCanvas::Item*, Transform2D const&, Rect2 const&, Color const&, RasterizerCanvas::Light*, RasterizerCanvas::Light*, RenderingServer::CanvasItemTextureFilter, RenderingServer::CanvasItemTextureRepeat, bool) servers/rendering/rendering_server_canvas.cpp:72
    #9 0x11aa4519 in RenderingServerCanvas::render_canvas(RID, RenderingServerCanvas::Canvas*, Transform2D const&, RasterizerCanvas::Light*, RasterizerCanvas::Light*, Rect2 const&, RenderingServer::CanvasItemTextureFilter, RenderingServer::CanvasItemTextureRepeat, bool, bool) servers/rendering/rendering_server_canvas.cpp:328
    #10 0x10c1d8f7 in RenderingServerViewport::_draw_viewport(RenderingServerViewport::Viewport*, XRInterface::Eyes) servers/rendering/rendering_server_viewport.cpp:409
    #11 0x10c221ad in RenderingServerViewport::draw_viewports() servers/rendering/rendering_server_viewport.cpp:566
    #12 0x10aaf990 in RenderingServerRaster::draw(bool, double) servers/rendering/rendering_server_raster.cpp:115
    #13 0x10c63199 in RenderingServerWrapMT::draw(bool, double) servers/rendering/rendering_server_wrap_mt.cpp:91
    #14 0x1fa4159 in Main::iteration() main/main.cpp:2513
    #15 0x1e5a03f in OS_LinuxBSD::run() platform/linuxbsd/os_linuxbsd.cpp:261
    #16 0x1e4d030 in main platform/linuxbsd/godot_linuxbsd.cpp:58
    #17 0x7f92e24be0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)

Direct leak of 36 byte(s) in 1 object(s) allocated from:
    #0 0x7f92e36f1517 in malloc (/lib/x86_64-linux-gnu/libasan.so.6+0xb0517)
    #1 0x1242a5eb in Memory::alloc_static(unsigned long, bool) core/os/memory.cpp:76
    #2 0x1242a4ea in operator new(unsigned long, char const*) core/os/memory.cpp:41
    #3 0x11ac1699 in RenderingServerCanvas::canvas_item_set_canvas_group_mode(RID, RenderingServer::CanvasGroupMode, float, bool, float, bool) servers/rendering/rendering_server_canvas.cpp:1066
    #4 0x10af71ae in RenderingServerRaster::canvas_item_set_canvas_group_mode(RID, RenderingServer::CanvasGroupMode, float, bool, float, bool) servers/rendering/rendering_server_raster.h:749
    #5 0x10d7c29c in RenderingServerWrapMT::canvas_item_set_canvas_group_mode(RID, RenderingServer::CanvasGroupMode, float, bool, float, bool) servers/rendering/rendering_server_wrap_mt.h:650
    #6 0xe43ae14 in CanvasGroup::set_fit_margin(float) scene/2d/canvas_group.cpp:37
    #7 0xe43ea36 in CanvasGroup::CanvasGroup() scene/2d/canvas_group.cpp:84
    #8 0xc54f680 in Object* ClassDB::creator<CanvasGroup>() core/object/class_db.h:146
    #9 0x1344fefb in ClassDB::instance(StringName const&) core/object/class_db.cpp:521
    #10 0x13465eed in ClassDB::class_get_default_property_value(StringName const&, StringName const&, bool*) core/object/class_db.cpp:1481
    #11 0x80854ee in get_documentation_default_value editor/doc_tools.cpp:210
    #12 0x8088365 in DocTools::generate(bool) editor/doc_tools.cpp:301
    #13 0x8410183 in EditorHelp::generate_doc() editor/editor_help.cpp:1622
    #14 0x86e1c86 in EditorNode::EditorNode() editor/editor_node.cpp:5547
    #15 0x1f926df in Main::start() main/main.cpp:2134
    #16 0x1e4cf63 in main platform/linuxbsd/godot_linuxbsd.cpp:57
    #17 0x7f92e24be0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)

Steps to reproduce:

  1. Open empty project in editor with Godot compiled with Leak sanitizer or in Valgrind
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant