pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: graphics/gimp unable to open files?



On Sun, Nov 09, 2025 at 03:50:18PM +1100, Paul Ripke wrote:
> Attempting to open a file - tried png & jpeg - results in an error:
> 
> Procedure 'file-png-load' has been called with value '<not transformable to string>' for argument 'file' (#2, type GFile). This value is out of range.
> 
> Before I dive in and debug, I'm wondering if anyone else is seeing this.
> NetBSD-10.1, amd64, pkgsrc-2025Q3.

Thanks for those who replied to say it works fine! So now I'm debugging it,
and it seems to be due to gimp calling faccessat(2) with fd 0. When I start
gimp from a shell, fd 0 is open on /dev/pts, which makes fdaccessat happy.
When I start gimp directly from i3, fd 0 is a pipe, which causes faccessat
to return errno 22, EINVAL Invalid argument.

Using "catch syscall faccessat" in gdb, I pinned down the call to in
devel/glib2. Patching gio/glocalfile.c to pass AT_FDCWD as the fd, it
fixes the issue.

However; checking the standard, my reading is that faccessat(2) should not
return EINVAL if passed a non-directory fd with an absolute path. So maybe
this is a bug in NetBSD (and FreeBSD)? This is an unexpected rabbit hole :)

And, what do you know, christos@ fixed this, I'm still on NetBSD-10.x,
which doesn't have the patch:
https://github.com/NetBSD/src/commit/b79b3edc5f00c2bdb48f07c66224e63db5538ec0

See also:
https://gitlab.gnome.org/GNOME/glib/-/issues/3495

-- 
Paul Ripke
"Great minds discuss ideas, average minds discuss events, small minds
 discuss people."
-- Disputed: Often attributed to Eleanor Roosevelt. 1948.


Home | Main Index | Thread Index | Old Index