Open qarmin opened 3 years ago
Still happens with 3.6 beta
=================================================================
==301346==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300035f998 at pc 0x7f9e2c0f1490 bp 0x7fff24ceff10 sp 0x7fff24cef6b8
READ of size 16 at 0x60300035f998 thread T0
#0 0x7f9e2c0f148f in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790
#1 0x7f9e1b059193 (/lib/x86_64-linux-gnu/libnvidia-glcore.so.515.65.01+0x1059193)
#2 0x7f9e1af222cd (/lib/x86_64-linux-gnu/libnvidia-glcore.so.515.65.01+0xf222cd)
#3 0x7f9e1aed68fd (/lib/x86_64-linux-gnu/libnvidia-glcore.so.515.65.01+0xed68fd)
#4 0x7f9e1aed9cba (/lib/x86_64-linux-gnu/libnvidia-glcore.so.515.65.01+0xed9cba)
#5 0x7f9e1ab5ade3 (/lib/x86_64-linux-gnu/libnvidia-glcore.so.515.65.01+0xb5ade3)
#6 0x7f9e1ab5af91 (/lib/x86_64-linux-gnu/libnvidia-glcore.so.515.65.01+0xb5af91)
#7 0x820fb45 in RasterizerSceneGLES3::_render_geometry(RasterizerSceneGLES3::RenderList::Element*) (/usr/bin/godots+0x820fb45)
#8 0x810e623 in RasterizerSceneGLES3::_render_list(RasterizerSceneGLES3::RenderList::Element**, int, Transform const&, CameraMatrix const&, RasterizerStorageGLES3::Sky*, bool, bool, bool, bool, bool) drivers/gles3/rasterizer_scene_gles3.cpp:2206
#9 0x81920fd in RasterizerSceneGLES3::render_scene(Transform const&, CameraMatrix const&, int, bool, RasterizerScene::InstanceBase**, int, RID*, int, RID*, int, RID, RID, RID, RID, int) drivers/gles3/rasterizer_scene_gles3.cpp:4212
#10 0x11c97c40 in VisualServerScene::_render_scene(Transform, CameraMatrix const&, int, bool, RID, RID, RID, RID, int) servers/visual/visual_server_scene.cpp:3324
#11 0x11c83d74 in VisualServerScene::render_camera(RID, RID, Vector2, RID) servers/visual/visual_server_scene.cpp:2894
#12 0x11de3047 in VisualServerViewport::_draw_3d(VisualServerViewport::Viewport*, ARVRInterface::Eyes) servers/visual/visual_server_viewport.cpp:76
#13 0x11de530f in VisualServerViewport::_draw_viewport(VisualServerViewport::Viewport*, ARVRInterface::Eyes) servers/visual/visual_server_viewport.cpp:106
#14 0x11df1a92 in VisualServerViewport::draw_viewports() servers/visual/visual_server_viewport.cpp:342
#15 0x11bdb3b6 in VisualServerRaster::draw(bool, double) servers/visual/visual_server_raster.cpp:115
#16 0x11e254d0 in VisualServerWrapMT::draw(bool, double) servers/visual/visual_server_wrap_mt.cpp:85
#17 0x1a6b26b in Main::iteration() main/main.cpp:2361
#18 0x1931c57 in OS_X11::run() platform/x11/os_x11.cpp:4035
#19 0x188d12c in main platform/x11/godot_x11.cpp:59
#20 0x7f9e2b512d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
#21 0x7f9e2b512e3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e3f)
#22 0x188cd1d in _start (/usr/bin/godots+0x188cd1d)
0x60300035f998 is located 0 bytes to the right of 24-byte region [0x60300035f980,0x60300035f998)
allocated by thread T0 here:
#0 0x7f9e2c163808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
#1 0x13522b6f in Memory::alloc_static(unsigned long, bool) core/os/memory.cpp:75
#2 0x1b57e0f in CowData<Vector2>::resize(int) core/cowdata.h:279
#3 0x1b5122e in Vector<Vector2>::resize(int) core/vector.h:87
#4 0x1b5152e in Vector<Vector2>::push_back(Vector2) core/vector.h:188
#5 0x831ba43 in RasterizerStorageGLES3::immediate_vertex(RID, Vector3 const&) drivers/gles3/rasterizer_storage_gles3.cpp:5057
#6 0x11bf1988 in VisualServerRaster::immediate_vertex(RID, Vector3 const&) servers/visual/visual_server_raster.h:299
#7 0x11e72bfb in VisualServerWrapMT::immediate_vertex(RID, Vector3 const&) servers/visual/visual_server_wrap_mt.h:222
#8 0xe684296 in ImmediateGeometry::add_vertex(Vector3 const&) scene/3d/immediate_geometry.cpp:61
#9 0x37a9384 in MethodBind1<Vector3 const&>::call(Object*, Variant const**, int, Variant::CallError&) core/method_bind.gen.inc:759
#10 0x12f39650 in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:918
#11 0x131f2ce4 in Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) core/variant_call.cpp:1237
#12 0x1f81a72 in GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) modules/gdscript/gdscript_function.cpp:1050
#13 0x1db0435 in GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) modules/gdscript/gdscript.cpp:1196
#14 0x12f391bd in Object::call(StringName const&, Variant const**, int, Variant::CallError&) core/object.cpp:899
#15 0x131f2ce4 in Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) core/variant_call.cpp:1237
#16 0x1f81a72 in GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) modules/gdscript/gdscript_function.cpp:1050
#17 0x1db094b in GDScriptInstance::call_multilevel(StringName const&, Variant const**, int) modules/gdscript/gdscript.cpp:1211
#18 0xd0e098f in Node::_notification(int) scene/main/node.cpp:58
#19 0x1c5731d in Node::_notificationv(int, bool) scene/main/node.h:47
#20 0x1c597d1 in CanvasItem::_notificationv(int, bool) scene/2d/canvas_item.h:163
#21 0xcf37453 in Node2D::_notificationv(int, bool) scene/2d/node_2d.h:37
#22 0x12f39aec in Object::notification(int, bool) core/object.cpp:927
#23 0xd23a2f5 in SceneTree::_notify_group_pause(StringName const&, int) scene/main/scene_tree.cpp:1133
#24 0xd228942 in SceneTree::idle(float) scene/main/scene_tree.cpp:636
#25 0x1a6a159 in Main::iteration() main/main.cpp:2337
#26 0x1931c57 in OS_X11::run() platform/x11/os_x11.cpp:4035
#27 0x188d12c in main platform/x11/godot_x11.cpp:59
#28 0x7f9e2b512d8f (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
SUMMARY: AddressSanitizer: heap-buffer-overflow ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790 in __interceptor_memcpy
Godot version: 3.2.4.rc.custom_build. b169a16cb
OS Ubuntu 20.04 - Ubuntu 3.36 X11
Issue description: When using ImmediateGeometry and InterpolatedCamera, then Godot start to use invalid memory(happens both with GLES2 and GLES3)
Minimal Project GDScript.zip