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

Clear reproduction of Qt versions mismatch causing plasma failure #47552

Closed
samueldr opened this issue Sep 30, 2018 · 4 comments
Closed

Clear reproduction of Qt versions mismatch causing plasma failure #47552

samueldr opened this issue Sep 30, 2018 · 4 comments
Assignees
Labels
0.kind: bug Something is broken 0.kind: regression Something that worked before working no longer 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: qt/kde

Comments

@samueldr
Copy link
Member

First of all: ♥ nixos and the ability to create a self-contained configuration of a system which one can easily use to see a full system failure.


What is this all about?

Users may face issues when upgrading their system, if a Qt dependency was installed in their profile. Their user profile may be at a stale revision, which has a previous Qt version, and the system a newer, but at the same major version.

If the user uses plasma as their desktop, it could cause serious headaches, where their session decisively doesn't want to work anymore.

But why?

This is because of how Qt loads its plugins. See #44047 where there is details about how Qt loads plugins.

Reproducing

See this gist which has a script (./build.sh) which can be used to build the VM represented in configuration.nix.

  1. Start the vm (./build.sh)
  2. Login as alice, password is foobar.
  3. Open konsole (type it in the app menu if you can't find it).
  4. Try starting heimdall-frontend. It should fail with: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
  5. Use the break-env script to install it "properly" (nix-env -iA)
  6. The script will tell you that heimdall-frontend should work, test it.
  7. Logout, (loginctl terminate-user alice)
  8. Try logging back in.

If the environment was broken as expected, it will restart sddm on login.

What to do?

Ideally, fix this. See #44047 for an attempt at reviewing how nixpkgs-built Qt apps load their plugins.

Additionally, and for the current release, note in the release notes why plasma could be failing on upgrade, and how to resolve (update user environment OR uninstall Qt apps from there).

What's left to check

Whether 17.09 -> 18.03 faced the same issue or if this is a regression. (Where a stale older minor version of Qt-latest would break plasma.)

Related

@ttuegel ttuegel self-assigned this Jan 25, 2019
@ttuegel ttuegel added 0.kind: bug Something is broken 6.topic: qt/kde 0.kind: regression Something that worked before working no longer labels Jan 25, 2019
@jcrben
Copy link
Contributor

jcrben commented Jan 31, 2019

fyi, followed your steps and it went down exactly as you described - I saw a message The option virtualisation.memorySize' defined in /home/ben/repro-kde-plugins/configuration.nix' does not exist but it didn't seem to affect the build.

@rileyinman
Copy link
Contributor

Any updates on this? Facing the issue in a new (19.03) install and I'm not sure what to do other than give up on Plasma for now.

@stale
Copy link

stale bot commented Jun 2, 2020

Thank you for your contributions.

This has been automatically marked as stale because it has had no activity for 180 days.

If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.

Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse.
  3. Ask on the #nixos channel on irc.freenode.net.

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 2, 2020
@samueldr
Copy link
Member Author

samueldr commented Jun 2, 2020

Closing as it should be fixed by the new wrapping, but I haven't verified if it is actually fixed with the new wrapping.

@samueldr samueldr closed this as completed Jun 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug Something is broken 0.kind: regression Something that worked before working no longer 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: qt/kde
Projects
None yet
Development

No branches or pull requests

4 participants