Home

LINQPad 7 beta stream auto update not working

I've noticed that my LINQPad 7 beta install is not running the latest version (I'm on 7.3.3, latest appears to be 7.3.9).

When I check for updates, I see the following error:

I'm not using a proxy. However, when I go to the proxy settings and test the connection, I see the following:

I can see from GlassWire that LINQPad is trying to connect to linqpad-live.cloudapp.net. When I open https://linqpad-live.cloudapp.net in the browser, I get a certificate warning because the common name is invalid. I'm guessing that LINQPad is rejecting the TLS connection when it checks for updates for this same reason.

This issue is not affecting LINQPad 5; I'm able to check for and automatically download LP5 updates without any problems.

Comments

  • Actually, I'm not sure if LINQPad 5 automatic updates are working either: it seems to just be stuck on the "Downloading Update" status message...

  • Could there be something going on at your end? Could you try a different machine/network? The server logs indicate that 7.3.9 is rolling out just like every other update.

  • I've tried from multiple networks and I get the same result. Haven't had a chance to try from difference machines yet but will let you know once I get the chance.

  • @JoeAlbahari said:
    Could there be something going on at your end? Could you try a different machine/network? The server logs indicate that 7.3.9 is rolling out just like every other update.

    Have tried updating from an Azure VM and had no issues. Based on the proxy setup screenshot I posted above, my machine clearly doesn't like something about the TLS certificate, but I couldn't see anything about this getting logged in %LocalAppData%\LINQPad\Logs.LINQPad7. Is there anywhere I can increase the logging verbosity to see if the underlying error gets logged?

  • Does the following query succeed, and if not, do you get a helpful exception?

    new System.Net.WebClient().DownloadData("http://www.linqpad.net")

  • Thanks for the suggestion.

    In LINQPad 7 I can see that the most-inner exception is a Win32Exception: The Local Security Authority cannot be contacted. HRESULT is 0x80004005 (i.e. generic E_FAIL).

    LINQPad 5 also fails but doesn't supply any inner exceptions.

    If you have any suggestions I'll happily accept them. Will do some googling and see what I can come up with.

  • edited April 2022

    I think it might be to do with TLS 1.3 and SCHANNEL.

    I'm running Windows 10 Pro 21H2; I can't upgrade to Windows 11 because my CPU is a year or two too old. According to this, TLS 1.3 is not supported by SCHANNEL on Windows 10 21H1 (the page doesn't have an entry for 21H2 for some reason).

    Edge shows that it is using TLS 1.3 when I connect to https://www.linqpad.net, so presumably it handles TLS connections by some other means?

    EDIT: According to this post Edge doesn't use the Windows TLS stack, which would explain why I can get a TLS 1.3 connection from the browser but not from LINQPad.

    EDIT 2: If I explicitly force TLS 1.2 using ServicePointManager, your example query succeeds:

    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
    var bytes = new System.Net.WebClient().DownloadData("http://www.linqpad.net");
    

    EDIT 3: I found that TLS 1.3 was enabled for SCHANNEL in the Registry despite it not being supported by my version of Windows. When I disable it and restart LINQPad, I can successfully check for updates again!

Sign In or Register to comment.