Godot: Editor crash when using StreamPeerMbedTLS::connect_to_stream(Ref<StreamPeer>, bool, String const&)

Created on 23 Jun 2019  路  3Comments  路  Source: godotengine/godot

Godot version:
3.2.dev.custom_build. 02319dceb

OS/device including version:
Ubuntu 19.04

Issue description:

[1] /lib/x86_64-linux-gnu/libc.so.6(+0x43f60) [0x7f67e6e85f60] (??:0)
[2] StreamPeerMbedTLS::bio_send(void*, unsigned char const*, unsigned long) (/home/rafal/Pulpit/godot/modules/mbedtls/stream_peer_mbed_tls.cpp:60 (discriminator 2))
[3] /usr/bin/godot(mbedtls_ssl_flush_output+0x15e) [0x1880860] (/home/rafal/Pulpit/godot/thirdparty/mbedtls/library/ssl_tls.c:2777)
[4] /usr/bin/godot(mbedtls_ssl_write_record+0x458) [0x1881ebf] (/home/rafal/Pulpit/godot/thirdparty/mbedtls/library/ssl_tls.c:3470 (discriminator 1))
[5] /usr/bin/godot(mbedtls_ssl_write_handshake_msg+0x477) [0x18819ff] (/home/rafal/Pulpit/godot/thirdparty/mbedtls/library/ssl_tls.c:3313)
[6] /usr/bin/godot() [0x1b543eb] (/home/rafal/Pulpit/godot/thirdparty/mbedtls/library/ssl_cli.c:1091)
[7] /usr/bin/godot(mbedtls_ssl_handshake_client_step+0x142) [0x1b5965b] (/home/rafal/Pulpit/godot/thirdparty/mbedtls/library/ssl_cli.c:3544)
[8] /usr/bin/godot(mbedtls_ssl_handshake_step+0x4e) [0x188a0db] (/home/rafal/Pulpit/godot/thirdparty/mbedtls/library/ssl_tls.c:8064)
[9] /usr/bin/godot(mbedtls_ssl_handshake+0x64) [0x188a16b] (/home/rafal/Pulpit/godot/thirdparty/mbedtls/library/ssl_tls.c:8088)
[10] StreamPeerMbedTLS::_do_handshake() (/home/rafal/Pulpit/godot/modules/mbedtls/stream_peer_mbed_tls.cpp:102)
[11] StreamPeerMbedTLS::connect_to_stream(Ref<StreamPeer>, bool, String const&) (/home/rafal/Pulpit/godot/modules/mbedtls/stream_peer_mbed_tls.cpp:157 (discriminator 4))
[12] MethodBind3R<Error, Ref<StreamPeer>, bool, String const&>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:2505 (discriminator 16))
[13] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:940 (discriminator 1))
[14] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/home/rafal/Pulpit/godot/core/variant_call.cpp:1073 (discriminator 1))
[15] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/home/rafal/Pulpit/godot/modules/gdscript/gdscript_function.cpp:1080)
[16] GDScriptInstance::call_multilevel(StringName const&, Variant const**, int) (/home/rafal/Pulpit/godot/modules/gdscript/gdscript.cpp:1192)
[17] Node::_notification(int) (/home/rafal/Pulpit/godot/scene/main/node.cpp:58)
[18] Node::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/main/node.h:46 (discriminator 14))
[19] CanvasItem::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/2d/canvas_item.h:166 (discriminator 3))
[20] Node2D::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/2d/node_2d.h:38 (discriminator 3))
[21] Object::notification(int, bool) (/home/rafal/Pulpit/godot/core/object.cpp:952)
[22] SceneTree::_notify_group_pause(StringName const&, int) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:975)
[23] SceneTree::idle(float) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:522 (discriminator 3))
[24] Main::iteration() (/home/rafal/Pulpit/godot/main/main.cpp:1922)
[25] OS_X11::run() (/home/rafal/Pulpit/godot/platform/x11/os_x11.cpp:3163)
[26] /usr/bin/godot(main+0xdf) [0x1390871] (/home/rafal/Pulpit/godot/platform/x11/godot_x11.cpp:56)
[27] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f67e6e68b6b] (??:0)
[28] /usr/bin/godot(_start+0x2a) [0x13906da] (??:?)

Steps to reproduce:

  1. Read informations about repository(https://github.com/qarmin/The-worst-Godot-test-project/#informations)
  2. Run minimal project and wait

Minimal reproduction project:
https://github.com/qarmin/The-worst-Godot-test-project/
commit 3a8b77b5a0016faa84f91505064dc5298f6c3b98
ZIP - https://github.com/qarmin/The-worst-Godot-test-project/archive/3a8b77b5a0016faa84f91505064dc5298f6c3b98.zip

bug confirmed crash network

Most helpful comment

This is really small project, Nodes which are hidden(all except root -
Resource and StreamPeerSSL) are deleted a little after running.
The smallest project which I can extract is here - AA.zip
I also add information to this repository to better testing.

Zrzut ekranu z 2019-06-23 19-05-25

All 3 comments

@qarmin you have opened many issues with that same reproduction project.

It runs A LOT of code (so really, it's not minimal). Some of that code might (and I suspect in fact do) compromise memory, so any successive error might be not related to the stack trace you see.
Can you reproduce this by running only the SSL part? If yes, can you provide a minimal project for that?

This is really small project, Nodes which are hidden(all except root -
Resource and StreamPeerSSL) are deleted a little after running.
The smallest project which I can extract is here - AA.zip
I also add information to this repository to better testing.

Zrzut ekranu z 2019-06-23 19-05-25

@qarmin thank you for the help and instructions. I proposed a fix.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

RebelliousX picture RebelliousX  路  3Comments

EdwardAngeles picture EdwardAngeles  路  3Comments

Spooner picture Spooner  路  3Comments

timoschwarzer picture timoschwarzer  路  3Comments

Zylann picture Zylann  路  3Comments