Skip to content

TLS handshake error in project manager and asset library on custom Linux builds with dev_build=yes/optimize=none and TLS v1.3 enabled #108048

Open
@akien-mga

Description

@akien-mga

Tested versions

  • Reproducible in 4.5.beta (d89f4ab)
  • Reproducible in 4.4.2.rc (e531f3e)
  • Not reproducible in 4.3.1.rc (63c6165)

System information

Fedora Linux 42 (KDE Plasma Desktop Edition) on Wayland - X11 display driver, Multi-window, 2 monitors - OpenGL 3 (Compatibility) - AMD Radeon 780M Graphics (radeonsi, phoenix, LLVM 20.1.6, DRM 3.63, 6.15.3-200.fc42.x86_64) - AMD Ryzen 7 8845HS w/ Radeon 780M Graphics (16 threads) - 60.61 GiB memory

Issue description

When compiling Godot from source with dev_build=yes on Fedora 42, I get some mbedTLS "TLS handshake error" messages whenever TLS is used.

This is visible e.g. in the Project Manager when it checks for Godot updates:

ERROR: TLS handshake error: -27648
   at: _do_handshake (modules/mbedtls/stream_peer_mbedtls.cpp:88)
mbedtls error: returned -0x6c00

Image

Or in the Asset Library (same error code):

Image

According to @pythongirl325 this is also reproducible on Arch Linux: #107754 (comment)

I can reproduce this in 4.4 and 4.5, but not 4.3, so I suspect this is related to enabling support for TLS v1.3 in 4.4:

Toggling the network/tls/enable_tls_v1.3 editor setting doesn't seem to change the behavior, but I have a suspicion that this setting might be broken as the .3 might be interpreted as a feature override (at least it's styled as such in the editor settings).

I debugged this a bit more a few weeks ago but I can't find the chat logs about it. IIRC the problem was not dev_build=yes per se, but optimize=none which it enables. So mbedtls without optimization would end up being broken.

CC @Faless

Steps to reproduce

  • On Fedora 42 or Arch Linux: scons dev_build=yes
  • Open project manager and see errors

Minimal reproduction project (MRP)

n/a

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Not Critical

    Status

    For team assessment

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions