pulsar icon indicating copy to clipboard operation
pulsar copied to clipboard

Crashed on any attempts at loading a "File Dialoge" (GLib-GIO-ERROR / NixOS)

Open aliqandil opened this issue 1 year ago • 7 comments

Thanks in advance for your bug report!

  • [x] Have you reproduced issue in safe mode?
  • [x] Have you used the debugging guide to try to resolve the issue?
  • [x] Have you checked our FAQs to make sure your question isn't answered there?
  • [x] Have you checked to make sure your issue does not already exist?
  • [x] Have you checked you are on the latest release of Pulsar?

What happened?

Well It has been like this since at least version 1.109.0. I just moved to the latest version (1.125.0) using the unstable channel on nix, and it's still here.

Pulsar version

Pulsar : 1.125.0 Electron: 12.2.3 Chrome : 89.0.4389.128 Node : 14.16.0

Which OS does this happen on?

❓ Other(Please specify in the OS details field below)

OS details

NixOS - 24.11.715262.6af28b834dac (Vicuna)

Which CPU architecture are you running this on?

x86_64/AMD64

What steps are needed to reproduce this?

I can drag and drop files into the editor, but Can't load any file with a GUI. For example, pressing CTRL+S will work fine if the file already exists, but It will crash out if it's a new file. Since I didn't see anyone complaining about this, I'm sure it has something to do with my machine, So I'll dump the related part of my nix configuration:

#configuration.nix
{
	config,
	pkgs,
	...
}: {
	imports = [
		# Include the results of the hardware scan.
		./hardware-configuration.nix
		./networking.nix
		./nvidia.nix
		./unstable.nix
	];

	# Bootloader.
	boot.loader.systemd-boot.enable = true;
	boot.loader.efi.canTouchEfiVariables = true;

	# Enable the X11 windowing system.
	services.xserver.enable = true;

	# Enable the KDE Plasma Desktop Environment.
	services.displayManager.sddm.enable = true;
	services.desktopManager.plasma6.enable = true;

	# Configure keymap in X11
	services.xserver.xkb = {
		layout = "us";
		variant = "";
	};

	services.flatpak.enable = true;

	environment.shells = with pkgs; [zsh];

	# Allow unfree packages
	nixpkgs.config.allowUnfree = true;

	# Enable Flakes
	nix.settings.experimental-features = ["nix-command" "flakes"];
	programs.nix-ld.enable = true;
	programs.dconf.enable = true;

	#KDE
	programs.kdeconnect.enable = true;
	programs.partition-manager.enable = true;

	environment.systemPackages = with pkgs; [
		"..."
	];

	system.stateVersion = "23.11";
}

And here is the file "unstable.nix" where I tell it to include pulsar.

{ config, pkgs, ...}:
let
	baseconfig = {
		allowUnfree = true;
		permittedInsecurePackages = [
			"pulsar-1.125.0"
		];
	};
	unstable = import <nixos-unstable> { config = baseconfig; };
in {
	environment.systemPackages = with pkgs; [
		unstable.pulsar
	];
}

Additional Information:

Terminal Error:

>>> pulsar -f --safe

(pulsar:136045): GLib-GIO-ERROR **: 23:25:16.492: No GSettings schemas are installed on the system
/nix/store/76vn5d9gjb416vfk0m8pkwzd5r27mmv6-pulsar-1.125.0/opt/Pulsar/resources/.pulsar.sh-wrapped: line 241: 136045 Trace/breakpoint trap   (core dumped) "$PULSAR_EXECUTABLE" --executed-from="$(pwd)" --pid=$$ "$@" --no-sandbox
>>> echo $?
133

aliqandil avatar Mar 05 '25 20:03 aliqandil

I'm experiencing the exact same issue. Crashes exactly as described above with a very similar NixOS config using KDE. If I switch to Gnome (or use another nix machine with Gnome) it works fine. The issue is KDE specific. Not sure if NixOS specific also, but it could be.

Pulsar version info:

$ pulsar -v
Pulsar  : 1.125.0
Electron: 12.2.3
Chrome  : 89.0.4389.128
Node    : 14.16.0

NixOS version info:

$ uname -a
Linux xps 6.13.5 #1-NixOS SMP PREEMPT_DYNAMIC Thu Feb 27 12:34:22 UTC 2025 x86_64 GNU/Linux
$ nixos-version
25.05.20250307.36fd87b (Warbler)

carlzulauf avatar Apr 02 '25 20:04 carlzulauf

Can either of you identify a version of Pulsar that was working on NixOS with KDE? If this regressed from an earlier version, we should be able to pinpoint why; but if it's always been like this, we have fewer options.

If it's the latter, one thing to try (just for diagnostic purposes) would be to grab a version of PulsarNext (a preview release of Pulsar running on a newer version of Electron) from here (for x86) or here (for arm64).

If you're able to run PulsarNext under the same conditions, that suggests this is a problem with Electron itself, and that it will ultimately be fixed when we are able to land this major upgrade and ship it to users. That's not ideal, but it would at least give you a version of Pulsar you could use in the interim, and it would prove that this will eventually get fixed.

savetheclocktower avatar Apr 02 '25 21:04 savetheclocktower

I went all the way back to 1.104.0 and experienced crashes in similar scenarios, though the error was a little different.

$ pulsar -v
Pulsar  : 1.104.0
Electron: 12.2.3
Chrome  : 89.0.4389.128
Node    : 14.16.0

Error:

/nix/store/29r6bp8mf7ax34wlqs75hyyjmr2mlv02-pulsar-1.104.0/opt/Pulsar/resources/.pulsar.sh-wrapped: line 150: 563803 Aborted                 (core dumped) nohup "$PULSAR_PATH" --executed-from="$(pwd)" --pid=$$ "$@" --no-sandbox > "$ATOM_HOME/nohup.out" 2>&1
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.WaZyI7'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(Use `exe --trace-warnings ...` to show where the warning was created)
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.5g33P9'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.nwVrJH'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.T8H2UY'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.mjKesT'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.H2eGir'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.ZzT1pn'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.psCigK'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.evratl'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.i6oDjM'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.XcIagD'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.IHNOkg'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.7HcF0x'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.VTBvu3'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.aKLag0'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.237XiH'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.TYUpUU'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.eiWtSG'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.cCmoHX'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:563895) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.CN14E4'. This is deprecated, see https://github.com/electron/electron/issues/18397.

(pulsar:563803): Gtk-WARNING **: 15:29:17.481: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /nix/store/ag8mbjg69gpz3d7w01rfyxwrl5c8pz7i-breeze-icons-6.11.0/share/icons/breeze-dark/status/16/image-missing.svg: Unable to load image-loading module: /nix/store/vza1klvvj9gh3k56h419jfsdy6536mgj-librsvg-2.59.2/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader_svg.so: /nix/store/1nyg1fvhpz8bx3vn3r9f18zhra2rpbx9-glibc-2.37-8/lib/libm.so.6: version `GLIBC_2.38' not found (required by /nix/store/vza1klvvj9gh3k56h419jfsdy6536mgj-librsvg-2.59.2/lib/librsvg-2.so.2) (gdk-pixbuf-error-quark, 5)
Bail out! Gtk:ERROR:../gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /nix/store/ag8mbjg69gpz3d7w01rfyxwrl5c8pz7i-breeze-icons-6.11.0/share/icons/breeze-dark/status/16/image-missing.svg: Unable to load image-loading module: /nix/store/vza1klvvj9gh3k56h419jfsdy6536mgj-librsvg-2.59.2/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader_svg.so: /nix/store/1nyg1fvhpz8bx3vn3r9f18zhra2rpbx9-glibc-2.37-8/lib/libm.so.6: version `GLIBC_2.38' not found (required by /nix/store/vza1klvvj9gh3k56h419jfsdy6536mgj-librsvg-2.59.2/lib/librsvg-2.so.2) (gdk-pixbuf-error-quark, 5)

carlzulauf avatar Apr 02 '25 22:04 carlzulauf

Going to have to roll my own package to get PulsarNext on NixOS I expect. I will follow up if I'm able to do so.

carlzulauf avatar Apr 02 '25 22:04 carlzulauf

Going to have to roll my own package to get PulsarNext on NixOS I expect. I will follow up if I'm able to do so.

OK, thanks. Please ask for help in this issue or on Discord if you get stuck trying to build from source.

savetheclocktower avatar Apr 03 '25 01:04 savetheclocktower

I'm doing some searches and I'm wondering if this feels relevant to the original error.

savetheclocktower avatar Apr 03 '25 01:04 savetheclocktower

I'm doing some searches and I'm wondering if this feels relevant to the original error.

Well yes, In trying to figure it out myself, I did find something like that (or exactly that pull request)! But it was way above what I can understand for now. Definitely "feels" relevant though :)

My understanding was that the NixOs version isn't correctly setting up the environment for pulsar.

aliqandil avatar Apr 12 '25 10:04 aliqandil