Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug in version 1.12 of Windows #1760

Closed
ahmadipiralvan opened this issue Oct 27, 2023 · 49 comments
Closed

Bug in version 1.12 of Windows #1760

ahmadipiralvan opened this issue Oct 27, 2023 · 49 comments
Labels
bug Something is broken, we are tracking it failure/connect os/linux os/windows

Comments

@ahmadipiralvan
Copy link

Hi
Outline on Windows was automatically updated to version 1.12. But after pressing the connection button, the internet of the entire system is disconnected and it will not be connected until the system is restarted. It is suggested to put settings to disable automatic update in the program so that if there is a bug, we can disable it.

photo_2023-10-27_16-26-21

@ahmadipiralvan ahmadipiralvan added the bug Something is broken, we are tracking it label Oct 27, 2023
@cornzzy
Copy link

cornzzy commented Oct 28, 2023

The forced auto update makes no sense for this untested software. 1.12.0 was also released for iOS at the same and I had to tell every iOS client to reinstall to fix another issue.

It looks like there was an edit to how it handles server domains or DNS.

Beside OP's issue, sometimes the app sets custom IP addresses in the TAP adapter's IPv4 properties, suffocating itself. Users either have to set it back to auto or use Windows "Reset network" feature.

I appreciate that the software is free and that a lot of work has gone into it, but some of the decisions are baffling.

@ldiazborg
Copy link

It has problems in the Linux operating system too. I can't connect to any server, but when I download an older version, everything works.

@PlatonB
Copy link

PlatonB commented Oct 28, 2023

I have the same problem. Windows 11, Outline 1.12.0, BlancVPN provider.

@Talendar
Copy link

I and some other users I know are also facing the same problem.

@jafari-dev
Copy link

I have the same problem with Outline 1.12.0. My OS is Windows 11 Enterprise 22H2.

@leadertv
Copy link

The error appears when using dynamic keys. The error occurs for some users. The error was noticed on Windows 10 and 11.

@homewsn
Copy link

homewsn commented Oct 29, 2023

Same problem, Outline client version 1.12.0 (471355), Windows 10 22H2. But I can restore my usual Internet connection by killing the service process OutlineService.exe.

@ahmadipiralvan
Copy link
Author

It seems that something must be done. At least disable auto-update!
@fortuna @daniellacosse @sbruens @maddyhof @jyyi1

@jafari-dev
Copy link

@ahmadipiralvan I found an open issue from 5 years ago about disabling auto-update, but it seems no one cares! I also left a comment for them.

#449 (comment)

@ahmadipiralvan
Copy link
Author

ahmadipiralvan commented Oct 29, 2023

@ahmadipiralvan I found an open issue from 5 years ago about disabling auto-update, but it seems no one cares! I also left a comment for them.

#449 (comment)

It seems that the project has been abandoned! No one is responsible...

@transcendreamer
Copy link

As a temporary workaround I reinstall outline-client-1.10.0.exe on each reboot before connecting and using old version until next reboot, dumb yes, but works.

@homewsn
Copy link

homewsn commented Oct 30, 2023

@transcendreamer
I installed outline-client-1.10.0.exe and then changed the file name C:\Program Files (x86)\Outline\resources\app-update.yml to anything else. The auto updater turned off.

@daniellacosse
Copy link
Contributor

daniellacosse commented Oct 30, 2023

Hey everyone, sorry for being away over the weekend. Looking at this now.

outline-ipc-start-proxying is an IPC call from electron. It's not my area, but maybe electron is out of date? @jyyi1

We have a QA team that should have caught this, as to why that's not the case is another mystery.

You can see an imperfect list of the updates in 1.12 here, in case anyone else wants to hazard a guess - https://github.com/Jigsaw-Code/outline-client/releases/tag/client_windows%2Fv1.12.0. Was going to announce this today/tomorrow once Android starts to roll out.

Would y'all prefer we just turned off auto update wholesale, at least for now? It's annoying for us to maintain as well.

@daniellacosse
Copy link
Contributor

The forced auto update makes no sense for this untested software. 1.12.0 was also released for iOS at the same and I had to tell every iOS client to reinstall to fix another issue.

It looks like there was an edit to how it handles server domains or DNS.

Beside OP's issue, sometimes the app sets custom IP addresses in the TAP adapter's IPv4 properties, suffocating itself. Users either have to set it back to auto or use Windows "Reset network" feature.

I appreciate that the software is free and that a lot of work has gone into it, but some of the decisions are baffling.

I've paused the iOS rollout - what issue were you seeing on iOS?

@Talendar
Copy link

Would y'all prefer we just turned off auto update wholesale, at least for now? It's annoying for us to maintain as well.

Yes, please!

@daniellacosse
Copy link
Contributor

PR to disable autoupdate here: #1762

Working on rolling back Windows - will react to this comment when done.

@fortuna
Copy link
Collaborator

fortuna commented Oct 30, 2023

I'm sorry all for the issue with Windows.

@daniellacosse has reverted the Windows client, so you should be able to go back to the previous version and not get updated.

We can't remove the update feature. That will force users to manually go to the site and download a new version whenever they need, which is very bad.

We can consider adding UI to let the user enable or disable the auto-updates. We are a small team, and it would be helpful if someone in the community could contribute that.

@fortuna
Copy link
Collaborator

fortuna commented Oct 30, 2023

@leadertv thanks for the helpful comment. What makes you think the issue is with dynamic keys? Are static keys working?

@leadertv
Copy link

@leadertv thanks for the helpful comment. What makes you think the issue is with dynamic keys? Are static keys working?

Standard static keys work, which contain an IP address and port. In some cases, a static key works inside of which the domain is specified instead of the IP. The problem only affects the PC client. Everything works fine on iPhone and Android.
I believe the problem is related to dynamic keys and the hosts in them, judging by the answers from JSON, it depends on the host on the server, if the host contains a domain, an error appears, if the IP is in the host, then there is no error, but then in this case, in the client there will be display the IP after connecting, instead of the domain.

@daniellacosse
Copy link
Contributor

Everything works fine on iPhone and Android.

iPhone is only rolled out to 10% and Android is not in rollout yet, FYI.

Do static keys with a domain work?

@daniellacosse
Copy link
Contributor

daniellacosse commented Oct 30, 2023

We've got a new 1.12.1 version going out to our QA team now, with an emphasis on reproducing this exact issue (dynamic keys with a hostname). Will continue to update this thread.

@daniellacosse
Copy link
Contributor

Everything works fine on iPhone and Android.

iPhone is only rolled out to 10% and Android is not in rollout yet, FYI.

Do static keys with a domain work?

Confirmed that static keys with a domain don't work either.

@daniellacosse
Copy link
Contributor

Found the issue on Ubuntu as well and rolled that back, too.

@fortuna
Copy link
Collaborator

fortuna commented Oct 30, 2023

Thanks again @leadertv, that's really helpful

To summarize:

  1. Android and iOS are fine.
  2. Windows is having issues
  3. The issue is not static vs dynamic keys, but whether config in the key is using an IP or domain name.
  4. Linux is unknown - It would be helpful is someone could validate Linux.

Also I'll point out different cases:

  1. static key with ip
  2. static key with domain
  3. dynamic key (location with domain), with config using IP
  4. dynamic key (location with domain), with config using domain

Note that the dynamic key itself (the location of the config) must always have a domain, since we don't support IPs for the config location.

It seems cases 2 and 4 above are the issues.

@daniellacosse
Copy link
Contributor

Thanks again @leadertv, that's really helpful

To summarize:

  1. Android and iOS are fine.
  2. Windows is having issues
  3. The issue is not static vs dynamic keys, but whether config in the key is using an IP or domain name.
  4. Linux is unknown - It would be helpful is someone could validate Linux.

Also I'll point out different cases:

  1. static key with ip
  2. static key with domain
  3. dynamic key (location with domain), with config using IP
  4. dynamic key (location with domain), with config using domain

Note that the dynamic key itself (the location of the config) must always have a domain, since we don't support IPs for the config location.

It seems cases 2 and 4 above are the issues.

@jyyi1 has tested ubuntu and confirmed it also doesn't work, I rolled it back already.

@fortuna
Copy link
Collaborator

fortuna commented Oct 30, 2023

@jyyi1 tested domain names using nip.io and found the following error:

could not connect: Error (could not create route to proxy: command exited with 1 (stdout: Invalid prefix parameter ([REDACTED].nip.io/32).  Prefix should be of the form <IPv4 address>/[0-32]., stderr: ) 

Code: https://github.com/Jigsaw-Code/outline-client/blob/07a5651d4d8ce2e3b91706543f60aff816611153/tools/OutlineService/OutlineService/OutlineService.cs#L419

It seems the issue is that we are passing the shadowsocks host as is to the routing code without resolving it first.

That is not a new bug though. It was likely not introduced by 1.12. Perhaps providers started using domain names for servers, and that triggered the issue that was already there.

@daniellacosse
Copy link
Contributor

@jyyi1 tested domain names using nip.io and found the following error:

could not connect: Error (could not create route to proxy: command exited with 1 (stdout: Invalid prefix parameter ([REDACTED].nip.io/32).  Prefix should be of the form <IPv4 address>/[0-32]., stderr: ) 

Code:

https://github.com/Jigsaw-Code/outline-client/blob/07a5651d4d8ce2e3b91706543f60aff816611153/tools/OutlineService/OutlineService/OutlineService.cs#L419

It seems the issue is that we are passing the shadowsocks host as is to the routing code without resolving it first.

That is not a new bug though. It was likely not introduced by 1.12. Perhaps providers started using domain names for servers, and that triggered the issue that was already there.

@jyyi1 and I think this might be the culprit: https://github.com/Jigsaw-Code/outline-client/pull/1663/files#diff-6d2de722e11e66d05f50ffd3437dd67abd336c0089dc8787e762d3dc332ee739L484

@fortuna
Copy link
Collaborator

fortuna commented Oct 30, 2023

The workaround is to ask your server operator to roll back the use of domain names in the config file.

I'll note that the OutlineVpnBot and the outline[.]network site are not official. The Outline team is not responsible for those services.

@fortuna
Copy link
Collaborator

fortuna commented Oct 30, 2023

@homewsn @transcendreamer were you able to reproduce the issue, and verify whether the same config works on Windows Client 1.10?

I believe the bug has always been there.

Edit: the issue was introduced in July, and the fix is under way: #1763

@transcendreamer
Copy link

transcendreamer commented Oct 30, 2023

@fortuna , right now I'm connected to this one and it works OK on 1.10:
ss://YWVzLTEyOC1nY206c2hhZG93c29ja3M=@ak1833.www.outline.network.fr8678825324247b8176d59f83c30bd94d23d2e3ac5cd4a743bkwqeikvdyufr.cyou:443#www.outline.network%20(GB)
image
it's from outline[.]network

@daniellacosse
Copy link
Contributor

@jyyi1 has drafted a fix: https://github.com/Jigsaw-Code/outline-client/pull/1763/files

@daniellacosse
Copy link
Contributor

The fix has been merged and sent to QA.

@q1LLa
Copy link

q1LLa commented Nov 1, 2023

The fix has been merged and sent to QA.

How long to wait for the update ?

@leadertv
Copy link

leadertv commented Nov 1, 2023

The fix has been merged and sent to QA.

How long to wait for the update ?

At the moment you can download version 1.11 from the website. This version works correctly with dynamic keys.

@q1LLa
Copy link

q1LLa commented Nov 1, 2023

The fix has been merged and sent to QA.

How long to wait for the update ?

At the moment you can download version 1.11 from the website. This version works correctly with dynamic keys.

What is the time frame for an update in days?

@daniellacosse
Copy link
Contributor

The fix has been merged and sent to QA.

How long to wait for the update ?

At the moment you can download version 1.11 from the website. This version works correctly with dynamic keys.

What is the time frame for an update in days?

QA approved and I've ran our release script - the update should be out now.

@q1LLa
Copy link

q1LLa commented Nov 1, 2023

The fix has been merged and sent to QA.

How long to wait for the update ?

At the moment you can download version 1.11 from the website. This version works correctly with dynamic keys.

What is the time frame for an update in days?

QA approved and I've ran our release script - the update should be out now.

I still have Version 1.12.0 (471355)

Which one should appear in the update?

@daniellacosse
Copy link
Contributor

The fix has been merged and sent to QA.

How long to wait for the update ?

At the moment you can download version 1.11 from the website. This version works correctly with dynamic keys.

What is the time frame for an update in days?

QA approved and I've ran our release script - the update should be out now.

I still have Version 1.12.0 (471355)

Which one should appear in the update?

You can download it directly here https://s3.amazonaws.com/outline-releases/client_windows/v1.12.1/Outline-Client.exe

@ahmadipiralvan
Copy link
Author

You can download it directly here https://s3.amazonaws.com/outline-releases/client_windows/v1.12.1/Outline-Client.exe

Thank you @daniellacosse
It has been a while since the update files (apk, exe...) are not published in the GitHub release section. I would be grateful if you include the installation files in the releases.

By the way, does the team have a plan for the following issue?
#1553

@daniellacosse
Copy link
Contributor

daniellacosse commented Nov 2, 2023

It has been a while since the update files (apk, exe...) are not published in the GitHub release section. I would be grateful if you include the installation files in the releases.

Unfortunately our binaries got too big for us to be able to check them in with git. Git LFS does not have the same surface area and is easier to censor. Would it be helpful if I were to add a note to outline-releases to say that it is in fact partially deprecated for this reason?

Edit: Ah, if you mean the releases tab here on the outline-client Github, I could add it as a new deployment target for our internal release scripts.

By the way, does the team have a plan for the following issue?
#1553

We really appreciate the time you took to spell this out but in its current format it doesn't fit into our prioritization system. We'll need to break it down into individual tickets so it can be properly prioritized.

@ahmadipiralvan
Copy link
Author

You can download it directly here https://s3.amazonaws.com/outline-releases/client_windows/v1.12.1/Outline-Client.exe

It seems that the problem is still not fixed on iOS.
Is there a solution for it?
The latest version in the AppStore is 1.12.0.

photo_2023-11-04_15-32-22

@ahmadipiralvan
Copy link
Author

Edit: Ah, if you mean the releases tab here on the outline-client Github, I could add it as a new deployment target for our internal release scripts.

Yes, I meant the outline-client/releases files.
(exe, appimage, apk ...)
It would be great if every version is available on github like before.

Many people in countries with internet restrictions do not have access to the https://getoutline.org and https://outline.network websites because these websites are blocked there and cannot download the program. For example, even Google Play is blocked in Iran. But usually github is inevitably available in most countries and they cannot block it easily. For this reason, many people have the ability to download the program only through GitHub.

@fortuna
Copy link
Collaborator

fortuna commented Nov 6, 2023

@ahmadipiralvan the official download links are on Amazon S3. Please see https://www.reddit.com/r/outlinevpn/wiki/index/download_links/

Maintaining the Github release is confusing, as there are multiple binaries that can be released separately. So we opted for S3.

@maddyhof
Copy link
Contributor

maddyhof commented Nov 6, 2023

@ahmadipiralvan We did not see this issue on iOS when we tested it. If you do, please open a new issue so we can investigate it further.

FYI https://outline.network is not affiliated with the Outline team and we cannot assist users experiencing issues with that service.

@maddyhof
Copy link
Contributor

maddyhof commented Nov 6, 2023

Closing this issue now that we've released Client 1.12.1 for Windows and Linux

@maddyhof maddyhof closed this as completed Nov 6, 2023
@rustam-python
Copy link

I have same error with 1.12.1 (471860) and Windows 11.

@somebodywashere
Copy link

This problem is still there and not solved, why closing an issue?

@jyyi1
Copy link
Contributor

jyyi1 commented Jan 8, 2024

Hi @rustam-python @somebodywashere , we found and fixed one thing that was causing the problem in 1.12.0 (100% reproducible), but it might not be the only cause. The same error (but with a different root cause) might also happen in version 1.12.1 (but we have not reproduced it on our end), and we're tracking it here: #1783

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is broken, we are tracking it failure/connect os/linux os/windows
Projects
None yet
Development

No branches or pull requests