Skip to content

Tunnel on Alpine arm64 fails: invalid type: integer 0 #184473

@chrmarti

Description

@chrmarti

It works with insiders.vscode.dev and Remote-Tunnels pre-release, just not with current vscode.dev (1.78.2). Not sure if that is expected.

The web UI hangs while connecting to the tunnel. The tunnel's verbose output is:

❯ export COMMIT="aee52551e25d98391f9064996196cd83a9fc8669"
❯ docker run -e COMMIT -it --rm arm64v8/alpine /bin/sh -c 'apk update && apk add musl libgcc libstdc++ && wget "https://update.code.visualstudio.com/commit:$COMMIT/cli-alpine-arm64/stable" -O- | tar -xz && ./code tunnel --verbose'

fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/aarch64/APKINDEX.tar.gz
v3.17.3-216-g54a39ace82a [https://dl-cdn.alpinelinux.org/alpine/v3.17/main]
v3.17.3-215-g6bd5159ef73 [https://dl-cdn.alpinelinux.org/alpine/v3.17/community]
OK: 17694 distinct packages available
(1/2) Installing libgcc (12.2.1_git20220924-r4)
(2/2) Installing libstdc++ (12.2.1_git20220924-r4)
OK: 10 MiB in 17 packages
Connecting to update.code.visualstudio.com (51.144.164.215:443)
Connecting to az764295.vo.msecnd.net (152.199.19.160:443)
writing to stdout
-                    100% |*************************************************************************************************************************************************************************| 6167k  0:00:00 ETA
written to stdout
*
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
✔ Do you accept the terms in the License Agreement (Y/n)? · yes
[2023-06-07 06:36:45] debug starting as new singleton
[2023-06-07 06:36:45] debug No code server tunnel found, creating new one
[2023-06-07 06:36:45] trace No token in keyring, getting a new one
[2023-06-07 06:36:45] debug [reqwest::connect] starting new connection: https://github.com/
To grant access to the server, please log into https://github.com/login/device and use code 4D5C-91B5
[2023-06-07 06:36:50] trace refresh poll failed, retrying: Error getting authorization: authorization_pending The authorization request is still pending.
[2023-06-07 06:36:56] trace refresh poll failed, retrying: Error getting authorization: authorization_pending The authorization request is still pending.
[2023-06-07 06:37:01] trace refresh poll failed, retrying: Error getting authorization: authorization_pending The authorization request is still pending.
[2023-06-07 06:37:06] debug [reqwest::connect] starting new connection: https://global.rel.tunnels.api.visualstudio.com/
✔ What would you like to call this machine? · e2a5ce3dd298
[2023-06-07 06:37:21] info Creating tunnel with the name: e2a5ce3dd298
[2023-06-07 06:37:21] trace Found token in keyring
[2023-06-07 06:37:21] debug [reqwest::connect] starting new connection: https://api.github.com/
[2023-06-07 06:37:22] debug Starting tunnel to server...
[2023-06-07 06:37:22] trace Found token in keyring
[2023-06-07 06:37:22] debug [reqwest::connect] starting new connection: https://euw.rel.tunnels.api.visualstudio.com/
[2023-06-07 06:37:23] debug [tungstenite::handshake::client] Client handshake done.
[2023-06-07 06:37:23] debug [russh::ssh_read] read_ssh_id: reading
[2023-06-07 06:37:23] debug [russh::ssh_read] read 39
[2023-06-07 06:37:23] debug [russh::ssh_read] Ok("SSH-2.0-Microsoft.DevTunnels.Ssh_3.11\r\n")
[2023-06-07 06:37:23] debug [russh::client] writing 352 bytes
[2023-06-07 06:37:23] debug [russh::ssh_read] id 39 39
[2023-06-07 06:37:23] debug [russh::client::kex] extending []
[2023-06-07 06:37:23] debug [russh::client::kex] algo = Names { kex: Name("none"), key: Name("none"), cipher: Name("none"), client_mac: Name("none"), server_mac: Name("none"), server_compression: None, client_compression: None, ignore_guessed: false }
[2023-06-07 06:37:23] debug [russh::client::kex] write = []
[2023-06-07 06:37:23] debug [russh::client::kex] i0 = 342
[2023-06-07 06:37:23] debug [russh::client::kex] moving to kexdhdone, exchange = Exchange { client_id: CryptoVec { p: 0x21490300, size: 28, capacity: 32 }, server_id: CryptoVec { p: 0x2103c9c0, size: 37, capacity: 64 }, client_kex_init: CryptoVec { p: 0x214a66a0, size: 342, capacity: 512 }, server_kex_init: CryptoVec { p: 0x214a6b80, size: 94, capacity: 128 }, client_ephemeral: CryptoVec { p: 0x1, size: 0, capacity: 0 }, server_ephemeral: CryptoVec { p: 0x1, size: 0, capacity: 0 } }
[2023-06-07 06:37:23] debug [tunnels::connections::relay_tunnel_host] established host relay primary session
[2023-06-07 06:37:23] debug Connected to tunnel endpoint: TunnelRelayTunnelEndpoint { base: TunnelEndpoint { connection_mode: TunnelRelay, host_id: "f688439e-4401-4c48-8db0-dab45f1d71e4", host_public_keys: [], port_uri_format: Some("https://vzltcpsz-{port}.euw.devtunnels.ms/"), tunnel_uri: Some("https://vzltcpsz.euw.devtunnels.ms/"), port_ssh_command_format: Some("ssh vzltcpsz-{port}@ssh.euw.devtunnels.ms"), tunnel_ssh_command: Some("ssh vzltcpsz@ssh.euw.devtunnels.ms"), ssh_gateway_public_key: None }, host_relay_uri: Some("wss://euw-data.rel.tunnels.api.visualstudio.com/api/v1/Host/Connect/vzltcpsz"), client_relay_uri: Some("wss://euw-data.rel.tunnels.api.visualstudio.com/api/v1/Client/Connect/vzltcpsz") }
[2023-06-07 06:37:23] debug Visual Studio Code Server is listening for incoming connections

Open this link in your browser https://vscode.dev/tunnel/e2a5ce3dd298

[2023-06-07 06:37:23] trace Found token in keyring
[2023-06-07 06:37:31] debug [russh::client::encrypted] confirming channel: OpenChannelMessage { typ: Unknown { typ: [99, 108, 105, 101, 110, 116, 45, 115, 115, 104, 45, 115, 101, 115, 115, 105, 111, 110, 45, 115, 116, 114, 101, 97, 109] }, recipient_channel: 0, recipient_window_size: 5242880, recipient_maximum_packet_size: 32768 }
[2023-06-07 06:37:31] debug [russh::client::encrypted] confirming channel: OpenChannelMessage { typ: Unknown { typ: [99, 108, 105, 101, 110, 116, 45, 115, 115, 104, 45, 115, 101, 115, 115, 105, 111, 110, 45, 115, 116, 114, 101, 97, 109] }, recipient_channel: 1, recipient_window_size: 5242880, recipient_maximum_packet_size: 32768 }
[2023-06-07 06:37:31] info [tunnels::connections::relay_tunnel_host] Opened new client on channel 2
[2023-06-07 06:37:31] info [tunnels::connections::relay_tunnel_host] Opened new client on channel 3
[2023-06-07 06:37:31] debug [tunnels::connections::relay_tunnel_host] starting to serve host relay client session
[2023-06-07 06:37:31] debug [russh::ssh_read] read_ssh_id: reading
[2023-06-07 06:37:31] debug [tunnels::connections::relay_tunnel_host] starting to serve host relay client session
[2023-06-07 06:37:31] debug [russh::ssh_read] read_ssh_id: reading
[2023-06-07 06:37:31] debug [russh::client::encrypted] channel_window_adjust
[2023-06-07 06:37:31] debug [russh::client::encrypted] amount: 4194334
[2023-06-07 06:37:31] debug [russh::ssh_read] read 32
[2023-06-07 06:37:31] debug [russh::ssh_read] Ok("SSH-2.0-dev-tunnels-ssh_3.10.6\r\n")
[2023-06-07 06:37:31] debug [russh::server::kex] server kex init: [20, 60, 195, 37, 57, 82, 143, 235, 252, 174, 199, 84, 194, 204, 43, 5, 40, 0, 0, 0, 84, 100, 105, 102, 102, 105, 101, 45, 104, 101, 108, 108, 109, 97, 110, 45, 103, 114, 111, 117, 112, 49, 52, 45, 115, 104, 97, 50, 53, 54, 44, 100, 105, 102, 102, 105, 101, 45, 104, 101, 108, 108, 109, 97, 110, 45, 103, 114, 111, 117, 112, 49, 52, 45, 115, 104, 97, 49, 44, 100, 105, 102, 102, 105, 101, 45, 104, 101, 108, 108, 109, 97, 110, 45, 103, 114, 111, 117, 112, 49, 45, 115, 104, 97, 49, 0, 0, 0, 25, 114, 115, 97, 45, 115, 104, 97, 50, 45, 50, 53, 54, 44, 114, 115, 97, 45, 115, 104, 97, 50, 45, 53, 49, 50, 0, 0, 0, 32, 97, 101, 115, 50, 53, 54, 45, 99, 116, 114, 44, 97, 101, 115, 49, 57, 50, 45, 99, 116, 114, 44, 97, 101, 115, 49, 50, 56, 45, 99, 116, 114, 0, 0, 0, 32, 97, 101, 115, 50, 53, 54, 45, 99, 116, 114, 44, 97, 101, 115, 49, 57, 50, 45, 99, 116, 114, 44, 97, 101, 115, 49, 50, 56, 45, 99, 116, 114, 0, 0, 0, 128, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 53, 49, 50, 45, 101, 116, 109, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 50, 53, 54, 45, 101, 116, 109, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 53, 49, 50, 44, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 50, 53, 54, 44, 104, 109, 97, 99, 45, 115, 104, 97, 49, 45, 101, 116, 109, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 104, 109, 97, 99, 45, 115, 104, 97, 49, 44, 110, 111, 110, 101, 0, 0, 0, 128, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 53, 49, 50, 45, 101, 116, 109, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 50, 53, 54, 45, 101, 116, 109, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 53, 49, 50, 44, 104, 109, 97, 99, 45, 115, 104, 97, 50, 45, 50, 53, 54, 44, 104, 109, 97, 99, 45, 115, 104, 97, 49, 45, 101, 116, 109, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 104, 109, 97, 99, 45, 115, 104, 97, 49, 44, 110, 111, 110, 101, 0, 0, 0, 26, 122, 108, 105, 98, 44, 122, 108, 105, 98, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 110, 111, 110, 101, 0, 0, 0, 26, 122, 108, 105, 98, 44, 122, 108, 105, 98, 64, 111, 112, 101, 110, 115, 115, 104, 46, 99, 111, 109, 44, 110, 111, 110, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[2023-06-07 06:37:31] debug [russh::ssh_read] id 32 32
[2023-06-07 06:37:31] debug [russh::kex::dh] server_dh
[2023-06-07 06:37:31] debug [russh::kex::dh] client_pubkey: [0, 221, 159, 233, 234, 255, 196, 123, 75, 196, 75, 12, 116, 104, 90, 198, 128, 240, 8, 242, 149, 175, 140, 63, 50, 209, 141, 57, 205, 104, 36, 156, 65, 250, 29, 83, 84, 133, 188, 119, 18, 124, 84, 146, 10, 52, 250, 176, 36, 214, 164, 217, 184, 63, 163, 44, 44, 121, 195, 91, 248, 16, 228, 121, 95, 163, 80, 81, 222, 45, 192, 38, 214, 241, 160, 141, 243, 58, 231, 205, 241, 107, 181, 210, 169, 210, 238, 158, 199, 247, 225, 199, 110, 83, 241, 255, 235, 39, 23, 141, 142, 4, 89, 170, 132, 236, 195, 102, 236, 102, 252, 202, 226, 104, 63, 56, 226, 205, 102, 172, 112, 234, 240, 1, 222, 17, 213, 234, 14, 194, 252, 248, 230, 142, 82, 60, 238, 49, 8, 107, 248, 172, 199, 243, 80, 40, 103, 234, 31, 16, 44, 4, 233, 82, 44, 75, 5, 236, 247, 40, 125, 82, 166, 36, 188, 231, 209, 242, 178, 216, 8, 192, 213, 124, 245, 116, 253, 115, 198, 157, 236, 165, 135, 74, 153, 100, 154, 197, 184, 116, 220, 142, 63, 3, 116, 223, 233, 188, 75, 235, 86, 125, 136, 254, 116, 27, 215, 150, 216, 153, 78, 43, 96, 38, 155, 36, 150, 78, 78, 168, 177, 111, 121, 171, 17, 107, 241, 14, 32, 99, 42, 150, 99, 192, 206, 48, 147, 235, 30, 135, 134, 111, 0, 255, 0, 50, 122, 255, 189, 48, 21, 227, 219, 9, 18, 81, 231]
[2023-06-07 06:37:31] debug [russh::server::kex] server kexdhdone.exchange = Exchange { client_id: CryptoVec { p: 0x2136a3a0, size: 30, capacity: 32 }, server_id: CryptoVec { p: 0x213a4700, size: 28, capacity: 32 }, client_kex_init: CryptoVec { p: 0x214a68c0, size: 483, capacity: 512 }, server_kex_init: CryptoVec { p: 0x214aada0, size: 543, capacity: 1024 }, client_ephemeral: CryptoVec { p: 0x214b3a80, size: 257, capacity: 512 }, server_ephemeral: CryptoVec { p: 0x214a6c60, size: 256, capacity: 256 } }
[2023-06-07 06:37:31] debug [russh::server::kex] exchange hash: CryptoVec { p: 0x214ac4a0, size: 32, capacity: 32 }
[2023-06-07 06:37:31] debug [russh::server::kex] signing with key 0
[2023-06-07 06:37:31] debug [russh::server::kex] hash: CryptoVec { p: 0x214ac4a0, size: 32, capacity: 32 }
[2023-06-07 06:37:31] debug [russh::server::kex] key: RSA { (hidden) }
[2023-06-07 06:37:31] debug [russh::server::encrypted] request: Ok("ssh-userauth")
[2023-06-07 06:37:31] debug [russh::server::encrypted] name: "tunnel" Ok("ssh-connection") Ok("none")
[2023-06-07 06:37:31] debug [tunnels::connections::relay_tunnel_host] host relay client session successfully authed
[2023-06-07 06:37:31] debug [rpc.0] Serving new connection
[2023-06-07 06:37:31] debug [rpc.0] closing socket reader: invalid type: integer `0`, expected struct PartialIncoming
[2023-06-07 06:37:31] info [rpc.0] Disposed of connection to running server.
[2023-06-07 06:37:31] debug [rpc.0] Closing connection: invalid type: integer `0`, expected struct PartialIncoming
[2023-06-07 06:38:31] debug [tunnels::connections::ws] sent liveness ping
[2023-06-07 06:38:31] debug [tunnels::connections::ws] received liveness pong

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions