Opening certain external URI schemes crashes xdg-desktop-portal-gtk

Steps to reproduce

  • Open a terminal and run journalctl -f observing the systemwide logs
  • Open sandbox vault, type into a new note:
[thunderlink](<thunderlink://[email protected]>)
  • Click the links

Expected result

  • Applications open. Or portal opens to select application

Actual result

  • zotero works
  • thunderlink doesn’t
  • thunderlink and all random schemes cause journalctl to show:
Mar 14 14:34:21 TillUbuntu xdg-desktop-por[62060]: Unhandled parent window type
Mar 14 14:34:21 TillUbuntu xdg-desktop-por[62060]: Failed to associate portal window with parent window
  • xdg-desktop-portal-gtk segfaults immediately afterwards

thunderlink links work from Firefox and from the terminal xdg-open. Opening random schemes from xdg-open causes "Operation not supported" and not a segfault.


  • Operating system:
    Ubuntu 20.04 LTS
  • Debug info:
	Obsidian version: v1.1.16
	Installer version: v1.1.16
	Operating system: #29~20.04.1-Ubuntu SMP Fri Jan 14 00:32:30 UTC 2022 5.13.0-27-generic
	Login status: not logged in
	Insider build toggle: off
	Live preview: on
	Legacy editor: off
	Base theme: dark
	Community theme: none
	Snippets enabled: 0
	Restricted mode: on


Additional information

  • May be connected to External links not opening in default applications
  • Obsidian may have some internal mechanism to check mime handlers? And for some reason it knows Zotero, but not cb_thunderlink, even though its entries are present in the same config files. (Zotero also only worked after install from zotero-deb, see Problem opening Zotero links - #6 by argentum)
  • I looked at the source for xdg-desktop-portal-gtk and the error stems from here, so probably some argument isn’t passed correctly from Obsidian.


Obsidian does have any specific code handing different uris. It uses what’s available in electron.

If xdg-desktop-portal-gtk segfaults, you should report this problem to xdg-desktop-portal-gtk. Even assuming Obsidian or Electron is not passing some argument correctly, it should not cause a segfault.