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!
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 ?
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!
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.
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!
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.
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.
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.
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
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<----
Ok, closing, reopen if you find any evidence Thunar is causing the crash.
Thank you so much. I reported all the information to webp-pixbuf-loader devs. Thanks a lot for your help!!! ;)