Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新版本OPENWRT下真正导致路由器死机的元凶找到了 #1849

Open
qwerttvv opened this issue Nov 1, 2024 · 0 comments
Open

新版本OPENWRT下真正导致路由器死机的元凶找到了 #1849

qwerttvv opened this issue Nov 1, 2024 · 0 comments

Comments

@qwerttvv
Copy link

qwerttvv commented Nov 1, 2024

省流:luci的毛病,无论js版本还是lua版本(那个lite的我没试)

以下是发现过程

前情提要
#1844 (comment)

抱歉,上次说结案了是谎报军情,这次找到正经的元凶了…100%复现啊我去……

上次因为大早起着急,只装了个主程序smartdns.1.2024.06.12-2222.aarch64-openwrt-all.ipk,之后覆盖了我以前的配置文件,重启了路由器两次也不是三次之后没死机,就觉得是我自己编译的毛病吧?又直接升级(我的版本号大)了我自己在23.05(openssl3)环境下编译的,之后我发现rc.d没有启动文件,手工建了,重启之后没死,又重启了几下也没事,我就草草误判是没有rc.d的文件谎报军情了

因为一直没装luci,后来就装上了,装完了web没菜单,重启了一下路由就有菜单了,当时路由器也还没有设置自动重启,就又用了几天

再后来我把自动重启加到计划任务了,夜里自动重启的

前天早起我也没留意,直接出门儿了,晚上晚回家发现路由器又死机了

今天有时间,来回来去反复尝试,最后我发现,不装luci就好好的,怎么重启也没事,一装就挂,再后来我试了lua版的luci,也不行…

我分别编译了以下两个luci库的固件,都是js版本当前最新的库,都不行,直接死机…非得进去uboot重刷……

lean的
https://github.com/coolsnowwolf/luci/tree/openwrt-23.05
版本是
https://github.com/coolsnowwolf/luci/tree/146f750ec15debfcc863b2ff00eb79d093ed090e

immortalwrt的
https://github.com/immortalwrt/luci
版本是
https://github.com/immortalwrt/luci/tree/fc76f3e05cbbe5c3938560e32a19cfb32b5e3fb5

100%复现的操作过程
1、采用以上两个js版新luci库编译的固件
2、安装smartdns主程序
3、安装目前最新smartdns的luci,无论js版还是lua版都有问题,这里采用js版操作复现演示
https://github.com/pymumu/smartdns/tree/84f217dbd19f97e30f24af640ddb4cd21ae1e3ec/package/luci-compat
https://github.com/pymumu/smartdns/tree/84f217dbd19f97e30f24af640ddb4cd21ae1e3ec/package/luci
3、此时你直接刷新浏览器,smartdns的luci菜单是不显示的,重启路由器
4、第一次重启路由器进来之后,你可以看到smartdns的luci菜单了,无需其它任何操作也不用点进smartdns的luci界面(此时经测试,主程序的服务是好的),直接进行第二次的重启路由器,然后就挂了……
!!!!注意!!!!路由器会死机,断电重启后依旧,得uboot刷机,谨慎操作!!!!

因为我只装主程序,覆盖配置后可以正常使用,然后装js版本luci之后重启一次路由器才看见smartdns的luci菜单,此时不用点进去smartdns的luci界面直接第二次重启路由器就死了

进一步测试
https://downloads.immortalwrt.org/releases/packages-23.05/aarch64_cortex-a53/luci/luci-app-smartdns_1.2024.45_all.ipk
https://downloads.immortalwrt.org/releases/packages-23.05/aarch64_cortex-a53/luci/luci-i18n-smartdns-zh-cn_git-24.272.29284-d386ad6_all.ipk
这个luci是好的,重启几次也没事,路由器不会挂,我说immortalwrt库里怎么主程序版本46,luci用的45…我还奇怪……

但是更奇怪的来了,非常诡异,非常搞不懂,官方rls上一个版本也会死机啊…
https://github.com/pymumu/smartdns/releases/download/Release45/luci-app-smartdns.1.2024.02.08-0828.all-luci-all.ipk
而且官方直接是中文的,immortalwrt那边是多语言的,不知道他们改了哪里,相关代码仓库跟哪儿

行了,具体哪里有毛病不是我能力范畴了,反正问题定位了,能用的版本和不能用的版本也说清楚了,大佬来看一下子吧 @pymumu @PikuZheng

备注:
1、官方openwrt的luci库我没试
2、smartdns那个lite版luci我没试
3、lean和immortalwrt这两个luci库大致相关的组件版本分别如下

liblua5.1.5 - 5.1.5-r11
liblucihttp-lua - 2023.03.15~9b5b683f-r1
liblucihttp-ucode - 2023.03.15~9b5b683f-r1
liblucihttp0 - 2023.03.15~9b5b683f-r1
以上版本相同,以下不同
libuci-lua - 2023.08.10~5781664d-r1
libuci20130104 - 2023.08.10~5781664d-r1
libuclient20201210 - 2024.10.22~88ae8f20-r1
libuci-lua - 2021-10-22-f84f49f0-6
libuci20130104 - 2021-10-22-f84f49f0-6
libuclient20201210 - 2021-05-14-6a6011df-1
lua - 5.1.5-r11
lua-neturl - 1.1-1-r3
luci - 24.305.31342~fc76f3e
lua - 5.1.5-11
lua-neturl - 1.1-1-3
luci - git-24.302.59055-146f750
luci-base - 24.305.31342~fc76f3e
luci-compat - 24.305.31342~fc76f3e
luci-base - git-24.302.59055-146f750
luci-compat - git-24.302.59055-146f750
luci-lib-base - 24.305.31342~fc76f3e
luci-lib-base - git-24.302.59055-146f750
luci-lua-runtime - 24.305.31342~fc76f3e
luci-lua-runtime - git-24.302.59055-146f750
uci - 2023.08.10~5781664d-r1
uci - 2021-10-22-f84f49f0-6

最后发个抓图吧,看看我来回来去装了多少个版本…也就说进uboot重新刷机多少次…
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant