Jigsaw-Code / outline-apps

Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.
https://getoutline.org/
Apache License 2.0
8.4k stars 1.36k forks source link

Ubuntu 18.04.3 LTS AppImage throw SystemConfigurationException (routing daemon is not running) #718

Open firen777 opened 4 years ago

firen777 commented 4 years ago

Describe the bug Running Outline VPN client AppImage on Ubuntu 18.04.3 LTS throws the following exception during first time connection, after giving out admin privilege for the /tmp/.../install_linux_service.sh script:

could not connect: SystemConfigurationException (routing daemon is not running)

To Reproduce Steps to reproduce the behavior:

  1. Execute Outline-Client.AppImage via terminal
  2. Add Shadowsocks server
  3. Click connect
  4. Give out admin privilege when prompted
  5. terminal output the described exception, Client prompt the message "Sorry, it looks like Outline is not properly installed. Please try installing it again. If that doesn’t work, please submit feedback through the app."

Expected behavior The client should work fine after first time connection. The client did works fine on my other two Linux instances (Linux Mint 19.1, 19.2, though the outline)

Screenshots terminal output when running AppImage:

Checking for update
loading web app from file:///tmp/.mount_Outlin6HlkUd/resources/app.asar/www/electron_index.html
(electron) 'getName function' is deprecated and will be removed. Please use 'name property' instead.
Outline is starting
Update for version 1.0.12 is not available (latest version: 1.0.12, downgrade is disallowed).
connecting to 1487e2e3-d1e8-4c8b-a6f4-a69223594fcd...
UDP support: false
(re-)installing routing daemon
copying service files to /tmp/9knN0e
Promise "DNS lookup" resolved before 10000 ms.
could not connect: SystemConfigurationException (routing daemon is not running)

Desktop (please complete the following information):

Submit Feedback Please submit feedback through the app and label it with this issue number.

Additional context This particular instance of Ubuntu had OpenVPN installed. Not sure if this is related since removing it and restarting machine does nothing.

Grannath commented 4 years ago

Same issue on a pretty fresh install of Manjaro. Some more details:

Running the AppImage prompts once for password, then fails, as described above.

Running the install script manually from the tmp folder prompts repeatedly, without success. Running it with sudo installs successfully, but the service cannot start.

● outline_proxy_controller.service - Outline Proxy Routing Controller
     Loaded: loaded (/etc/systemd/system/outline_proxy_controller.service; enabled; vendor preset: disabled)
     Active: inactive (dead) since Thu 2020-04-23 14:31:12 CEST; 2s ago
    Process: 1490338 ExecStart=/usr/local/sbin/OutlineProxyController --socket-filename=/var/run/outline_controller (code=exited, status=0/SUCCESS)
   Main PID: 1490338 (code=exited, status=0/SUCCESS)

Apr 23 14:31:12 *** systemd[1]: Started Outline Proxy Routing Controller.
Apr 23 14:31:12 *** OutlineProxyController[1490338]: 1587645072.270129: [ERROR] open: No such device
Apr 23 14:31:12 *** OutlineProxyController[1490338]:
Apr 23 14:31:12 *** OutlineProxyController[1490338]: Exception: failed to add outline tun network interface
Apr 23 14:31:12 *** OutlineProxyController[1490338]: Exception: failed to add outline tun network interface
Apr 23 14:31:12 *** systemd[1]: outline_proxy_controller.service: Succeeded.
Grannath commented 4 years ago

OK, I managed to get it working. It's not really Outline's fault, but still maybe something to verify during the installation. I was missing the tun kernel module. Don't know why. I installed it manually and now it's working.

See https://superuser.com/questions/497245/how-to-load-tun-module-in-linux

sammdu commented 3 years ago

I have the same issue!

Ubuntu 18.04

In the GUI, it says "Sorry, it looks like Outline is not properly installed...", and in the terminal it says the following:

Checking for update
loading web app from file:///tmp/.mount_OutlingIztCe/resources/app.asar/www/electron_index.html
Error: Error: ENOENT: no such file or directory, open '/tmp/.mount_OutlingIztCe/resources/app-update.yml'
(node:2187) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/tmp/.mount_OutlingIztCe/resources/app-update.yml'
(node:2187) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/tmp/.mount_OutlingIztCe/resources/app-update.yml'
(node:2187) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:2187) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:2187) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:2187) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Outline is starting
connecting to 587a5986-0869-474f-92e4-9db4454c84b4...
UDP support: true
(re-)installing routing daemon
copying service files to /tmp/JJw8CO
could not connect: SystemConfigurationException (routing daemon is not running)
Promise "DNS lookup" resolved before 10000 ms.

I tried the moethods in the Superuser article you linked, and it doesn't seem to work for me either.

$ sudo lsmod | grep tun

produced no output.

$ sudo modprobe tun

produced no output.

$ sudo find /lib/modules/ -iname 'tun.ko.gz'

produced no output.

$ sudo cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

@Grannath do you by chance have an idea how to fix this? (perhaps after the holidays ;-)

aabed commented 3 years ago

Had the same issue tried an older version and it worked @sammdu you can try https://github.com/Jigsaw-Code/outline-client/releases/download/daily-2019-12-13/Outline-Client.AppImage

GetPsyched commented 1 year ago

Getting the same issue. It's been 3 years since this issue was first reported, it should be fixed. Thanks @aabed for the older image; it worked like a charm.

sergeG commented 1 year ago

The same issue. The older image works.

HadiDoDev commented 12 months ago

Hello, I had the exact same problem and after doing the things mentioned here, I ran the following command and it was solved for me. sudo chown /var/run/outline_controller

ProfaneServitor commented 1 month ago

Had the same issue tried an older version and it worked @sammdu you can try https://github.com/Jigsaw-Code/outline-client/releases/download/daily-2019-12-13/Outline-Client.AppImage

I tried running the old version, and it still breaks. Although the error is different:

Checking for update
loading web app from file:///tmp/.mount_OutlinbujHGb/resources/app.asar/www/electron_index.html
Error: Error: ENOENT: no such file or directory, open '/tmp/.mount_OutlinbujHGb/resources/app-update.yml'
(node:11267) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/tmp/.mount_OutlinbujHGb/resources/app-update.yml'
(node:11267) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/tmp/.mount_OutlinbujHGb/resources/app-update.yml'
(node:11267) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:11267) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:11267) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:11267) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(electron) 'getName function' is deprecated and will be removed. Please use 'name property' instead.
Outline is starting
connecting to 404bfb47-4ecd-4024-985b-d491f41945ad...
UDP support: false
(re-)installing routing daemon
copying service files to /tmp/SvmiZ9
a helper has exited, disconnecting
could not stop routing: Cannot call write after a stream was destroyed
Promise "DNS lookup" resolved before 10000 ms.
could not connect: SystemConfigurationException (routing daemon is not running)
disconnecting from current server...
could not stop routing: Cannot call write after a stream was destroyed