Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1037410: libfuse3: always warns "Ignoring invalid max threads value 4294967295 > max (100000)." by default

226 views
Skip to first unread message

наб

unread,
Jun 12, 2023, 9:12:02 AM6/12/23
to
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
signature.asc

Sergio Gelato

unread,
Nov 9, 2023, 2:50:06 AM11/9/23
to
control: tags -1 + fixed-upstream

This was fixed in upstream commit 2da03e389866835e29b78a4546c6f1f87aab8fe1 , first released in version 3.14.1.
0 new messages