First observed just now. 100% reproducible on multiple devices of same model.
root@rerouter:~# owut check --verbose
owut - OpenWrt Upgrade Tool 2026.04.09~5d6760b5-r1 (/usr/bin/owut)
Reference error: left-hand side expression is null
In collect_build_info(), file /usr/bin/owut, line 1371, byte 32:
called from function collect_overview (/usr/bin/owut:1487:21)
called from function collect_all (/usr/bin/owut:1561:19)
called from anonymous function (/usr/bin/owut:2340:15)
` ver_to = release.branches[b].latest;`
Near here ---------------------------^
Blah, yeah, that's the cause. The upstream metadata is currently mangled due to the ongoing build (https://sysupgrade.openwrt.org/json/v1/overview.json contains no targets for 25.12). I thought I had caught all the weird permutations, but this one got through...
Status: Error: Impossible package selection
Progress: 21s total = 0s in queue + 21s in build
Build failed in 21s total = 0s in queue + 21s to build:
ASU server stderr =
Generate local signing keys...
WARNING: can't open config file: /builder/shared-workdir/build/staging_dir/host/etc/ssl/openssl.cnf
WARNING: can't open config file: /builder/shared-workdir/build/staging_dir/host/etc/ssl/openssl.cnf
read EC key
writing EC key
WARNING: opening /builder/packages/packages.adb: No such file or directory
Package list missing or not up-to-date, generating it.
Building package index...
ERROR: wget: exited with error 8
ERROR: libuclient20201210-2026.02.20~7a0aa2e4-r1: unexpected end of file
ERROR: wget: exited with error 8
ERROR: rpcd-mod-rpcsys-2025.12.03~ffb9961c-r1: unexpected end of file
make[2]: *** [Makefile:254: package_install] Error 2
make[1]: *** [Makefile:193: _call_manifest] Error 2
make: *** [Makefile:369: manifest] Error 2
Traceback (most recent call last):
File "/app/.venv/lib/python3.14/site-packages/rq/worker/base.py", line 1522, in perform_job
return_value = job.perform()
File "/app/.venv/lib/python3.14/site-packages/rq/job.py", line 1342, in perform
self._result = self._execute()
~~~~~~~~~~~~~^^
File "/app/.venv/lib/python3.14/site-packages/rq/job.py", line 1402, in _execute
result = self.func(*self.args, **self.kwargs)
File "/app/asu/build.py", line 494, in build
result = _build(build_request, job)
File "/app/asu/build.py", line 302, in _build
report_error(job, check_package_errors(job.meta["stderr"]))
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/asu/util.py", line 338, in report_error
raise RuntimeError(msg)
RuntimeError: Impossible package selection
ERROR: Build failed with status 500 (--version-to 25.12.3 --device mediatek/filogic:cudy_wr3000h-v1:squashfs)
The above errors are often due to the upgrade server lagging behind the
build server, first suggestion is to wait a while and try again.
Unable to update to v25.12.3 due to these errors. Announcement posted 34 mins ago
Hi, using owut to try and update a raspberry pi 5 currently at 25.12.2 to 25.12.3. Both owut and attended-sysupgrade failing. below is tail of owut upgrade process:
Now that's a new one, I don't think I've see this before.
owut deleted the image when it saw that error, but we can fetch it from the cache, using owut download --keep (with any other options you specified). That should put it in /tmp, so we can dump its contents with fwtool:
Yeah, that's all fine. Digging through sysupgrade, it looks like something we dealt with a month ago on x86. Since the all rpi and x86 share those parts of sysupgrade, this should tell us something: Upgrade error on generic x64 - #25 by efahl Give the script in that reply a try, and let's see if it enlightens us.
ok, output of script belowā¦pls note my rootfs is set to 512MB with ext4 fs.
rootpart = PARTUUID=1cb97b6c-6912-440f-9b4b-58147e595435
major =
minor =
diskdev =
partitions =
cat: can't open '/tmp/partmap.bootdisk': No such file or directory
awk: fatal: cannot open file `/tmp/partmap.bootdisk' for reading: No such file or directory
awk: fatal: cannot open file `/tmp/partmap.bootdisk' for reading: No such file or directory
Syntax error: Expecting expression
In line 1, byte 2:
` * 512 / 1024.0 / 1024`
^-- Near here
sh: invalid number ''
0 @ 512 = 0 bytes = MiB
Ah, this looks very much like the same issue as on that x86 thread. How did you get your 512 rootfs size, using owut or did you gparted/fdisk/whatever it? If the latter, see if the rest of that thread gives you any hints here.
yes, reading through the thread it does look similar. I will research further and validate.
to set rootfs to 512MB i used imagebuilder and change the .config file. I think the problem is probably due to setting partition type to GPT instead of MBR. I needed that because i have a big hard disk that caters for all openwrt services and needed >4 partitions, i.e. dlna, NAS (samba), ADGH etcā¦
thanks for your help.. youāve set me on the right track..
# v="25.12.3"
# owut check --verbose --version-to ${v}
owut - OpenWrt Upgrade Tool 2026.04.09~5d6760b5-r1 (/usr/bin/owut)
ERROR: Failed to connect
ERROR: Response status (null) while downloading
https://downloads.openwrt.org/releases/25.12.3/targets/mediatek/filogic/profiles.json
ERROR: Unsupported target 'mediatek/filogic'
I retried with success few minutes later. (same difficult on OpenWRT One, solved later)
2d, I had āStatus: Error: Impossible package selectionā:
Status: Error: Impossible package selection
Progress: 23s total = 0s in queue + 23s in build
Build failed in 23s total = 0s in queue + 23s to build:
ASU server stderr =
Generate local signing keys...
WARNING: can't open config file: /builder/shared-workdir/build/staging_dir/host/etc/ssl/openssl.cnf
WARNING: can't open config file: /builder/shared-workdir/build/staging_dir/host/etc/ssl/openssl.cnf
read EC key
writing EC key
WARNING: opening /builder/packages/packages.adb: No such file or directory
Package list missing or not up-to-date, generating it.
Building package index...
ERROR: wget: exited with error 8
ERROR: apk-mbedtls-3.0.5-r3: unexpected end of file
make[2]: *** [Makefile:254: package_install] Error 1
make[1]: *** [Makefile:193: _call_manifest] Error 2
make: *** [Makefile:369: manifest] Error 2
Traceback (most recent call last):
File "/app/.venv/lib/python3.14/site-packages/rq/worker/base.py", line 1522, in perform_job
return_value = job.perform()
File "/app/.venv/lib/python3.14/site-packages/rq/job.py", line 1342, in perform
self._result = self._execute()
~~~~~~~~~~~~~^^
File "/app/.venv/lib/python3.14/site-packages/rq/job.py", line 1402, in _execute
result = self.func(*self.args, **self.kwargs)
File "/app/asu/build.py", line 494, in build
result = _build(build_request, job)
File "/app/asu/build.py", line 302, in _build
report_error(job, check_package_errors(job.meta["stderr"]))
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/asu/util.py", line 338, in report_error
raise RuntimeError(msg)
RuntimeError: Impossible package selection
ERROR: Build failed with status 500 (--version-to 25.12.3 --device mediatek/filogic:xiaomi_mi-router-ax3000t:squashfs)
The above errors are often due to the upgrade server lagging behind the
build server, first suggestion is to wait a while and try again.
Iāll retry later
On OpenWRT One, upgrade runs with success!
Edit @:9:30: Process ended with success on AX3000T!
I got the same error as yesterday, but only for owut. I was able to get a working image with attended sysupgrade in LuCI only seconds after my owut upgrade failed with "RuntimeError: Impossible package selection" again.
Is there some caching of negative builds, too? I tried that on ramips/mt76x8:glinet_gl-mt300n-v2:squashfs and on a TP-Link TL-WR902AC v3. It was the same there, owut failed and attended sysupgrade succeeded. Both are the same build target but different devices. Is there some reason I am missing? All other targets of mine upgraded without problems.
The two successive build requests no doubt have different signatures, due to the differences in the data that owut and LuCI ASU send in the request. That initiates a new build, even though they are grossly the same build (biggest difference is that owut sends the package list with expected versions for each, while LuCI just says "give me whatever you've got").