The following are comments from JoW, one of the OpenWrt and LuCI developers
You can run the httpd server in foreground and watch stderr while trying to access your non working models. (Assuming you're running uhttpd and not busybox httpd) : execute:
Then try to access the broken page.
create the following script in /www/cgi-bin/luci.dbg and make it executable:
Now change the url of the broken page from .../luci/... to .../luci.dbg/... and reload.
The script should create a file "/tmp/luci.req" which you can use to reproduce the same request on the command line:
there are 2 compilation settings for LuCI, one is a compile-time setting in make menuconfig under
LuCI -> Libraries -> LuCI core libraries -> Build Target.
There you can decide whether the device should have: full source, stripped source or bytecode in the .lua files on the device.
If you selected to have full source or stripped sourcecode, then there is a run-time option luci.ccache.enable which enables or disables a compile-time
cache. You can disable this cache by doing
or by changing the value to 0 directly in /etc/config/luci.
This is a permanent configuration. If you only need to delete the cache for a one-off you can delete /tmp/luci-modulecache after each change.
Changes to the menu:
simply remove /tmp/.luci-indexcache.
To permanently disable the menu cache for development purposes, comment out the line