Skip to content

Does not work on windows #2388

Closed
Closed

Description

@JSH32

When trying to access code-server through the proxy It is unable to load any of the extensions and checking the log shows the results below.
Screenshot
This does not happen when I try to access it from my ubuntu laptop, it only fails on Windows.

  • Web Browser: Chrome
  • Local OS: Windows
  • Remote OS: Ubuntu 20.04
  • Remote Architecture: x64
  • code-server --version: 3.7.3 93fb76e

Activity

  1. JSH32 commented on Dec 2, 2020

    @JSH32
    Author

    I have tested this on all browsers including Firefox. The same issue occurs only specifically on windows.

  2. JSH32 commented on Dec 3, 2020

    @JSH32
    Author

    I have just updated to 3.7.4, the same bug occurs, I am somewhat inclined to believe this is because of windows firewall but it uses standard ports so I have become more confused. Looking into the issue I am seeing a few new errors pop up.
    Screenshot
    On ubuntu the sourcemap is also not found but the ExtensionHost loads and shows the entire output of plugins being initialized. It seems to be failing on this block of code

    this._proxy = this._extensionHost.start()!.then(
    			(protocol) => {
    				this._hasStarted = true;
    				return { value: this._createExtensionHostCustomers(protocol) };
    			},
    			(err) => {
    				console.error('Error received from starting extension host');
    				console.error(err);
    				return null;
    			}
    		);

    _extensionHost appears to be implementing interface IExtensionHost. I am guessing that the method .start() of this interface is was originally platform specific VSCode code that code-server is yet to replace or has accidentally allowed to use.
    Hopefully this provides some kind of help on how this issue can be fixed.

  3. code-asher commented on Dec 3, 2020

    @code-asher
    Member

    The source map is a bug; I'll be fixing that soon but it shouldn't cause any issues.

    I tried using Chrome+Windows accessing 3.7.3 running on a Linux host but everything connected and I'm able to use it normally (all done locally).

    Could you run with --log debug then post the browser logs and code-server's stdout?

  4. JSH32 commented on Dec 4, 2020

    @JSH32
    Author

    After a few times of it failing to login and retrying the logs are

    [2020-12-04T00:06:17.802Z] debug forking vs code...
    [2020-12-04T00:06:18.095Z] debug setting up vs code...
    debug vscode got message from code-server {"type":"init"}
    debug vscode got message from code-server {"type":"socket"}
    debug vscode New connection {"token":"this is something"}
    [2020-12-04T00:06:22.735Z] debug got latest version {"latest":"3.7.4"}
    [2020-12-04T00:06:22.737Z] debug comparing versions {"current":"3.7.4","latest":"3.7.4"}
    debug vscode got message from code-server {"type":"socket"}
    debug vscode New connection {"token":"this is different than the last"}
    debug vscode got message from code-server {"type":"socket"}
    debug vscode got message from code-server {"type":"socket"}
    debug vscode got message from code-server {"type":"socket"}
    debug vscode got message from code-server {"type":"socket"}
    
  5. JSH32 commented on Dec 4, 2020

    @JSH32
    Author

    I have also tested not using the coder proxy. It loads perfectly when directly connecting.

  6. code-asher commented on Dec 4, 2020

    @code-asher
    Member
  7. code-asher commented on Dec 4, 2020

    @code-asher
    Member

    Oh I misread, you're using the coder cloud proxy with --link?

  8. code-asher commented on Dec 4, 2020

    @code-asher
    Member

    I tried out --link and accessed from a Windows machine (with Chrome) but haven't been able to replicate the problem yet.

  9. JSH32 commented on Dec 4, 2020

    @JSH32
    Author

    I used --link yes

  10. code-asher commented on Dec 7, 2020

    @code-asher
    Member
  11. L3P3 commented on Dec 8, 2020

    @L3P3
    Contributor

    My server is debian bullseye, I just upgraded to latest code-server version, from the version I installed a month ago. My client is Windows XP, latest Firefox. When I open the page, I get an error message dialog telling me that it was unable to connect and I need to reload the page. Does not help thou. No idea if this issue is related.
    Should I post more information here or create a new issue?

  12. 7 remaining items

  13. L3P3 commented on Dec 8, 2020

    @L3P3
    Contributor

    It also works when I open the page from Firefox running in Windows. Maybe I misunderstood the issue here.

  14. JSH32 commented on Dec 12, 2020

    @JSH32
    Author

    How would I submit my browser log, it is still happening even though I have reinstalled windows. Exactly the screenshot above.

  15. code-asher commented on Dec 14, 2020

    @code-asher
    Member
  16. JSH32 commented on Dec 14, 2020

    @JSH32
    Author

    New information, I have tried it on a computer that is not mine with the same install of windows and the issue was resolved, it is weird that it happens even after a reinstall though.

  17. code-asher commented on Dec 15, 2020

    @code-asher
    Member
  18. JSH32 commented on Dec 15, 2020

    @JSH32
    Author

    It was on a different network, I originally suspected windows firewall but it was the same version of windows, theirs was not a fresh install though. It works on other operating systems on my network.

  19. added this to the Backlog milestone on Apr 29, 2021
  20. shayne commented on Jun 29, 2021

    @shayne
    Contributor

    I've been able to reproduce this issue. I have code-server running in the cloud, accessed via private IP over a WireGuard connection.

    My local subnet is 10.2.0.0/16 and my remote private subnet is 10.3.0.0/16. Hosting cloud-server within the local 10.2.X.X subnet works fine, accessing via 10.3.X.X with default Windows Firewall (connection set to Private) results in the reconnect error.

    I can reproduce the issue by turning off the Windows Firewall and loading code-server. The connection comes up right away and extensions start running. Note: after this initial connection code-server will continue to work for some time after re-enabling the firewall. I believe this is due to connection state tracking.

    I turned on logging and didn't see any related DROP messages. I'm continuing to look into the issue. Ideally I'd like to find a solution that doesn't involve modifying the firewall for each client.

    Ideas?

  21. L3P3 commented on Jun 29, 2021

    @L3P3
    Contributor

    Yes, the Windows Firewall as most is stateful so it memorizes outgoing connections for a while to let replies in. Maybe there is a message from the server to the client after a too long delay. Maybe more frequent pings from the client to the server could fix the issue. But I am just roughly guessing, I am not an expert in sockets and firewalls at all. 😉

  22. jsjoeio commented on Jun 29, 2021

    @jsjoeio
    Contributor

    I haven't used Windows in a long time so not the expert here but maybe @code-asher has some ideas

  23. shayne commented on Jun 29, 2021

    @shayne
    Contributor

    I've got it working without modifying the Windows Firewall.

    I'm not sure the exact issue, but I'll share my findings and the fix here in hopes it sheds light or helps someone else.

    I ran Wireshark to see what was going on when loading code-server in the browser. One thing that stood out to me were the repeated ICMP Redirects. These caused by having a static route directing traffic to my remote subnet 10.3.0.0/16.

    To avoid the redirect I added a static route to my machine that bypassed my router. To my surprise code-server made connection and extensions fired up. It worked.

    So two things: 1) it appears as if Windows Firewall ignores the redirects by default and doesn't modify the local route table; 2) code-server wasn't liking the redirect or going through the router for the extension host connection.

    I modified my DHCP server to hand out static routes using the DHCP option "121" and providing the hex encoded string of routes. It's working fine now.

    I'll also note that I use many other services (web, ssh, routing, etc...) on the 10.3.X.X network and haven't experienced any issues up until this code-server bug.

  24. code-asher commented on Jun 30, 2021

    @code-asher
    Member
  25. stale commented on Dec 27, 2021

    @stale

    This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no activity occurs in the next 5 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingos-windowsWindows related

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions