Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Microsoft Programming Upgrades Linux

How a Microsoft Update Broke VS Code Editor on Ubuntu (omgubuntu.co.uk) 149

Microsoft's Visual Studio Code editor now includes a voice command that launches GitHub Copilot Chat just by saying "Hey Code."

But one Linux blog notes that the editor has suddenly stopped supporting Ubuntu 18.04 LTS — "a move causing issues for scores of developers." VS Code 1.86 (aka the 'January 2024' update) saw Microsoft bump the minimum build requirements for the text editor's popular remote dev tools to â¥glibc 2.28 — but Ubuntu 18.04 LTS uses glibc 2.27, ergo they no longer work.

While Ubuntu 18.04 is supported by Canonical until 2028 (through ESM) a major glibc upgrade is unlikely. Thus, this "breaking change" is truly breaking workflows...

It seems affected developers were caught off-guard as this (rather impactful) change was not signposted before, during, or after the VS Code update (which is installed automatically for most, and the update was pushed out to Ubuntu 18.04 machines). Indeed, most only discovered this issue after update was installed, they tried to connect to a remote server, and discovered it failed. The resulting error message does mention deprecation and links to an FAQ on the VS Code website with workarounds (i.e. downgrade).

But as one developer politely put it.... "It could have checked the libc versions and refused the update. Now, many people are screwed in the middle of their work."

The article points out an upgrade to Ubuntu 20.04 LTS will address the problem. On GitHub a Microsoft engineer posted additional options from VS Code's documentation: If you are unable to upgrade your Linux distribution, the recommended alternative is to use our web client. If you would like to use the desktop version, then you can download the VS Code release 1.85. Depending on your platform, make sure to disable updates to stay on that version.
Microsoft then locked the thread on GitHub as "too heated" and limited conversation to just collaborators.

In a related thread someone suggested installing VS Code's Flatpak, which was still on version 1.85 — and then disabling updates. But soon Microsoft had locked that thread as well as "too heated," again limiting conversation to collaborators.
This discussion has been archived. No new comments can be posted.

How a Microsoft Update Broke VS Code Editor on Ubuntu

Comments Filter:
  • by tap ( 18562 )

    The purpose of VS Code is not to help me do my work or be a useful tool. The purpose of VS code is to make money for Microsoft. Mostly for the executives and major shareholders, not such much the peons.

    If it ever is a useful tool, it is only a coincidence that this happens to align for a time with primary purpose of making the super rich richer.

    It's only a matter of time before Microsoft decides that dropping Linux support is more likely to get people to switch to Windows than to get them to stop paying f

    • by aergern ( 127031 )

      Doubt a Linux user is going to switch to the ad generator i.e. Windows just for VSCode. No reason to do so. It's not like VSCode is Linux only so folks would have just used it on Windows, not Linux if they didn't care about using Linux.

      The tinfoil hat thing is silly.

      It's like comparing PC laptops to Macbooks, folks don't use Macs just for shiny hardware, it's the software and always has been. Same with Linux.

      • by Anonymous Cward ( 10374574 ) on Sunday February 04, 2024 @05:39AM (#64212292)
        Microsoft is itching to replace all their productivity applications with webview2 nonsense running atop Chromium to unify their codebase with a mobile-first one. Microsoft Teams made the transition recently and dropped Linux support in the process, New Outlook is the stepping stone for their email client and soon we will see New VS Code. No webview2 apps work on Linux yet and it is expected they never will.

        Why is Microsoft doing this? Well, unlike Electron, this approach one common runtime shared across all apps, meaning you can write once and app performance will forever improve on its own due to constant runtime improvements. However, you can guarantee Linux support is not coming because if it did, Google could just ship their own runtime and then every new app could simultaneously become a ChromeOS app, taking away any/all point of using Windows for basic business stuff.
        • by keltor ( 99721 ) *
          Electron ne Atom Framework works cross platform because the developers made it work cross platform. It initially only built on Linux and then MacOS and then much later Windows. WebView2 has ports in progress.
    • Re: (Score:3, Insightful)

      by muvol ( 1226860 )

      This. Lucy is always going to pull the football back.

    • by thegarbz ( 1787294 ) on Sunday February 04, 2024 @06:43AM (#64212348)

      It's only a matter of time before Microsoft decides that dropping Linux support is more likely to get people to switch to Windows

      Are you daft? You really think Microsoft is playing some nefarious long game in an effort to capture the sweet fuck all market share that is Linux desktop users? A market share so small that it has turned into a practical joke here on Slashdot?

      No one will switch from Linux to Windows because of VS Code. Microsoft knows this as much as anyone else, your conspiracy is just silly.

      Incidentally do you know who has dropped support for Ubuntu 18.04? ... Canonical. Why does it surprise you to find someone is no longer supporting an EOL LTS release of anything?

    • by tbuskey ( 135499 ) on Sunday February 04, 2024 @09:02AM (#64212526) Journal

      There is https://vscodium.com/ [vscodium.com] that is compiled without the telemetry and non-open source stuff that Microsoft adds to VS Code.

      It's unofficially available as a flatpak: flatpak install flathub com.vscodium.codium
      There are repo for deb/rpm and others as well

    • by SuperDre ( 982372 ) on Sunday February 04, 2024 @10:15AM (#64212676) Homepage
      What nonsense, this has got nothing to do with MS, they warned users in august 2023 this would happen. The specific ubuntu TLS official support has ended, only extended support for Pro and paid, but also only security updates. There already has been 2 TLS versions released and the 3rd is soon. These devs should not bitch because they are running an out if date OS, and they can work without a problem by reverting or adding the updated library through a workaround. Stop blaming MS for not supporting an out of date OS in a constantly evolving development environment. And don't go pointing fingers as other IDE's also move forward and keep stop supporting out of date OSes.
    • The purpose of VS Code is not to help me do my work or be a useful tool. The purpose of VS code is to make money for Microsoft. Mostly for the executives and major shareholders, not such much the peons.

      If it ever is a useful tool, it is only a coincidence that this happens to align for a time with primary purpose of making the super rich richer.

      It's only a matter of time before Microsoft decides that dropping Linux support is more likely to get people to switch to Windows than to get them to stop paying for anything related to VS Code. And that's exactly what they'll do.

      Dude, take off the tin foil hat for a while, why dontcha?

      Microsoft employs nearly 1/4 of a million people, in over 90 countries around the globe.

      It has a multitude of different projects, different teams and I'm very sure, a lot of the time, it doesn't know "it's ass from it's elbow" - or one of it's many asses from it's many elbows.

      In other words, it's not like the VSCode team are going to be bothering about any political shit - but rather, "How can we ship a good product?"
      Microsoft hire some incredible tal

    • Lol, OK. Don't use all the tinfoil.

  • They asked people to comment if they had experienced the bug on their systems, then one of the reasons for locking it was the Metoo comments!
  • by klipclop ( 6724090 ) on Sunday February 04, 2024 @03:53AM (#64212184)
    I can see sticking to 18.04 LTS on a server for legacy support, but it seems odd to me that lots of developers are using 18.04 LTS on a desktop. That's like the windows 8 of Ubuntu by now. Seems like this is a reminder why you need to update your OS....
    • by Anonymous Coward on Sunday February 04, 2024 @04:10AM (#64212192)

      I run a customized 18.04 LTS installation that does complex simulations on a large and fairly expensive supercomputer. The OS is supported until 2028 or thereabouts.

      Development is done on a workstation with the same setup. Why should I upgrade?

      • Re: (Score:2, Insightful)

        Strange, why is this modded as troll?

        • Maybe posted as AC and someone was in a rush with mod points to burn.

          The post aligns with my immediate thoughts, developers needing something close to the target environment.

          Thank $deity that both vim and VMs exist.

          • Yeah, I was going to say something similar. I see the mod was cancelled, though, so it was probably a mistake.

          • The post aligns with my immediate thoughts, developers needing something close to the target environment.

            But not a workstation, that's ridiculous. AC is fucking with you or it's some hobby project in a university lab.

            We build untold numbers of dev systems, for testing, builds, staging etc that match the production servers OS/environment. Not a single developer among hundreds has that OS directly on their workstation.

            These are server OS, you do not need to sit in front of it to use it. I don't care if the build environment needs special hardware, you have a bank of build servers with special hardware then, like

            • It isn't always like that. Sometimes project funding dries up and there's no funding for new versions, just life support, so the team are told they must remain on the latest supported version.

              I left one organisation that was in that situation, shame, it was one of the most fun places to work, but sadly the writing was on the wall.

        • Strange, why is this modded as troll?

          Because it was posted AC and because it was wrong. April 2023 was EOL for Ubuntu 18.04 LTS. Paying customers get the bare minimum of security updates at this point. It is not "supported" something that it will remind you of every single time you log in.

          • Paying customers get the bare minimum of security updates at this point.

            What more do you need?

            • by msauve ( 701917 )
              Wow, you didn't even read the summary before commenting.
            • Well, apparently if you want to run VS Code on a 6-year-old OS version that the publisher doesn't even support any more unless you pay them, you also need a newer version of glibc that you won't get through `sudo apt update && sudo apt upgrade -y`.

              Here's an idea: develop on supported software, and use Ubuntu 18 in a VM to test it if you must support Ubuntu 18.

              • by tlhIngan ( 30335 )

                Here's an idea: develop on supported software, and use Ubuntu 18 in a VM to test it if you must support Ubuntu 18.

                We needed to run older build environments (unless you're building the latest version of Android, it typically requires older versions of Ubuntu). What we did was run the main OS as 20.04LTS, then had Docker environments that provided 16.04 and 18.04 as needed. So if you needed to build an older version of Android (as we did because of various chip support packages), you could start up the Docker

      • Well, I hope you never connect it to any peripheral or the internet. Cuz security is the main reason. Stagnated IoT devices are the main source of DDoS attacks.

      • You could try Mac OS for your development environment - I use Xcode to develop cross platform C (read Linux and Mac OS). The Xcode tools (especially the runtime debug/instruments) are great. I find I need very few minor #ifdef's to maintain exactly the same codebase for Linux (using open source/GNU libs and OSF style autotools etc.) as on OS X. Really working a treat.

        I missed the fact that (I presume) large parts of Mac OS are written in C so Apple has to maintain that great C/C++ support as well as Swift
      • by thegarbz ( 1787294 ) on Sunday February 04, 2024 @06:45AM (#64212354)

        The OS is supported until 2028 or thereabouts.

        No it's not. 18.04 went EOL last year. Canonical provides bare minimum security updates for specialised paying customers only, that does not mean you are "supported", it means you are paying money for your own inability to manage a trivial upgrade or you're paying for a very VERY hyper specific edge case. And if your hyper specific edge case depends on your ability to run VS Code on a desktop, ... please change careers so you stop being a burden on those around you.

      • by MachineShedFred ( 621896 ) on Sunday February 04, 2024 @08:42AM (#64212482) Journal

        Because Ubuntu 18 is not "supported until 2028 or thereabouts" unless you pay for Ubuntu Pro, in which case you get access to extended support, per as their support page for Ubuntu 18 says. [ubuntu.com]

        So if you want to continue running old shit that isn't getting updates, that's your decision. And if you want to pay to get "extended" updates (meaning security and not version bumps of libraries) then have a good time. But don't expect software vendors to support your OS if the OS publisher doesn't, and clearly has announced it's end-of-life date years ago.

        You and your organization that do "fairly complex simulations on a large and fairly expensive supercomputer" should consider studying incredibly simple support lifecycles, because they are a thing and whoever maintains that "large and fairly expensive supercomputer" isn't doing their job if your critical systems are running on unsupported software.

      • No need to upgrade the OS, but you should not expect the development environment tools, which keep evolving, to keep supporting regular out of date OSes. You can still perfectly use VS code by reverting back or workaround so the library is on the system. Yes, I do agree that the update program should have detected the needed library wasn't available and should not automatically have installed it anyway, THAT's the only fault MS did. But just revert and disable auto-update. You choose to keep working on an o
      • by Bert64 ( 520050 )

        Then why would you upgrade your version of vscode either?

    • I did for a while, because I didn't want to upgrade to the next lts and its snap infection. Sure, I should have upgraded to debian or another distro, but it worked and I'm lazy.

      I suspect many devs are in that case too.

    • Some people have better things to do than upgrade a distro that does everything they need and works nicely.

    • by twisteddk ( 201366 ) on Sunday February 04, 2024 @05:14AM (#64212278)

      I noticed the same thing. As an IT architect, I frequently have to remind our business and others, that we NEED to keep things updated to a reasonable level, in order to ensure future compatibility, support newer security measures, and generally keep in line with the vendors recommendations regarding releases.

      Now I totally get that people don't WANT changes, because changes cause a disruption of the status quo (which they are used to having working or them). But to EXPECT to never need to change, seems... Illogical, especially for developers, who really should be the ones pushing for updates and changes... So why is it a chock for people to find our that their dirt old OS is no longer fully supported ?

      I totally agree with the devs that the way it is being handled could be done smarter/smoother. But who in their right minds sets up an automatic update, and expect to not have problems requiring any intervention ? Surely it's not the first time someone has been surprised by the contents of an automatic update ? Isn't this why we TEST before moving things into production ?

      • Isn't this why we TEST before moving things into production ?

        We do?

      • But who in their right minds sets up an automatic update, and expect to not have problems requiring any intervention ?

        This isn't even the right question.

        The right question in this context is: "why would you expect Microsoft to support a 6-year-old OS with a 5-year end-of-life that the publisher doesn't even support without paying them?

        Upgrade your fucking shit, and if you need to deploy to Ubuntu 18 for some reason, test it in a VM, which you should have been doing years ago anyway.

      • by _merlin ( 160982 )

        I totally agree with the devs that the way it is being handled could be done smarter/smoother. But who in their right minds sets up an automatic update, and expect to not have problems requiring any intervention ?

        Well, people who are used to RPM-based Linux distros would not expect to see issues like this. The RPM build tools perform automatic shared library dependency analysis, and would refuse to install a package if it requires symbols that aren't exposed by the shared libraries you have installed. Wha

    • by Tailhook ( 98486 )

      but it seems odd to me that lots of developers are using 18.04 LTS on a desktop

      Docker obviates the need keep up with glibc et al. You can use the latest c/c++/python/ruby/java/rust/postgresql/php/whatever in containers on 18.04 LTS and forgo major distro upgrade for years. Which is nice, because it takes days to get all your display/input device/network/configuration/backups/etc. worked out every time you upgrade.

    • It's not even a good option for a server anymore, if it ever was (it's a desktop distro, if you ask me). 18.04 LTS was supported until May 2023 so I'm not sure why anyone is surprised that companie starting dropping support.

    • Using a legacy system for development often makes sense, for many of the same reasons for using legacy systems for servers. Some of the Windows development in our company is still done on Windows XP machines, as we speak. And why not? We don't really have Windows XP customers anymore, but at least we're immune against many kinds of nasty surprises, regressions, etc. And backwards compatibility plays in our favor too.

    • Sometimes you need to run old version of the OS if you are using commercial software that is only supported on very selected OS versions. RHEL7 is the poison I am taking so far - sometime this year IT will migrate virtual machines to RHEL8.

      The only other machine I have is a Windows laptop. You know, Microsoft tools.

    • Does code stop working when it reaches a certain age?

  • by mdragan ( 1166333 ) on Sunday February 04, 2024 @04:50AM (#64212238)
    This is exactly why automatic updates should not be on by default, especially for work critical tools that are used by people who should know what they are doing. If I break my own tools it's one thing, if someone else breaks my tools it's a completely different story and should not be allowed.
  • ... launches GitHub Copilot Chat just by saying "Hey Code."

    Everyone tell the Copilot that "Hay Code" refers to farm software ... and ask for more information.

    • Everyone tell the Copilot that "Hay Code" refers to farm software ... and ask for more information.

      I thought that referred to profanity or sex in movies?

  • Take a blank sheet of paper and a Sharpie of any color. Or you can used Gedit, Word, Google Docs, emacs, vi, xed, EDT, Notepad, but not Wordpad, or whatever.

    At the top write or enter in: "MY 10 BEST FRIENDS". Feel free to use mixed case, underline, squiggly beneath that, etc.

    Then list your TOP TEN FRIENDS.

    Now look at that list.
    Do you see Oracle? No. Oracle is not your friend.
    Do you see Apple? No. Apple is not your friend.
    Do you see the US Internal Revenue Service? No. The IRS is not your friend.
    Do y

  • ... need such a relatively recent version of gcc? It edits code and uses TCP connect to servers. End of. That isnt something that requires any recent functionality and in fact could have been done with glibc from 30 years ago.

    • It's built on web technology.

      Presumably Google updated Chromium to newer libs.

      • You realise "web technology" just means http and various scripting languages , none of which are supported by glibc which is a low level library.

        • Maybe it was libstdc++ support? Weâ(TM)ve had problems with outdated support on Ubuntu with c++17 features missing from the runtime. Ubuntu donâ(TM)t do this as well as Red Hat, who actively backport modern compilers to their even older RHEL releases, without breaking glibc or libstdc++ compatibility for the binaries theyâ(TM)re used to build. See their dev and gcc toolsets. This really is a weakness for development of prepackaged software on Linux compared with macOS and Windows, whose com

        • You basically can't know what glibc version application requires without looking into the binary of the application. You might compile with glibc 2.34 but for as long as application doesn't use any new glibc function/interface, the actual dependency might be on e.g. glibc 2.11. And then one time you use a new glibc function/interface, and suddenly binary doesn't run on other (older) systems. Lots of people only realize how this glibc dependency actually works after they hit this kind of problem for the firs
  • by thesandbender ( 911391 ) on Sunday February 04, 2024 @06:04AM (#64212314)
    While I'm no fan of Microsoft, you can't win in a situation like this.

    1. Don't upgrade dependencies and half the people will yell at you for not supporting new features, security, etc.
    2. Upgrade dependencies and the other half will yell at you for breaking their sh*t.

    18.04 LTS expired last year. You're running outdated software that you got for free and can upgrade for free. Stop b*tching at Microsoft. Yes, they have ESM (Extended Security Maintenance) but you have to pay for it and it's just security patches.

    Your running on Linux. You have a two options here:

    1. Upgrade Ubuntu.
    2. Build glibc 2.28... it's not... that... hard.
    • Well if you're paying for patches then you're not rubbing either outdated software our something you huh frog free!

      Also option 3, bitch at Ubuntu to provide a newer glibc package, which is an option (the bitching) if you're paying them. Then they can do 2 for you! It might even only take 1000 times longer than executing step 2 :)

    • Heartily agree here. M$ shouldn't get dinged for NOT supporting a 5~6 year old version of Linux. I'm no M$ fan, but you know at least upgrade to Ubuntu 20 ?!?

  • switch back to emacs

    easiest and best solution

  • Company doesn't support outdated OS that was never intended for the desktop. News at 11.

    If you are affected by this you have only yourself to blame.

    • More than that, if you absolutely must run a free IDE on a 6 year old unsupported operating system, Ubuntu still offers extended support with a "Pro" subscription. So, as with many other things, if you need to run some extreme edge case that is outside of what is supported by any software vendor, then you're either going to be doing a bit of work to make it work, or paying money for someone else to.

      Or you could just update to Ubuntu 20 / 22 LTS and if whatever it is you're coding with VS code requires test

  • Its base version is just a glorified text editor. The number of plugins you've got to install, maintain and keep compatible with each other makes it so prone to daily breakages of your environment that using VSCode should be banned at the top level of any corporation who wants to keep their employees productive. Use a proper language-specific IDE instead people, would you?

    • Its base version is just a glorified text editor. The number of plugins you've got to install...

      My text editor doesn't support plugins. I use VS Code because of the plugins. It's literally one of the easiest ways to get some embedded programming up and running.

  • I've never heard of such a thing...

    Seriously, if Microsoft wants to break their own OS every Tuesday, more power to them. I guess it's become a tradition at this point. But if they could keep their traditions to themselves, that would be swell.

  • So it's broken on a 6-year old version of "long term support" flavor of an operating system, where that "long term support" is defined as 5 years from release, which the version "18.04" tells us was in April of 2018.

    Ubuntu doesn't even support 18.04 any more without a "Pro" subscription and Microsoft is supposed to? If running a free IDE on a 6-year-old unsupported OS is important to you, buy the fucking support to do it.

  • by radarskiy ( 2874255 ) on Sunday February 04, 2024 @09:18AM (#64212558)

    Microsoft makes the .deb.

    It should have listed the dependency on libc, The package would not have installed since the dependency could not be satisfied with the 18.04 LTS catalog.

    • by thegarbz ( 1787294 ) on Sunday February 04, 2024 @05:01PM (#64213572)

      Nope. The .deb file correctly lists the dependency. The package is just fine. The issue is the use of an internal auto-updater by vscode which does *not* rely on the .deb package. The issue is a bunch of so called "developers" thinking their all important dev environments should be blindly updated without reading or considering the change log.

      Version: 1.86.0-1706698139
        Section: devel
        Depends: ca-certificates, libasound2 (>= 1.0.17), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.14), libc6 (>= 2.16), libc6 (>= 2.17), libc6 (>= 2.2.5), libc6 (>= 2.28), libcairo2 (>= 1.6.0), libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3, libdbus-1-3 (>= 1.9.14), libdrm2 (>= 2.4.75), libexpat1 (>= 2.1~beta3), libgbm1 (>= 17.1.0~rc2), libglib2.0-0 (>= 2.37.3), libgssapi-krb5-2 (>= 1.17), libgtk-3-0 (>= 3.9.10), libgtk-3-0 (>= 3.9.10) | libgtk-4-1, libkrb5-3 (>= 1.6.dfsg.2), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.30), libnss3 (>= 3.26), libpango-1.0-0 (>= 1.14.0), libx11-6, libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.4.4-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxkbcommon0 (>= 0.5.0), libxkbfile1 (>= 1:1.1.0), libxrandr2, xdg-utils (>= 1.0.2), zlib1g (>= 1:1.2.3.4)

  • ... at least they saved 0.001% of my hard disk space by using shared libraries, amirite?

  • Embrace
    Extend
    Extinguish <=== You are here

    • Oh, you mean, by refusing to support a version of Ubuntu that even Ubuntu doesn't support?

      The fact that they support Linux at all is pretty amazing, considering MS sells its own competing OS.

  • See, that's what you get for believing the myth of Microsoft caring about backwards compatibility. They don't even do this on Windows.

Keep up the good work! But please don't ask me to help.

Working...