#1111118 trickle fails with "trickle: Could not find overload object"

Package:
trickle
Source:
trickle
Description:
user-space bandwidth shaper
Submitter:
Christian Garbs
Date:
2026-03-01 18:12:22 UTC
Severity:
normal
#1111118#5
Date:
2025-08-14 20:15:05 UTC
From:
To:
Dear Maintainer,

I use trickle in some cron entries to limit the bandwidth of my
backups transmitted via UUCP.  After updating my system from Debian 12
to Debian 13, these existing trickle invocations stopped working.

When the trickle binary is called, it writes "trickle: Could not find
overload object" to stderr and then exits with exit code 1.

I can reproduce this error via the first EXAMPLE from the trickle(1)
manpage:

$ trickle -u 10 -d 20 ncftp
trickle: Could not find overload object
$ echo $?
1

(I actually don't have ncftp installed, but trickle throws the error
 before calling the binary.  I get the same result with other binaries,
 eg. "/usr/bin/uucico" or "curl http://example.com").


I have found a similar bugreport upstream where a downgrade to trickle
1.07 seems to fix the error:
https://github.com/mariusae/trickle/issues/35#issuecomment-3028163448

#1111118#10
Date:
2025-09-03 07:04:52 UTC
From:
To:
Dear maintainer,

I have investigated some more and it looks like a hardcoded library
path is wrong.

strace(1) shows this:

$ strace trickle -u 10 -d 20 ncftp
execve("/usr/bin/trickle", ["trickle", "-u", "10", "-d", "20", "ncftp"], 0x7ffdd8930748 /* 60 vars */) = 0
brk(NULL)                               = 0x55bd006bc000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f450db38000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=166299, ...}) = 0
mmap(NULL, 166299, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f450db0f000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\236\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 840, 64) = 840
fstat(3, {st_mode=S_IFREG|0755, st_size=2003408, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 840, 64) = 840
mmap(NULL, 2055800, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f450d919000
mmap(0x7f450d941000, 1462272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f450d941000
mmap(0x7f450daa6000, 352256, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18d000) = 0x7f450daa6000
mmap(0x7f450dafc000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e2000) = 0x7f450dafc000
mmap(0x7f450db02000, 52856, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f450db02000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f450d916000
arch_prctl(ARCH_SET_FS, 0x7f450d916740) = 0
set_tid_address(0x7f450d916a10)         = 749140
set_robust_list(0x7f450d916a20, 24)     = 0
rseq(0x7f450d916680, 0x20, 0, 0x53053053) = 0
mprotect(0x7f450dafc000, 16384, PROT_READ) = 0
mprotect(0x55bcf2423000, 4096, PROT_READ) = 0
mprotect(0x7f450db74000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f450db0f000, 166299)          = 0
newfstatat(AT_FDCWD, "/usr/lib/trickle/trickle-overload.so", 0x7fff34d7efc0, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory)
write(2, "trickle: ", 9trickle: )                = 9
write(2, "Could not find overload object", 30Could not find overload object) = 30
write(2, "\n", 1
)                       = 1
exit_group(1)                           = ?
+++ exited with 1 +++


There is no /usr/lib/trickle/trickle-overload.so on my system:

$ ls -l /usr/lib/trickle/trickle-overload.so
ls: cannot access '/usr/lib/trickle/trickle-overload.so': No such file or directory

The real location seems to be arch-dependent:

$ dpkg -L trickle | grep overload
/usr/lib/x86_64-linux-gnu/trickle/trickle-overload.so

I should be able to fix this by manually creating a symlink as a
workaround.

This looks like a bug with the package build.

Regards,
Christian

#1111118#17
Date:
2026-01-16 14:46:39 UTC
From:
To:
$ trickle -u 10 -d 20 curl -sSL www.debian.org
trickle: Could not find overload object
$ trickle -s -u 10 -d 20 curl -sSL www.debian.org
trickle: Could not find overload object

I'd argue that trickle is sufficiently broken in this state to warrant
severity "grave", so adjusting accordingly.

It seems this very bug was already patched out by Axel Beckert in
1.07-11[0] using the fix-overload-search-path.patch[1], but this change
gets reverted in a later patch merely called "gh34"[2] and containing no
description beside DEP3 boilerplate. This looks quite messy, especially
since there is another patch merely called "more"[3] that also contains
no description beside DEP3 boilerplate.

Hmm, d/copyright[4] lists an upstream that doesn't offer this version
1.08, so it seems this "+ds" is supposed to indicate a Debian-specific
fork? Where does this source come from?

[0] https://tracker.debian.org/news/1259679/accepted-trickle-107-11-source-into-unstable/
[1] https://sources.debian.org/src/trickle/1.08%2Bds-1.2/debian/patches/fix-overload-search-path.patch
[2] https://sources.debian.org/src/trickle/1.08%2Bds-1.2/debian/patches/gh34#L39
[3] https://sources.debian.org/src/trickle/1.08%2Bds-1.2/debian/patches/more
[4] https://tracker.debian.org/media/packages/t/trickle/copyright-1.08ds-1.2

#1111118#24
Date:
2026-03-01 18:09:02 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
trickle, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1111118@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Arian Ott <arian.ott@ieee.org> (supplier of updated trickle package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 01 Mar 2026 15:39:59 +0000
Source: trickle
Architecture: source
Version: 1.08+ds-2
Distribution: unstable
Urgency: medium
Maintainer: Alex Myczko <tar@debian.org>
Changed-By: Arian Ott <arian.ott@ieee.org>
Closes: 1111118
Changes:
 trickle (1.08+ds-2) unstable; urgency=medium
 .
   * Added gbp.conf.
   * Drop redundant Priority: optional.
   * Bump standards version to 4.7.3.
   * Fixed patch. (Closes: #1111118)
Checksums-Sha1:
 7c4953fa5eaa6c93835053a535fad6ea9516a3de 1910 trickle_1.08+ds-2.dsc
 32fb896e0304c07c717cfac7f89c321ca35b8037 11584 trickle_1.08+ds-2.debian.tar.xz
 721eccc06ec64403ee6618c2f63b29b1b88087b9 6974 trickle_1.08+ds-2_source.buildinfo
Checksums-Sha256:
 c82b737c97c0473d03b508888adc383d3aa39461da7653bfa47687464600c3dd 1910 trickle_1.08+ds-2.dsc
 64e91de48ff6993ac9881466360e1cb8fd8a07691523f0d5e485a398aa011215 11584 trickle_1.08+ds-2.debian.tar.xz
 6bf6d568891c08eff45126fca3b113ce3b00c245dc2c9f78019a925e33051e19 6974 trickle_1.08+ds-2_source.buildinfo
Files:
 bb00ac706384c25c05ba1ea2d72f326b 1910 net optional trickle_1.08+ds-2.dsc
 e3a494a3a23ed7c91b8b8257aa0ac9c9 11584 net optional trickle_1.08+ds-2.debian.tar.xz
 4bdd6c111f2e69e3e91812c2e9c95ab0 6974 net optional trickle_1.08+ds-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEtgob82PcExn/Co6JEWhSvN91FcAFAmmkd/AACgkQEWhSvN91
FcCE3Q/+O/TbvyCNsVNo1RHaGtKW5xe8mR1ZP2c5KCseQ4b4BKAKl/yvU8jDkSkw
Kq5eYs9oAvIIA6S6PDVge4D/CP9n325GRd3tM6ItjLmsTKmbR4GGKTa7+J0duZWH
tXkqnURH0q9AjB4LXNSYjq7eEcClHKR2VZnAOFVFkuEMkfqFICqbg8mIzjDuZ2TT
Wlr42VPmvkNJik3l/jKRuKALYObOK8jrhrqnPAL+ea8ae4ZY9TWhsDutfmw4pnvj
bgEd0cMdLV7abshG1kvMYy4rznVvUZYkAd/rWsBxfv3UaW7QSqe5++LNuCkiMuFA
/sunG4UNn5SLHGMRqFGSm2jg9pTcoLmMk5/+BvS3lPzPVh3T7o4UnJxv0FcvIqw9
XOAhNuE4ZGIUqsqxj4LZCGrwnnrmbW1reUavXkq7V+VS5hKgQw2j4xfbGMmevr6z
RpKUoOvOyAakY7tq9/vnEAYsCPGxhBuI7xazhetFUSus4tfGZ7O7gy9Eg9thHHx0
mAuw8Hr9IChqnaoZNbhvxyr9PwyG5V/9LZjA7cmAQIXGa0sf/2td5y0EzNS+TNA7
RG9cFeDyhiUUlvEXQRhv14aXtRIFLLIliujUkzPZ9ur6evL3W247kCMJl7dbjdKq
EvVSssKUX1pi5e59v7vT0e9Mf4eqeN/G6NG1osmK8HHBg5hW0wM=
=AsLy
-----END PGP SIGNATURE-----