Inconsistent output from system and compiled gio

Hello!

I had this issue with Nautilus where some files accessed on a SMB share were not visible. It turned out it was due to DOS “hidden” attribute being set on the file (for whatever reason), and enabling “Show hidden files” in nautilus made the file visible again.

I manually compiled glib from source and run the gio tool on the file to understand what attributes are reported to nautilus from gio library. Seems like system gio (/usr/bin/gio) and compiled gio (build/gio/gio) are reporting different attributes:

system gio:

⬢ [user@toolbx glib]$ gio info /run/user/1000/gvfs/smb-share:server=192.168.1.44,share=mydata/documents/bolletta-2025-08.pdf
nome visibile: bolletta-2025-08.pdf
nome modificabile: bolletta-2025-08.pdf
nome: bolletta-2025-08.pdf
tipo: regular
dimensione:  196207
nascosto
uri: smb://192.168.1.44/mydata/documents/bolletta-2025-08.pdf
percorso locale: /run/user/1000/gvfs/smb-share:server=192.168.1.44,share=mydata/documents/bolletta-2025-08.pdf
mount unix: gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
attributi:
  standard::type: 1
  standard::is-hidden: TRUE
  standard::name: bolletta-2025-08.pdf
  standard::display-name: bolletta-2025-08.pdf
  standard::edit-name: bolletta-2025-08.pdf
  standard::icon: application-pdf, x-office-document, application-pdf-symbolic, x-office-document-symbolic
  standard::content-type: application/pdf
  standard::fast-content-type: application/pdf
  standard::size: 196207
  standard::allocated-size: 196608
  standard::symbolic-icon: application-pdf-symbolic, x-office-document-symbolic, application-pdf, x-office-document
  etag::value: 1758965712
  id::filesystem: smb-share:server=192.168.1.44,share=mydata
  access::can-write: TRUE
  access::can-trash: FALSE
  time::modified: 1758965712
  time::modified-usec: 455250
  time::access: 1758968033
  time::access-usec: 577592
  time::changed: 1758965712
  time::changed-usec: 455250
  unix::device: 1829779301
  unix::inode: 240048
  dos::is-archive: TRUE

compiled gio:

⬢ [user@toolbx glib]$ build/gio/gio info /run/user/1000/gvfs/smb-share:server=192.168.1.44,share=mydata/documents/bolletta-2025-08.pdf
display name: bolletta-2025-08.pdf
edit name: bolletta-2025-08.pdf
name: bolletta-2025-08.pdf
type: regular
size:  196207
uri: file:///run/user/1000/gvfs/smb-share:server=192.168.1.44,share=mydata/documents/bolletta-2025-08.pdf
local path: /run/user/1000/gvfs/smb-share:server=192.168.1.44,share=mydata/documents/bolletta-2025-08.pdf
unix mount: gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
attributes:
  standard::type: 1
  standard::is-hidden: FALSE
  standard::is-backup: FALSE
  standard::is-symlink: FALSE
  standard::name: bolletta-2025-08.pdf
  standard::display-name: bolletta-2025-08.pdf
  standard::edit-name: bolletta-2025-08.pdf
  standard::copy-name: bolletta-2025-08.pdf
  standard::icon: application-pdf, x-office-document, application-pdf-symbolic, x-office-document-symbolic
  standard::content-type: application/pdf
  standard::fast-content-type: application/pdf
  standard::size: 196207
  standard::allocated-size: 196608
  standard::symbolic-icon: application-pdf-symbolic, x-office-document-symbolic, application-pdf, x-office-document
  etag::value: 1758965712:0:0
  id::file: l109:13
  id::filesystem: l109
  access::can-read: TRUE
  access::can-write: TRUE
  access::can-execute: TRUE
  access::can-delete: TRUE
  access::can-trash: FALSE
  access::can-rename: TRUE
  time::modified: 1758965712
  time::modified-usec: 0
  time::access: 1758968033
  time::access-usec: 0
  time::changed: 1758965712
  time::changed-usec: 0
  time::modified-nsec: 0
  time::access-nsec: 0
  time::changed-nsec: 0
  unix::device: 109
  unix::inode: 13
  unix::mode: 33216
  unix::nlink: 1
  unix::uid: 1000
  unix::gid: 1000
  unix::rdev: 0
  unix::block-size: 4096
  unix::blocks: 384
  unix::is-mountpoint: FALSE
  owner::user: user
  owner::user-real: <redacted>
  owner::group: user

There are some attributes not showing up in system gio, but the interesting part is the mismatch between “standard::is-hidden” attribute. Any idea on what could be causing this mismatch?