RustDesk Server 1.1.14 amd64 hbbs illegal instruction core dump
Describe the bug hbbs process exits with illegal instruction - core dump. While hbbr process works fine.
Describe the environment
- Install environment: ubuntu 24.04.1 x86_64 - intel CPU - Cloud VM
- Trying to install RustDesk Server 1.1.14 amd64
How to Reproduce the bug Steps to reproduce the behavior:
-
Ufw configured to allow port 2115:21119/tcp and 21116/udp
-
All system/packages upgrades and updates applied
-
Download RustDesk server 1.1.14 using:
sudo wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-hbbr_1.1.14_amd64.deb
sudo wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-hbbs_1.1.14_amd64.deb
- Install package hbbr
sudo apt install ./rustdesk-server-hbbr_1.1.14_amd64.deb
sudo systemctl status rustdesk-hbbr
rustdesk-hbbr.service - Rustdesk Relay Server
Loaded: loaded (/usr/lib/systemd/system/rustdesk-hbbr.service; enabled; preset: enabled)
Active: active (running) since Wed 2025-01-29 02:42:37 CST; 27min ago
Main PID: 13224 (hbbr)
Tasks: 11 (limit: 11847)
Memory: 836.0K (peak: 2.2M)
CPU: 271ms
CGroup: /system.slice/rustdesk-hbbr.service
└─13224 /usr/bin/hbbr
Jan 29 02:42:37 -----.-----.net systemd[1]: Started rustdesk-hbbr.service - Rustdesk Relay Server.
ALL WORK FINE
- Install package hbbs
sudo apt install ./rustdesk-server-hbbs_1.1.14_amd64.deb
sudo systemctl status rustdesk-hbbs
**Status indicates process core dumped**
rustdesk-hbbs.service - Rustdesk Signal Server
Loaded: loaded (/usr/lib/systemd/system/rustdesk-hbbs.service; enabled; preset: enabled)
Active: activating (auto-restart) (Result: core-dump) since Wed 2025-01-29 02:01:53 CST; 7s ago
Process: 5790 ExecStart=/usr/bin/hbbs (code=dumped, signal=ILL)
Main PID: 5790 (code=dumped, signal=ILL)
CPU: 38ms
And keep restarting then stopping with same error
Additional context /var/log/rustdesk-server/hbbs.log
[2025-01-29 02:02:56.097087 +08:00] INFO [src/rendezvous_server.rs:99] serial=0
[2025-01-29 02:02:56.097116 +08:00] INFO [src/common.rs:45] rendezvous-servers=[]
[2025-01-29 02:02:56.097121 +08:00] INFO [src/rendezvous_server.rs:101] Listening on tcp/udp :21116
[2025-01-29 02:02:56.097125 +08:00] INFO [src/rendezvous_server.rs:102] Listening on tcp :21115, extra port for NAT test
[2025-01-29 02:02:56.097130 +08:00] INFO [src/rendezvous_server.rs:103] Listening on websocket :21118
[2025-01-29 02:02:56.097419 +08:00] INFO [src/rendezvous_server.rs:138] mask: None
[2025-01-29 02:02:56.097460 +08:00] INFO [src/rendezvous_server.rs:139] local-ip: ""
[2025-01-29 02:02:56.097539 +08:00] INFO [src/common.rs:45] relay-servers=[]
[2025-01-29 02:02:56.097786 +08:00] INFO [src/rendezvous_server.rs:153] ALWAYS_USE_RELAY=N
[2025-01-29 02:02:56.097852 +08:00] INFO [src/rendezvous_server.rs:185] Start
[2025-01-29 02:03:06.596365 +08:00] INFO [src/common.rs:121] Private key comes from id_ed25519
[2025-01-29 02:03:06.596474 +08:00] INFO [src/rendezvous_server.rs:1205] Key: TzCTt0JwU8b7rklwtAhxFDw47CqXGF+Gg3hoaMUpkmU=
[2025-01-29 02:03:06.596493 +08:00] INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3
[2025-01-29 02:03:17.094538 +08:00] INFO [src/common.rs:121] Private key comes from id_ed25519
[2025-01-29 02:03:17.094926 +08:00] INFO [src/rendezvous_server.rs:1205] Key: TzCTt0JwU8b7rklwtAhxFDw47CqXGF+Gg3hoaMUpkmU=
[2025-01-29 02:03:17.094939 +08:00] INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3
[2025-01-29 02:03:27.593356 +08:00] INFO [src/common.rs:121] Private key comes from id_ed25519
[2025-01-29 02:03:27.593692 +08:00] INFO [src/rendezvous_server.rs:1205] Key: TzCTt0JwU8b7rklwtAhxFDw47CqXGF+Gg3hoaMUpkmU=
[2025-01-29 02:03:27.593794 +08:00] INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3
[2025-01-29 02:03:38.091786 +08:00] INFO [src/common.rs:121] Private key comes from id_ed25519
[2025-01-29 02:03:38.091852 +08:00] INFO [src/rendezvous_server.rs:1205] Key: TzCTt0JwU8b7rklwtAhxFDw47CqXGF+Gg3hoaMUpkmU=
[2025-01-29 02:03:38.091861 +08:00] INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3
Testing as process
sudo systemctl stop rustdesk-hbbs
hbbs
Outputs:
[2025-01-29 02:03:54.576996 +08:00] INFO [src/common.rs:121] Private key comes from id_ed25519
[2025-01-29 02:03:54.577356 +08:00] INFO [src/rendezvous_server.rs:1205] Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[2025-01-29 02:03:54.577384 +08:00] INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3
Illegal instruction (core dumped)
(key hidden is a valid key matching the content of .pub file)
If 1.1.12 works, could you try out https://github.com/21pages/rustdesk-server/releases/tag/untagged-b143348d8880e00fcf42 and show the logs?
@21pages Version 1.1.12 works fine. If it support client versions, it's enough for now.
The provided ling returns 404.
Here is the log of hbbs with version 1.1.12
[2025-01-29 20:27:11.604912 +08:00] INFO [src/common.rs:122] Private key comes from id_ed25519 [2025-01-29 20:27:11.604960 +08:00] INFO [src/rendezvous_server.rs:1205] Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX= [2025-01-29 20:27:11.604967 +08:00] INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3 [2025-01-29 20:27:11.624658 +08:00] INFO [src/rendezvous_server.rs:99] serial=0 [2025-01-29 20:27:11.624818 +08:00] INFO [src/common.rs:46] rendezvous-servers=[] [2025-01-29 20:27:11.624836 +08:00] INFO [src/rendezvous_server.rs:101] Listening on tcp/udp :21116 [2025-01-29 20:27:11.624839 +08:00] INFO [src/rendezvous_server.rs:102] Listening on tcp :21115, extra port for NAT test [2025-01-29 20:27:11.624843 +08:00] INFO [src/rendezvous_server.rs:103] Listening on websocket :21118 [2025-01-29 20:27:11.624932 +08:00] INFO [libs/hbb_common/src/udp.rs:36] Receive buf size of udp [::]:21116: Ok(212992) [2025-01-29 20:27:11.625171 +08:00] INFO [src/rendezvous_server.rs:138] mask: None [2025-01-29 20:27:11.625205 +08:00] INFO [src/rendezvous_server.rs:139] local-ip: "" [2025-01-29 20:27:11.625220 +08:00] INFO [src/common.rs:46] relay-servers=[] [2025-01-29 20:27:11.625391 +08:00] INFO [src/rendezvous_server.rs:153] ALWAYS_USE_RELAY=N [2025-01-29 20:27:11.625562 +08:00] INFO [src/rendezvous_server.rs:185] Start [2025-01-29 20:27:11.625702 +08:00] INFO [libs/hbb_common/src/udp.rs:36] Receive buf size of udp [::]:0: Ok(212992) [2025-01-29 20:27:12.020234 +08:00] INFO [src/peer.rs:102] update_pk XXXXXXXX [::ffff:183.194.167.16]:10011 ... [2025-01-29 20:41:42.248798 +08:00] INFO [src/peer.rs:102] update_pk XXXXXXXX [::ffff:183.194.167.16]:10168 ...
Which raises some question. Why the rendezvous-server (hbbs) needs to connect to 183.194.167.16? And what is this server? A self-hosted server is not suppose to exchange data with other systems (except his clients).
relay-servers is left empty. That is not a big problem assuming we don4t want to use RELAY. But does that means the hbbr service is useless? Or the default is same host as rendezvous-server with default port? Or shall we update service definition to pass value of relay server have environment variable?