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

Crash with Gtk error when trying to open directory chooser #25

Closed
gxtu opened this issue Feb 18, 2021 · 6 comments
Closed

Crash with Gtk error when trying to open directory chooser #25

gxtu opened this issue Feb 18, 2021 · 6 comments
Labels
bug Something isn't working

Comments

@gxtu
Copy link

gxtu commented Feb 18, 2021

When I try to open the directory chooser, the program crashes with the following error message:

(BlobBackup:177022): Gtk-WARNING **: 21:10:18.384: 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:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Paper/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Paper/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
zsh: abort (core dumped)  ./BlobBackup

Steps to reproduce:

  1. Download, extract and launch BlobBackup version linux_amd64_v1.0.0.beta2 from the Github releases page
  2. Open the creation dialog for a new backup
  3. Select "Local Directory" as the storage location
  4. Click "Browse" next to the directory input

This is on ArchLinux. It only happens with the packaged release. When I run it directly from source, it works fine. I'm using a Gtk icon theme (Paper) and the image file mentioned in the error message exists and doesn't appear to be corrupted. Running update-mime-database /usr/share/mime or gdk-pixbuf-query-loaders --update-cache didn't fix the problem. It might be related to PyInstaller, which seems to have had similar issues in the past.

@bimbashrestha bimbashrestha added the bug Something isn't working label Feb 18, 2021
@bimbashrestha
Copy link
Member

@gxtu Welcome to the project and thanks for reporting!

Pyinstaller works pretty well for Windows and OSX but I've had trouble getting it to work reliably across different Linux distros. I'm considering making BlobBackup an installable pip package and removing the pre-packaged binary from the releases page just for Linux. It would resolve this issue and other similar distro specific issues from coming up.

When I run it directly from source, it works fine.

Just to confirm, when you run from source, everything works as you expect on Arch right?

@gxtu
Copy link
Author

gxtu commented Feb 18, 2021

Just to confirm, when you run from source, everything works as you expect on Arch right?

Yes, that is correct.

@bimbashrestha
Copy link
Member

Made a new issue for the PyPi package. Will leave this open until we resolve that one

@bimbashrestha
Copy link
Member

Hey @gxtu, I just merged https://github.com/bimbashrestha/BlobBackup/pull/28 which makes BlobBackup a pip package. Can you try:

$ python setup.py develop
$ blobbackup

from the dev branch on your Arch and see if you get this crash still?

@gxtu
Copy link
Author

gxtu commented Feb 20, 2021

I just tried

$ python -m venv env
$ source env/bin/activate
$ pip install --upgrade pip
$ pip install wheel
$ python setup.py develop

which gives me the following error: error: The 'google-auth' distribution was not found and is required by google-auth-oauthlib. Trying to run blobbackup anyway results in ModuleNotFoundError: No module named 'shiboken2' (which is probably because it aborted before installing all dependencies).

Using pip install . instead of python setup.py develop does work though and lets me use BlobBackup and the directory chooser as expected.

@bimbashrestha
Copy link
Member

Thanks for testing.

Hmm, not sure why the google-auth distribution can't be found. Strange. In any case, I think pip install . is preferable to python setup.py install/develop since you can uninstall more easily.

I'll upload the package to PyPi at some point and recommend that Linux users just install using pip in the docs. Going to close this for now but feel free to leave more comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants