! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Thunar crashes when selecting or clicking webp image files
Status:
RESOLVED: INVALID

Comments

Description jEsuSdA 2020-01-07 15:25:25 CET
Dear Maintainer,

I've been working with webp-pixbuf-loader for a while and it works fine. 

https://github.com/aruiz/webp-pixbuf-loader/

It brings webp image support to all GTK apps like ristretto, eye of mate, geeqie, etc.

I updated recently the Thunar file manager to 1.8.11 (from official Debian testing repositories).

In previous version of thunar works fine, but in this version thunar crashes when clicking a webp image o even when selecting one.

This is the error message:

(thunar:7316): GdkPixbuf-CRITICAL **: 14:58:52.249: gdk_pixbuf_calculate_rowstride: assertion 'width > 0' failed

(thunar:7316): GdkPixbuf-CRITICAL **: 14:58:52.249: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(thunar:7316): GdkPixbuf-CRITICAL **: 14:58:52.249: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
Segmentation fault


I discovered that it is caused by 

"misc-image-size-in-statusbar = TRUE"

If I set this value to FALSE, Thunar works fine. This is a workaround but I'm graphical designer and web developer and "misc-image-size-in-statusbar=TRUE" is very useful to me.

The point is that it works fine in previous Thunar version, so, maybe something has been broken in new Thunar releases. 

I hope you could solve this problem or maybe tell me how I can solve by myself.


Thanks a lot!
Comment 1 alexxcons editbugs 2020-01-07 17:17:18 CET
Thanks for reporting !

It would  be great if you could  upload one of the images which crashes thunar for you ... that would simplify reproducing the bug for me.

So before upgrading, you used debian buster (stable) ?  --> thunar version 1.8.4 worked fine for you ?
Comment 2 jEsuSdA 2020-01-07 17:27:52 CET
Created attachment 9354 
webp image

Here the image (but it happens with all of webp ones). ;)


So before upgrading, you used debian buster (stable) ?  --> thunar version 1.8.4 worked fine for you ?
I'm using debian testing and Thunar 1.8.11 was updated recently. Previously I was using the 1.8.9 without any problems (loading and selecting webp images).

Today I updated:
thunar from 1.8.9-1+b1 to 1.8.11-1
thunar-data from 1.8.9-1 to 1.8.11-1

Thanks a lot!
Comment 3 alexxcons editbugs 2020-01-07 22:25:09 CET
Hmm, when set "misc-image-size-in-statusbar = TRUE", I can see the image-size for other formats on the statusbar,
but nor for 200x200.webp

Selecting 200x200.webp works fine for me, and clicking it just opens gimp for me.

I can even get a thumbnail of that file using that manual: https://forum.xfce.org/viewtopic.php?pid=52057#p52057

Now I tried to build the "webp-pixbuf-loader" from source .. do I need that package to get a image size on the statusbar ?

However building it fails with:
schwinn@schwinn-desktop:~/git$ meson build
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (meson 0.52.1 (/usr/lib/python3/dist-packages), Requirement.parse('meson==0.41.1'))

... looks like my meson is too new :)  You know how I can skip that check ?

I did not find any commit between 1.8.9 and 1.8.11  which sounds related ... if you can, best compile thunar from source and use "git bisect" to check which commit is to blame.
Comment 4 jEsuSdA 2020-01-07 22:56:22 CET
Hi!

About compiling webp-pixbuf-loader, try that:

8<------

apt-get install libglib2.0-dev libgdk-pixbuf2.0-dev libwebp-dev

meson setup build -Dgdk_pixbuf_query_loaders_path=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders

cd build

ninja

ninja install


8<------


About webp thumbnailer I'm using this:


/usr/share/thumbnailers/webp.thumbnailer

8<----------

[Thumbnailer Entry]
Version=1.0
Encoding=UTF-8
Type=X-Thumbnailer
Name=webp Thumbnailer
MimeType=image/webp;
Exec=/usr/bin/convert -thumbnail %s %i %o

8<----------


The thumbnailer works fine, and webp-pixbuf-loader too (I can open webp images in Ristretto, Eye of Mate, Geeqie and so on) but trying to select or open any webp image while  "misc-image-size-in-statusbar = TRUE" crashes Thunar.


Thanks a lot!
Comment 5 Andre Miranda editbugs 2020-01-09 05:37:58 CET
Created attachment 9362 
Screenshot

Works for me (thunar from git master).
Try to write a simple reproducer with gdk_pixbuf_get_file_info, if it crashes too then it's not Thunar's fault.
Comment 6 alexxcons editbugs 2020-01-09 08:57:40 CET
That did not help for me:
schwinn@schwinn-desktop:~/git/webp-pixbuf-loader$ meson setup build -Dgdk_pixbuf_query_loaders_path=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (meson 0.52.1 (/usr/lib/python3/dist-packages), Requirement.parse('meson==0.41.1'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/meson", line 4, in <module>
    __import__('pkg_resources').run_script('meson==0.41.1', 'meson')
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3250, in <module>
    @_call_aside
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3234, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 585, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 598, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'meson==0.41.1' distribution was not found and is required by the application


... anyhow, I think Andre Miranda's proposal to build a reproducer with "gdk_pixbuf_get_file_info" makes more sense here.
Comment 7 jEsuSdA 2020-01-09 10:39:24 CET
I don't know how to build a reproducer with "gdk_pixbuf_get_file_info", but if your thunar does not crash, maybe it is caused by webp-pixbuf-loader.

Or maybe it is caused by Debian libraries version combination in Testing branch. I going to stay tunned about new updates. ;)

Thanks a lot for your time and efforts.
Comment 8 Andre Miranda editbugs 2020-01-09 17:19:47 CET
Created attachment 9365 
sample.c

$ ./sample $(pwd)/200x200.webp
(sample:31997): GdkPixbuf-CRITICAL **: 13:18:41.242: gdk_pixbuf_calculate_rowstride: assertion 'width > 0' failed
(sample:31997): GdkPixbuf-CRITICAL **: 13:18:41.242: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(sample:31997): GdkPixbuf-CRITICAL **: 13:18:41.242: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(sample:31997): GdkPixbuf-CRITICAL **: 13:18:41.242: gdk_pixbuf_loader_prepare: assertion 'pixbuf != NULL' failed
Width: 200 - Height: 200
Comment 9 jEsuSdA 2020-01-09 20:55:01 CET
Tested and it seems that is a pixbuf failure:



8<----
jesusda@lucas in ~/Descargas/debs/webp-support/tests
$ → gcc $(pkg-config --cflags gtk+-3.0) sample.c -o sample $(pkg-config --libs gtk+-3.0)
jesusda@lucas in ~/Descargas/debs/webp-support/tests
$ → ./sample lorem-ipsum1.webp 

(sample:350354): GdkPixbuf-CRITICAL **: 20:51:53.386: gdk_pixbuf_calculate_rowstride: assertion 'width > 0' failed

(sample:350354): GdkPixbuf-CRITICAL **: 20:51:53.386: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed

(sample:350354): GdkPixbuf-CRITICAL **: 20:51:53.387: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
Violación de segmento
jesusda@lucas in ~/Descargas/debs/webp-support/tests
$ → ./sample lorem-ipsum1.jpg
Width: 1000 - Height: 700
jesusda@lucas in ~/Descargas/debs/webp-support/tests

8<----
Comment 10 Andre Miranda editbugs 2020-01-10 01:07:41 CET
Ok, closing, reopen if you find any evidence Thunar is causing the crash.
Comment 11 jEsuSdA 2020-01-11 13:56:19 CET
Thank you so much.

I reported all the information to webp-pixbuf-loader devs.

Thanks a lot for your help!!! ;)

Bug #16344

Reported by:
jEsuSdA
Reported on: 2020-01-07
Last modified on: 2020-01-11

People

Assignee:
Xfce Bug Triage
CC List:
3 users

Version

Version:
1.8.11

Attachments

webp image (1.75 KB, image/webp)
2020-01-07 17:27 CET , jEsuSdA
no flags
Screenshot (43.79 KB, image/png)
2020-01-09 05:37 CET , Andre Miranda
no flags
sample.c (549 bytes, text/x-csrc)
2020-01-09 17:19 CET , Andre Miranda
no flags

Additional information