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

VSCode 1.94 Debian package can not be installed on Debian 11 anymore (uses unknown compression for member 'control.tar.zst', giving up) #230418

Closed
olifre opened this issue Oct 3, 2024 · 27 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug candidate Issue identified as probable candidate for fixing in the next release deb Issues related to the deb package linux Issues with VS Code on Linux verified Verification succeeded

Comments

@olifre
Copy link

olifre commented Oct 3, 2024

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.94
  • OS Version: Debian 11 (bullseye)

Steps to Reproduce:

  1. Try to install the Debian package.
  2. Observe:
dpkg-deb: error: archive '/var/cache/apt/archives/code_1.94.0-1727878498_amd64.deb' uses unknown compression for member 'control.tar.zst', giving up
dpkg: error processing archive /var/cache/apt/archives/code_1.94.0-1727878498_amd64.deb (--unpack):
 dpkg-deb --control subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/code_1.94.0-1727878498_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Last working package was version 1.93.1.

@olifre
Copy link
Author

olifre commented Oct 3, 2024

I was able to install it without problems in debian

Was that by any chance Debian 12 or another release?
Debian 11 does not support zstd for deb packages unless you patched dpkg itself.

@tuukkapa
Copy link

tuukkapa commented Oct 3, 2024

I can reproduce this issue and I'm running Debian 11.

@Whobeu
Copy link

Whobeu commented Oct 3, 2024

I am seeing the same thing. Trying to upgrade on a Raspberry Pi running the equivalent of Debian 11 and it fails with the following:

dpkg-deb: error: archive '/var/cache/apt/archives/code_1.94.0-1727877189_arm64.deb' uses unknown compression for member 'control.tar.zst', giving up

@IncandescentChrysalis
Copy link

dpkg < 1.28 does not support ZSTD compression, hence Debian 11 Bullseye and older are impacted.
Cf. Debian bug #892664

Since M$ code repository does not match a specific distribution, I see no way of segmenting different releases of a distribution, packages-wise.
Maybe would it be time to set that up?

@deepak1556 deepak1556 added bug Issue identified by VS Code Team member as probable bug linux Issues with VS Code on Linux candidate Issue identified as probable candidate for fixing in the next release deb Issues related to the deb package labels Oct 4, 2024
@deepak1556 deepak1556 added this to the September 2024 Recovery 2 milestone Oct 4, 2024
@olifre
Copy link
Author

olifre commented Oct 4, 2024

Since M$ code repository does not match a specific distribution, I see no way of segmenting different releases of a distribution, packages-wise.
Maybe would it be time to set that up?

Either that, or reverting the change, as it does not appear to save any noticeable space anyways (of course zstd is faster to decompress):

@deepak1556
Copy link
Collaborator

Sorry for this unintended change, this seems to have been impacted by our CI changes last milestone ab30106 that bumped the version of dpkg-deb, not sure if the default compression changed with newer versions. I will check and prepare a candidate fix.

@lszomoru lszomoru removed their assignment Oct 4, 2024
@deepak1556
Copy link
Collaborator

Yeah seems to be the case, in the ubuntu version of the deb tools zstd seems to be default compressor for dpkg-deb. Whereas in the upstream repo it is still xz.

We can use -Zxz to revert the compression, which I will make as a candidate fix.

@olifre
Copy link
Author

olifre commented Oct 4, 2024

We can use -Zxz to revert the compression, which I will make as a candidate fix.

Thanks for hunting this down!

In the long term, it might also be interesting to add a "try to install deb package" step into the CI, which tries to install the deb for common distros (e.g. Debian, Ubuntu in supported versions) so incompatibilities can be captured by the CI?

@deepak1556
Copy link
Collaborator

deepak1556 commented Oct 4, 2024

Fair point, our team does sanity testing of build bits before releasing but the issue is that we haven't covered a good array of distros to ensure these types of issues are catched. I will work on improving our sanity testing process.

@deepak1556
Copy link
Collaborator

Issue will be fixed in tomorrow's insider and will also be fixed in stable 1.94.2 release early next week.

@RossBoylan
Copy link

https://unix.stackexchange.com/a/723014/580693 offers a work-around that looks plausible, and pretty simple, though I haven't tried it myself. Or, if you're feeling ambitious, upgrade to current Debian.

Personally, I'll just wait for the fix so thoughtfully provided by @deepak1556.

@RossBoylan
Copy link

Fair point, our team does sanity testing of build bits before releasing but the issue is that we haven't covered a good array of distros to ensure these types of issues are catched. I will work on improving our sanity testing process.

This problem would only be caught by testing against old versions of Debian. Debian 11 is currently oldstable . While it's still under LTS, it is technically EOL as of a couple of months ago. See this guide.

Since I, and apparently others, are still using the old version, I'm all for such testing, but I just wanted to point out it's a little more ambitious than just testing against the current releases.

@Whobeu
Copy link

Whobeu commented Oct 4, 2024

Fair point, our team does sanity testing of build bits before releasing but the issue is that we haven't covered a good array of distros to ensure these types of issues are catched. I will work on improving our sanity testing process.

This problem would only be caught by testing against old versions of Debian. Debian 11 is currently oldstable . While it's still under LTS, it is technically EOL as of a couple of months ago. See this guide.

Yes Debian 11 is still supported as "oldstable" and will be supported with security patches until August 31st, 2026. Debian 10 was "oldoldstable" and just went off support effective July 1, 2024.

@versionbayjc
Copy link

Since the VS Code system requirements still state Debian 10 is supported, I was not expecting to see any issues with Debian 11 myself 😇

@pedroobando
Copy link

I have the same problem, I have Debian 11 installed on my personal computer.

dpkg-deb: error: el archivo /var/cache/apt/archives/code_1.94.0-1727878498_amd64.deb' contiene un miembro de datos contro
l.tar.zst' ininteligible, abandono
dpkg: error al procesar el archivo /var/cache/apt/archives/code_1.94.0-1727878498_amd64.deb (--unpack):
el subproceso dpkg-deb --control devolvió el código de salida de error 2
Se encontraron errores al procesar:
/var/cache/apt/archives/code_1.94.0-1727878498_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

@almi05
Copy link

almi05 commented Oct 6, 2024

https://unix.stackexchange.com/a/723014/580693 offers a work-around that looks plausible, and pretty simple, though I haven't tried it myself. Or, if you're feeling ambitious, upgrade to current Debian.

Personally, I'll just wait for the fix so thoughtfully provided by @deepak1556.

Tried this workaround on my Raspberry Pi running Debian 11 aarch64, VSCode 1.94 was installed without any issues, thanks!
If you need the deb file ready for arm64, I temporarily uploaded it here.

@petit-vps
Copy link

got the same issue
dpkg-deb: erreur: l'archive « /var/cache/apt/archives/code_1.94.0-1727878498_amd64.deb » utilise un procédé de compression inconnu pour le membre « control.tar.zst ». Abandon.
on bullseye

@IncandescentChrysalis
Copy link

IncandescentChrysalis commented Oct 8, 2024

I kindly suggest to people tempted to comment in here to start by reading previous comments, in order to avoid comments with no additional value.

dpkg < 1.28 does not support ZSTD compression, hence Debian 11 Bullseye and older are impacted.
Cf. Debian bug #892664

@theofficialgman
Copy link

Same issue. Hope this can be released ASAP

@williamyizhu
Copy link

Same issue for code_1.94.1-1728111316_amd64.deb

@deepak1556
Copy link
Collaborator

Closing for verification.

Steps:

  1. Run the following docker run -e COMMIT="7b878f5a39c027a8c4368125ba2165679705d60f" -it --rm --platform linux/amd64 debian:11 /bin/sh -c 'apt update && apt install -y wget libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libcairo2 libcurl3-gnutls libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxkbfile1 libxrandr2 xdg-utils gpg && wget "https://update.code.visualstudio.com/commit:$COMMIT/linux-deb-x64/stable" -O code_1.94.2_amd64.deb && dpkg -i code_1.94.2_amd64.deb'
  2. Follow the prompts and confirm the installation exits without the failure in VSCode 1.94 Debian package can not be installed on Debian 11 anymore (uses unknown compression for member 'control.tar.zst', giving up) #230418 (comment)

@wavesailor
Copy link

wavesailor commented Oct 9, 2024

I don't have docker on my Raspberry Pi ... besides it does not have enough space or horsepower to install and run it.
Is there not another solution?

@IncandescentChrysalis
Copy link

IncandescentChrysalis commented Oct 9, 2024

Closing for verification.

Wouldn't it be better to close an issue after positive verification of the problem at hand being solved where it first appeared, ie in production?


Steps:

1. Run the following `docker run -e COMMIT="7b878f5a39c027a8c4368125ba2165679705d60f" -it --rm --platform linux/amd64 debian:11 /bin/sh -c 'apt update && apt install -y wget libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libcairo2 libcurl3-gnutls libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxkbfile1 libxrandr2 xdg-utils gpg && wget "https://update.code.visualstudio.com/commit:$COMMIT/linux-deb-x64/stable" -O code_1.94.2_amd64.deb && dpkg -i code_1.94.2_amd64.deb'`

2. Follow the prompts and confirm the installation exits without the failure in [VSCode 1.94 Debian package can not be installed on Debian 11 anymore (uses unknown compression for member 'control.tar.zst', giving up) #230418 (comment)](https://github.com/microsoft/vscode/issues/230418#issue-2564672671)

A simpler verification mechanism would be (on GNU/Linux, amd64 architecture):

  1. Download the https://update.code.visualstudio.com/commit:7b878f5a39c027a8c4368125ba2165679705d60f/linux-deb-x64/stable package
  2. file <package>
  3. If zst compression is mentioned, run away screaming

Just tested on this URL, got redirected to a code_1.94.1-1728111316_amd64.deb package, and xz compression is mentioned, which means it seems you are on the right track.

I would however have waited that package to land in the public repository before closing the current issue, as it is technically not resolved in production yet…
Said otherwise: As things stands, I stille cannot update code through M$ repositories.

@RossBoylan
Copy link

Closing for verification.

What does that mean?
It sounds like "closing in order to verify the fix", which doesn't make much sense. I'm guessing the intended meaning is "closing after having verified the fix".

@rzhao271
Copy link
Contributor

rzhao271 commented Oct 9, 2024

"Closing for verification" means "closing to signal to team members that the issue is ready to verify and will show up in the next stable release once verified".
This procedure occurs as part of our endgame.
If pre-release verification fails, the issue gets re-opened again.

@rzhao271 rzhao271 added the verified Verification succeeded label Oct 9, 2024
@IncandescentChrysalis
Copy link

Problem solved with 1.94.2-1728494015 from the public repository.
Now would have been a good time to solve the issue.

If you wish so, try to address odd processes at M$ 😉

@versionbayjc
Copy link

I'm also "just a user" of VS Code, while I understand the reasoning of some other users here, I think it's also good to think about the perspective of the developers/maintainers of VS Code. GitHub issues is the issue tracking system that the developers use to track what issues need to be worked on. If this issue with the compression with the .deb (for Debian 11) is fixed in the main branch, it is fixed (from a dev perspective); even if it is not yet available as a general release. Maybe there should be a clearer separation between whether issues are resolved for a user perspective vs a developer perspective, but just being aware of this difference is I think useful.
But specifically for this one, it was explained that this should be resolved as part of 1.94.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue identified by VS Code Team member as probable bug candidate Issue identified as probable candidate for fixing in the next release deb Issues related to the deb package linux Issues with VS Code on Linux verified Verification succeeded
Projects
None yet
Development

No branches or pull requests