rustdesk-server icon indicating copy to clipboard operation
rustdesk-server copied to clipboard

RustDesk Server 1.1.14 amd64 hbbs illegal instruction core dump

Open denisosteo opened this issue 1 year ago • 3 comments

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:

  1. Ufw configured to allow port 2115:21119/tcp and 21116/udp

  2. All system/packages upgrades and updates applied

  3. 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
  1. 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

  1. 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)

denisosteo avatar Jan 28 '25 19:01 denisosteo

If 1.1.12 works, could you try out https://github.com/21pages/rustdesk-server/releases/tag/untagged-b143348d8880e00fcf42 and show the logs?

21pages avatar Jan 29 '25 08:01 21pages

@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?

denisosteo avatar Jan 29 '25 13:01 denisosteo