A: I’m getting this a few times a day:
warning []: Unable to use //tmp//yin2yang.xsl (No such file or directory).
warning []: YANG format data models will not be available via get-schema.
B: Today updater crashed for me completely:
System log
2016-11-26T19:29:03+01:00 debug updater[2507]: src/lib/journal.c:123 (journal_open): Opening journal
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: DEBUG:src/lib/journal.c:123 (journal_open):Opening journal
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: line not found
2016-11-26T19:29:03+01:00 debug updater[2507]: src/lib/interpreter.c:104 (interpreter_error_result):
Stack Traceback
===============
(2) Lua function '?' at line 64 of chunk '"logging"]'
Local variables:
err = string: "[string \"transaction\"]:325: No journal to recover"
err2string = Lua function '?' (defined at line 45 of chunk "logging"])
msg = string: "\
[string \"transaction\"]:325: No journal to recover"
(*temporary) = table: 0x1a8c680 {msg:
[string "transaction"]:325: No journal to recover}
(3) C function 'function: 0x1a8a470'
(4) field C function 'recover'
(5) Lua global 'recover' at line 325 of chunk '"transaction"]'
Local variables:
run_state = table: 0x18508d0 {initialized:true, init:function: 0x1850900, lfile:userdata: 0x189f568, release:function: 0x187dd20 (more...)}
(6) Lua function '?' at line 386 of chunk '"transaction"]'
Local variables:
(*temporary) = Lua function '?' (defined at line 352 of chunk "transaction"])
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: DEBUG:src/lib/interpreter.c:104 (interpreter_error_result):
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: Stack Traceback
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: ===============
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: (2) Lua function '?' at line 64 of chunk '"logging"]'
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: Local variables:
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: err = string: "[string \"transaction\"]:325: No journal to recover"
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: err2string = Lua function '?' (defined at line 45 of chunk "logging"])
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: msg = string: "\
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: [string \"transaction\"]:325: No journal to recover"
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: (*temporary) = table: 0x1a8c680 {msg:
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: [string "transaction"]:325: No journal to recover}
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: (3) C function 'function: 0x1a8a470'
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: (4) field C function 'recover'
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: (5) Lua global 'recover' at line 325 of chunk '"transaction"]'
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: Local variables:
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: run_state = table: 0x18508d0 {initialized:true, init:function: 0x1850900, lfile:userdata: 0x189f568, release:function: 0x187dd20 (more...)}
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: (6) Lua function '?' at line 386 of chunk '"transaction"]'
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: Local variables:
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: (*temporary) = Lua function '?' (defined at line 352 of chunk "transaction"])
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]:
2016-11-26T19:29:03+01:00 crit updater[2507]: src/opkg-trans/main.c:95 (main):
[string "transaction"]:325: No journal to recover
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: [31;1mDIE[0m:src/opkg-trans/main.c:95 (main):
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: [string "transaction"]:325: No journal to recover
2016-11-26T19:29:03+01:00 emerg sfpswitch.py[1449]: Aborted
/tmp/updater_crash.log
Stack Traceback
===============
(2) Lua function '?' at line 64 of chunk '"logging"]'
Local variables:
err = string: "[string \"transaction\"]:325: No journal to recover"
err2string = Lua function '?' (defined at line 45 of chunk "logging"])
msg = string: "\
[string \"transaction\"]:325: No journal to recover"
(*temporary) = table: 0x1a8c680 {msg:
[string "transaction"]:325: No journal to recover}
(3) C function 'function: 0x1a8a470'
(4) field C function 'recover'
(5) Lua global 'recover' at line 325 of chunk '"transaction"]'
Local variables:
run_state = table: 0x18508d0 {initialized:true, init:function: 0x1850900, lfile:userdata: 0x189f568, release:function: 0x187dd20 (more...)}
(6) Lua function '?' at line 386 of chunk '"transaction"]'
Local variables:
(*temporary) = Lua function '?' (defined at line 352 of chunk "transaction"])
C: It messes up with the opkg locking mechanism, breaking some packages
D: It has huge memory leaks
E: I am suspecting that it is the updater which causes my internet connection to drop a few times a day (not a wifi issue since I can connect to the router). I have disabled it now to confirm (it still goes down)
Was it really worth reinventing the wheel? Wouldn’t it be better to simply use opkg
for as much as you can and have a tiny script for everything else?