Still problems with installing Roon Bridge [Updated Install Script]

@support I’m still having issues with installing Roon Bridge, by some users.

So RoPieee uses the ‘easy installer script’. For some users this results in the following:

[snip]
Mar 21 14:54:28 ropieee bootstrap[1468]: These settings are suitable for turning a dedicated or semi-dedicated device
Mar 21 14:54:28 ropieee bootstrap[1468]: into an appliance that runs RoonBridge
Mar 21 14:54:28 ropieee bootstrap[1468]: If you want customize how RoonBridge is installed, see:
Mar 21 14:54:28 ropieee bootstrap[1468]:    http://kb.roonlabs.com/LinuxInstall
Mar 21 14:54:28 ropieee bootstrap[1468]: --------------------------------------------------------------------------------------
Mar 21 14:54:28 ropieee bootstrap[1468]: Downloading RoonBridge_linuxarmv7hf.tar.bz2 to /tmp/tmp.Yy60rODoPA/RoonBridge_linuxarmv7hf.tar.bz2
Mar 21 14:54:28 ropieee bootstrap[1475]: [80B blob data]
Mar 21 14:54:28 ropieee bootstrap[1468]: Unpacking RoonBridge_linuxarmv7hf.tar.bz2...
Mar 21 14:54:28 ropieee bootstrap[1476]: tar: This does not look like a tar archive
Mar 21 14:54:28 ropieee bootstrap[1477]: bzip2: (stdin) is not a bzip2 file.
Mar 21 14:54:28 ropieee bootstrap[1476]: tar: Child returned status 2
Mar 21 14:54:28 ropieee bootstrap[1476]: tar: Error is not recoverable: exiting now
[snip]

So for some reason the curl command in the easy installer script does not return a proper archive. The weird thing: I can’t reproduce it and for those customers that see this it’s 100% reproducible :exploding_head:

One thing that I’m wondering: if you download the Roon Bridge archive directly, without using the ‘easy installer’ script, the URL is with https. While in the easy installer script itself it is http.

Could this be, for whatever reason, causing issues for some users?

Thanks

Hi, @spockfish, thank you for the report. I passed this one to our dev team.

Thanks!


Ivan

1 Like

Hi @spockfish,

That output looks an awful lot like what I would expect with the old version of the easy install script, attempting to download from http://download.roonlabs.com/builds/RoonBridge_linuxarmv7hf.tar.bz2 without the -L curl argument. Do you have a way to check exactly what script the users with a problem are running?

I also can’t reproduce a problem by running the current install script version or any sort of curl -L command, with either the http or https links. I can imagine ways in which the http vs https difference could cause problems for users, but they make a lot more sense if curl isn’t following redirects

Not exactly.

But I do know that it will download the easy installer script from the URL: it is not being cached client side or whatever. So that leaves me totally confused :exploding_head:

I’ve put out a script that injects my own version of the easy installer script that is a little bit more verbose by adding the ‘-v’ flag to the curl command (would be great if you guys did this as well).

Thanks

So @ben crazy idea:

You switched to cloudflare, and probably use their CDN functionality as well…
Could it be that for some locations there’s some cache problem? So those users indeed get the old script served out?

I’ve seen stuff like that happen with our imagecache, I could see it being the case here as well. If that’s the case, you could probably get it to stop by appending a dummy query parameter to the end of the script path, so for example the url for the armv7hf script might be something like this:
https://download.roonlabs.net/builds/roonbridge-installer-linuxarmv7hf.sh?nocache=1

Edit:
I’ve looked at the response headers I get requesting that script, and there is a cf-cache-status: DYNAMIC header that suggests it’s not being cached by cloudflare, so I don’t know what might be going on.

Hi @ben ,

I’ve patched the easy installer script (added the ‘-v’ flag to the curl command) and I now have response:

[snip]
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1440]: Downloading RoonBridge_linuxarmv7hf.tar.bz2 to /tmp/tmp.aV2eimRxlb/RoonBridge_linuxarmv7hf.tar.bz2
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]:                                  Dload  Upload   Total   Spent    Left  Speed
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: [133B blob data]
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: > Host: download.roonlabs.net
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: > User-Agent: curl/7.79.1
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: > Accept: */*
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: >
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: < HTTP/1.1 200 OK
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: < Server: Jetty/4.2.x (Windows XP/5.1 x86 java/1.6.0_17)
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: < Content-Type: text/html
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: < Content-Length: 231
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: < Accept-Ranges: bytes
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: <
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: { [231 bytes data]
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1447]: [79B blob data]
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1440]: Unpacking RoonBridge_linuxarmv7hf.tar.bz2...
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1448]: tar: This does not look like a tar archive
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1449]: bzip2: (stdin) is not a bzip2 file.
Mar 22 13:47:58 ROON-MANCAVE bootstrap[1448]: tar: Child returned status 2
[snip]

So it receives html instead of a binary. How weird is that? And why does this user have this 100% all the time and I don’t?

Hi @ben (and cc’ing @danny)

What I expected: the problem is with http vs https. I’m not sure what actually happens, but adjusting the URL in the easy installer script from using http to https fixes the issue.

[snip]
Mar 22 14:20:08 ROON-MANCAVE bootstrap[1439]: Downloading RoonBridge_linuxarmv7hf.tar.bz2 to /tmp/tmp.pCMINw2Bly/RoonBridge_linuxarmv7hf.tar.bz2
Mar 22 14:20:08 ROON-MANCAVE bootstrap[1439]: *** RoPieee PATCHED INSTALLER SCRIPT ***
Mar 22 14:20:08 ROON-MANCAVE bootstrap[1446]:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Mar 22 14:20:08 ROON-MANCAVE bootstrap[1446]:                                  Dload  Upload   Total   Spent    Left  Speed
Mar 22 14:20:08 ROON-MANCAVE bootstrap[1446]: [95B blob data]
Mar 22 14:20:08 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (OUT), TLS handshake, Client hello (1):
Mar 22 14:20:08 ROON-MANCAVE bootstrap[1446]: } [512 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (IN), TLS handshake, Server hello (2):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [122 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [19 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (IN), TLS handshake, Certificate (11):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [2328 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (IN), TLS handshake, CERT verify (15):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [79 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (IN), TLS handshake, Finished (20):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [52 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: } [1 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (OUT), TLS handshake, Finished (20):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: } [52 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: > GET /builds/RoonBridge_linuxarmv7hf.tar.bz2 HTTP/2
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: > Host: download.roonlabs.net
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: > user-agent: curl/7.79.1
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: > accept: */*
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: >
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [5 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [230 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [230 bytes data]
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < HTTP/2 200
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < date: Tue, 22 Mar 2022 18:20:09 GMT
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < content-type: application/octet-stream
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < content-length: 16034173
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < last-modified: Sat, 12 Mar 2022 18:37:00 GMT
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < etag: "622ce84c-f4a97d"
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < cf-cache-status: MISS
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < accept-ranges: bytes
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < server: cloudflare
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: < cf-ray: 6f00f08cb92c9ab4-MIA
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: <
Mar 22 14:20:09 ROON-MANCAVE bootstrap[1446]: { [1133 bytes data]
Mar 22 14:20:21 ROON-MANCAVE bootstrap[1439]: Unpacking RoonBridge_linuxarmv7hf.tar.bz2...Done
Mar 22 14:20:21 ROON-MANCAVE bootstrap[1450]: Checking to see if RoonBridge can run on this machine
Mar 22 14:20:21 ROON-MANCAVE bootstrap[1450]:     Checking for Binary Compatibility                            [   OK   ]
Mar 22 14:20:21 ROON-MANCAVE bootstrap[1450]:     Checking for ALSA Libraries                                  [   OK   ]
Mar 22 14:20:21 ROON-MANCAVE bootstrap[1450]: STATUS: SUCCESS
Mar 22 14:20:21 ROON-MANCAVE bootstrap[1439]: Copying Files...Done
Mar 22 14:20:23 ROON-MANCAVE bootstrap[1456]: Failed to stop roonbridge.service: Unit roonbridge.service not loaded.
Mar 22 14:20:23 ROON-MANCAVE bootstrap[1439]: Installing /etc/systemd/system/roonbridge.service
Mar 22 14:20:23 ROON-MANCAVE bootstrap[1439]: Enabling service roonbridge...
Mar 22 14:20:23 ROON-MANCAVE bootstrap[1458]: Created symlink /etc/systemd/system/multi-user.target.wants/roonbridge.service → /etc/systemd/system/roonbridge.service.
Mar 22 14:20:23 ROON-MANCAVE systemd[1]: Reloading.
Mar 22 14:20:24 ROON-MANCAVE bootstrap[1439]: Service Enabled
Mar 22 14:20:24 ROON-MANCAVE bootstrap[1439]: Starting service roonbridge...
Mar 22 14:20:24 ROON-MANCAVE systemd[1]: Started RoonBridge.

[/snip]

Can you please fix this asap in the publicly available installer script?

Thanks!

what is the HTML?

see above the logs, the exact html I don’t have.

yah i saw that… its the html i want to see. it will tell us what’s going on.

We’ve modified the installer scripts on the website to use https links, they should be live now.

2 Likes

Works a treat on my previously problematic setup. Thanks y’all!

1 Like

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.