#9042·luci

luci-app-olsr: ubus hook fails on large tables

Author: pmelangeCreated Sep 17, 2026Updated Sep 19, 2026

Is there an existing issue for this?

  • I have searched among all existing issues (including closed issues)

screenshots or captures

# ubus call olsrinfo getjsondata '{ "otable": "/routes", "v4_
port":"9090" }'
Command failed: No response

and after writing a test script, which does the basics from the ubus script, I get the following:

# cat test.sh 
#!/bin/sh

. /usr/share/libubox/jshn.sh
. /lib/functions.sh

jsonreq4=$(echo "/routes" | nc 127.0.0.1 9090 | sed -n '/^[}{ ]/p' 2>/dev/null)
json_init
json_add_string "jsonreq4" "$jsonreq4"
json_dump
# ./test.sh 
./test.sh: line 290: jshn: Argument list too long

This is most likely the same issue as https://github.com/openwrt/libubox/issues/19 and the recommended solution is to rewrite the code in ucode.

Actual behaviour

The requested data is not provided via ubus

Expected behaviour

Expected is that the requested "otable" gets echoed to STDOUT

Steps to reproduce

  1. Have a large OLSR network, (in this case, there are circa 6000 routes)
  2. request via ubus the routes table ubus call olsrinfo getjsondata '{ "otable": "/routes", "v4_port":"9090" }'

Additional Information

bash
{
	"kernel": "6.12.94",
	"hostname": "rhxb-core",
	"system": "ARMv8 Processor rev 4",
	"model": "Linksys E8450 (UBI)",
	"board_name": "linksys,e8450-ubi",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "25.12.5",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r33051-f5dae5ece4",
		"target": "mediatek/mt7622",
		"description": "OpenWrt 25.12.5 r33051-f5dae5ece4",
		"builddate": "1782737960"
	}
}

What browsers do you see the problem on?

No response

Relevant log output

bash