ID:2904072
 
BYOND Version:515.1621
Operating System:Linux
Web Browser:Firefox 120.0
Applies to:Dream Daemon
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
When attempting to connect to a MySQL database on 64 bit AlmaLinux9.3, an error occurs that crashes DreamDaemon.

Errorlog output:
thread '<unnamed>' panicked at 'mask too long', /home/tad/.cargo/registry/src/github.com-1ecc6299db9ec823/mysql_common-0.22.1/src/crypto/rsa.rs:75:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
BUG: Crashing due to an illegal operation!
proc name: Connect (/datum/subsystem/dbcore/proc/Connect)
source file: code/controllers/subsystem/dbcore.dm,114
usr: null
src: feedback Database (/datum/subsystem/dbcore)
call stack:
feedback Database (/datum/subsystem/dbcore): Connect()
feedback Database (/datum/subsystem/dbcore): Initialize(262938)
world: New()

Backtrace for BYOND 515.1621 on Linux:
Generated at Sat Dec 16 07:18:13 2023

DreamDaemon [0x8048000, 0x0], [0x8048000, 0x804ba04]
libstdc++.so.6 0x90e00, 0x90e4b (_ZN9__gnu_cxx27__verbose_terminate_handlerEv)
linux-gate.so.1 [0xf7fc5000, 0xf7fc5580], [0xf7fc5000, 0xf7fc5580]
libstdc++.so.6 0x90e00, 0x90e4b (_ZN9__gnu_cxx27__verbose_terminate_handlerEv)
libstdc++.so.6 [0xf7000000, 0x0], 0x8e908
libstdc++.so.6 [0xf7000000, 0x0], 0x8e991
libstdc++.so.6 0x8ecb0, 0x8ed31 (__cxa_rethrow)
libbyond.so [0xf7800000, 0x0], 0x34c997
libbyond.so [0xf7800000, 0x0], 0x3564d4
libbyond.so [0xf7800000, 0x0], 0x37ec6d
libbyond.so [0xf7800000, 0x0], 0x37f422
libbyond.so [0xf7800000, 0x0], 0x335425
libbyond.so [0xf7800000, 0x0], 0x3564d4
libbyond.so [0xf7800000, 0x0], 0x37ec6d
libbyond.so [0xf7800000, 0x0], 0x37f422
libbyond.so [0xf7800000, 0x0], 0x3353d7
libbyond.so [0xf7800000, 0x0], 0x3564d4
libbyond.so [0xf7800000, 0x0], 0x37ec6d
libbyond.so [0xf7800000, 0x0], 0x37feeb
libbyond.so [0xf7800000, 0x0], 0x31736e
libbyond.so [0xf7800000, 0x0], 0x31a4cd
libbyond.so [0xf7800000, 0x0], 0x312dbe
libbyond.so [0xf7800000, 0x0], 0x3141b6
libbyond.so 0x3a9900, 0x3a994f
DreamDaemon [0x8048000, 0x0], [0x8048000, 0x804b2fb]
libc.so.6 [0xf6e09000, 0x0], 0x24e49
libc.so.6 0x24e90, 0x24f23 (__libc_start_main)
DreamDaemon [0x8048000, 0x0], [0x8048000, 0x804ad71]

Recent proc calls:
/proc/__detect_rust_g
/datum/subsystem/dbcore/proc/get_db_ids
/datum/subsystem/dbcore/proc/Connect
/datum/subsystem/dbcore/Initialize
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/return_file_text
/proc/file2list
/datum/configuration/proc/loadforumsql
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim
/proc/trim_left
/proc/trim_right
/proc/trim

To help the BYOND developers debug this, please send the above trace as part
of a very detailed bug report: http://www.byond.com/members/?command=view_tracker&tracker=1



Occurrence Frequency:
Every time

I'm not sure this is a BYOND bug at all. The involvement of external libraries makes this very questionable. I'd have to see the DM code in the routine that had the runtime error, but part of that error message is not BYOND stuff. The only thing I'm unsure of is that the backtrace appears to begin with BYOND stuff, but that might be a function of the way rust_g operates.
This is almost certainly a bug in the rust-tls stack and nothing to do with byond.