Skip to content

Crash when adding multiple reflection probes #88940

@BastiaanOlij

Description

@BastiaanOlij

Tested versions

System information

Window 10 - 4.3 master

Issue description

System crash when adding a 3rd reflection probe:

================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.3.dev.custom_build (c76bf7e2cf8b0f0eb95ee6a11e5849da9156230c)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[0] RenderingDeviceGraph::_add_command_to_graph (C:\Projects\godot4-git\servers\rendering\rendering_device_graph.cpp:509)
[1] RenderingDeviceGraph::add_draw_list_end (C:\Projects\godot4-git\servers\rendering\rendering_device_graph.cpp:1678)
[2] RenderingDevice::draw_list_end (C:\Projects\godot4-git\servers\rendering\rendering_device.cpp:3947)
[3] RendererRD::CopyEffects::cubemap_downsample_raster (C:\Projects\godot4-git\servers\rendering\renderer_rd\effects\copy_effects.cpp:1091)
[4] RendererRD::SkyRD::ReflectionData::create_reflection_fast_filter (C:\Projects\godot4-git\servers\rendering\renderer_rd\environment\sky.cpp:395)
[5] RendererRD::LightStorage::reflection_probe_instance_postprocess_step (C:\Projects\godot4-git\servers\rendering\renderer_rd\storage_rd\light_storage.cpp:1550)
[6] RendererSceneCull::_render_reflection_probe_step (C:\Projects\godot4-git\servers\rendering\renderer_scene_cull.cpp:3551)
[7] RendererSceneCull::render_probes (C:\Projects\godot4-git\servers\rendering\renderer_scene_cull.cpp:3587)
[8] RenderingServerDefault::_draw (C:\Projects\godot4-git\servers\rendering\rendering_server_default.cpp:91)
[9] RenderingServerDefault::draw (C:\Projects\godot4-git\servers\rendering\rendering_server_default.cpp:388)
[10] Main::iteration (C:\Projects\godot4-git\main\main.cpp:4021)
[11] OS_Windows::run (C:\Projects\godot4-git\platform\windows\os_windows.cpp:1476)
[12] widechar_main (C:\Projects\godot4-git\platform\windows\godot_windows.cpp:182)
[13] _main (C:\Projects\godot4-git\platform\windows\godot_windows.cpp:204)
[14] main (C:\Projects\godot4-git\platform\windows\godot_windows.cpp:218)
[15] WinMain (C:\Projects\godot4-git\platform\windows\godot_windows.cpp:232)
[16] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[17] <couldn't map PC to fn name>
-- END OF BACKTRACE --
================================================================

I ran into this by accident while working on reflection probes for GLES. Found out there was a never ending loop condition in RendererSceneCull::render_probes, decided to test this on Vulkan and found out the same is happening eventually leading to a crash as the same probe keeps being added to the render list.

This may be related to the probes having update always turned on.

Steps to reproduce

Use the MRP, in the editor duplicate one of the two reflection probes by selecting it and pressing CTRL-D. Watch it crash...

Minimal reproduction project (MRP)

testreflectionprobe.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions