Package: libfuse3
Version: 3.14.0-4
Severity: normal

Dear Maintainer,

Since bookworm,
  $ /usr/sbin/febug /run/user/1000/febug/
  Ignoring invalid max threads value 4294967295 > max (100000).
  ...
and according to fuse_cmdline_help():
               "    -o max_idle_threads    the maximum number of idle worker 
threads\n"
               "                           allowed (default: -1)\n"
fuse_main_real():
        if (opts.singlethread)
                res = fuse_loop(fuse);
        else {
                loop_config = fuse_loop_cfg_create();
                if (loop_config == NULL) {
                        res = 7;
                        goto out3;
                }

                fuse_loop_cfg_set_clone_fd(loop_config, opts.clone_fd);

                fuse_loop_cfg_set_idle_threads(loop_config, 
opts.max_idle_threads);
                fuse_loop_cfg_set_max_threads(loop_config, opts.max_threads);
                res = fuse_loop_mt(fuse, loop_config);
        }
(and I can confirm it goes away with -s or -omax_idle_threads=10).

fuse_loop_cfg_set_idle_threads():
void fuse_loop_cfg_set_idle_threads(struct fuse_loop_config *config,
                                    unsigned int value)
{
        if (value > FUSE_LOOP_MT_MAX_THREADS) {
                fuse_log(FUSE_LOG_ERR,
                         "Ignoring invalid max threads value "
                         "%u > max (%u).\n", value, FUSE_LOOP_MT_MAX_THREADS);
                return;
        }
        config->max_idle_threads = value;
}
however, there are two separate defaults (one as the argument, and one
in fuse_loop_mt.c), and
fuse_loop_mt.c:#define FUSE_LOOP_MT_DEF_IDLE_THREADS -1 /* thread destruction 
is disabled
fuse_loop_mt.c: config->max_idle_threads = FUSE_LOOP_MT_DEF_IDLE_THREADS;
so -1 is valid by default if unset, defaults to being passed as -1, and
is illegal there.

Please make the condition
 (value > FUSE_LOOP_MT_MAX_THREADS &&
  value != FUSE_LOOP_MT_DEF_IDLE_THREADS)

Best,
наб

-- System Information:
Debian Release: 12.0
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages fuse3 depends on:
ii  adduser     3.134
ii  libc6       2.36-9
ii  libfuse3-3  3.14.0-4
ii  mount       2.38.1-5+b1
ii  sed         4.9-1

fuse3 recommends no packages.

fuse3 suggests no packages.

-- Configuration Files:
/etc/fuse.conf changed:
user_allow_other


-- no debconf information

Attachment: signature.asc
Description: PGP signature

Reply via email to