The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header.
To mitigate this problem, the original message has been wrapped automatically by the mailing list software.
--- Begin Message ---> On May 25, 2025, at 2:30 PM, Philip Prindeville via openwrt-devel > <openwrt-devel@lists.openwrt.org> wrote: > > > I’m seeing: > > Command failed: Command failed > > when I run sysupgrade. This appears immediately after the list of files > backed up: > > … > usr/share/xt_geoip/ZW.iv6 > usr/share/xt_geoip/ZZ.iv4 > usr/share/xt_geoip/ZZ.iv6 > Sun May 25 14:16:50 MDT 2025 upgrade: Commencing upgrade. Closing all shell > sessions. > Command failed: Connection failed > Watchdog handover: fd=8 > - watchdog - > Watchdog does not have CARDRESET support > Sun May 25 14:16:50 MDT 2025 upgrade: Sending TERM to remaining processes ... > Sun May 25 14:16:50 MDT 2025 upgrade: Sending signal TERM to syslog-ng (10778) > Sun May 25 14:16:50 MDT 2025 upgrade: Sending signal TERM to lldpd (12075) > Sun May 25 14:16:50 MDT 2025 upgrade: Sending signal TERM to lldpd (12144) > Sun May 25 14:16:50 MDT 2025 upgrade: Sending signal TERM to snmpd (12540) > Sun May 25 14:16:50 MDT 2025 upgrade: Sending signal TERM to sleep (13326) > Sun May 25 14:16:54 MDT 2025 upgrade: Sending KILL to remaining processes ... > > > No one wants to see their upgrade failing. > > Should I be worried? The message is a little vague. > > Throwing a -x into the end: > > Sun May 25 14:27:27 MDT 2025 upgrade: Commencing upgrade. Closing all shell > sessions. > + '[' -n ] > + json_init > + json_cleanup > + local unset tmp > + _json_get_var unset JSON_UNSET > + eval 'unset="$JSON_UNSET"' > + unset=' J_T1 J_V_tests J_T1_fwtool_signature J_T1_fwtool_device_match > J_V_valid J_V_forceable J_V_allow_backup' > + unset U_J_T1 K_J_T1 S_J_T1 T_J_T1 N_J_T1 J_T1 > + unset U_J_V_tests K_J_V_tests S_J_V_tests T_J_V_tests N_J_V_tests J_V_tests > + unset U_J_T1_fwtool_signature K_J_T1_fwtool_signature > S_J_T1_fwtool_signature T_J_T1_fwtool_signature N_J_T1_fwtool_signature > J_T1_fwtool_signature > + unset U_J_T1_fwtool_device_match K_J_T1_fwtool_device_match > S_J_T1_fwtool_device_match T_J_T1_fwtool_device_match > N_J_T1_fwtool_device_match J_T1_fwtool_device_match > + unset U_J_V_valid K_J_V_valid S_J_V_valid T_J_V_valid N_J_V_valid J_V_valid > + unset U_J_V_forceable K_J_V_forceable S_J_V_forceable T_J_V_forceable > N_J_V_forceable J_V_forceable > + unset U_J_V_allow_backup K_J_V_allow_backup S_J_V_allow_backup > T_J_V_allow_backup N_J_V_allow_backup J_V_allow_backup > + unset U_J_V K_J_V S_J_V T_J_V N_J_V J_V > + unset JSON_SEQ JSON_CUR JSON_UNSET > + export -n 'JSON_SEQ=0' > + export -- 'JSON_CUR=J_V' 'K_J_V=' > + json_add_string prefix /tmp/root > + local cur > + _json_get_var cur JSON_CUR > + eval 'cur="$JSON_CUR"' > + cur=J_V > + _json_add_generic string prefix /tmp/root J_V > + local var > + '[' J_V '=' J_A ] > + var=prefix > + '[[' prefix '==' prefix ]] > + export -- 'J_V_prefix=/tmp/root' 'T_J_V_prefix=string' > + _jshn_append JSON_UNSET J_V_prefix > + local '_a_value=J_V_prefix' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix' > + _jshn_append K_J_V prefix > + local '_a_value=prefix' > + eval 'K_J_V="${K_J_V} $_a_value"' > + K_J_V=' prefix' > + json_add_string path > /tmp/openwrt-r29673-7fa847a959-x86-64-generic-squashfs-combined.img.gz > + local cur > + _json_get_var cur JSON_CUR > + eval 'cur="$JSON_CUR"' > + cur=J_V > + _json_add_generic string path > /tmp/openwrt-r29673-7fa847a959-x86-64-generic-squashfs-combined.img.gz J_V > + local var > + '[' J_V '=' J_A ] > + var=path > + '[[' path '==' path ]] > + export -- > 'J_V_path=/tmp/openwrt-r29673-7fa847a959-x86-64-generic-squashfs-combined.img.gz' > 'T_J_V_path=string' > + _jshn_append JSON_UNSET J_V_path > + local '_a_value=J_V_path' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix J_V_path' > + _jshn_append K_J_V path > + local '_a_value=path' > + eval 'K_J_V="${K_J_V} $_a_value"' > + K_J_V=' prefix path' > + '[' 0 -eq 1 ] > + '[' 1 -eq 1 ] > + json_add_string backup /tmp/sysupgrade.tgz > + local cur > + _json_get_var cur JSON_CUR > + eval 'cur="$JSON_CUR"' > + cur=J_V > + _json_add_generic string backup /tmp/sysupgrade.tgz J_V > + local var > + '[' J_V '=' J_A ] > + var=backup > + '[[' backup '==' backup ]] > + export -- 'J_V_backup=/tmp/sysupgrade.tgz' 'T_J_V_backup=string' > + _jshn_append JSON_UNSET J_V_backup > + local '_a_value=J_V_backup' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix J_V_path J_V_backup' > + _jshn_append K_J_V backup > + local '_a_value=backup' > + eval 'K_J_V="${K_J_V} $_a_value"' > + K_J_V=' prefix path backup' > + json_add_string command /lib/upgrade/do_stage2 > + local cur > + _json_get_var cur JSON_CUR > + eval 'cur="$JSON_CUR"' > + cur=J_V > + _json_add_generic string command /lib/upgrade/do_stage2 J_V > + local var > + '[' J_V '=' J_A ] > + var=command > + '[[' command '==' command ]] > + export -- 'J_V_command=/lib/upgrade/do_stage2' 'T_J_V_command=string' > + _jshn_append JSON_UNSET J_V_command > + local '_a_value=J_V_command' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix J_V_path J_V_backup J_V_command' > + _jshn_append K_J_V command > + local '_a_value=command' > + eval 'K_J_V="${K_J_V} $_a_value"' > + K_J_V=' prefix path backup command' > + json_add_object options > + _json_add_table options object T > + local cur seq > + _json_get_var cur JSON_CUR > + eval 'cur="$JSON_CUR"' > + cur=J_V > + _json_inc JSON_SEQ seq > + let 'JSON_SEQ += 1' 'seq = JSON_SEQ' > + local 'table=J_T1' > + _json_set_var U_J_T1 J_V > + local '___val=J_V' > + eval 'U_J_T1="$___val"' > + U_J_T1=J_V > + export -- 'K_J_T1=' > + unset S_J_T1 > + _json_set_var JSON_CUR J_T1 > + local '___val=J_T1' > + eval 'JSON_CUR="$___val"' > + JSON_CUR=J_T1 > + _jshn_append JSON_UNSET J_T1 > + local '_a_value=J_T1' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix J_V_path J_V_backup J_V_command J_T1' > + _json_add_generic object options J_T1 J_V > + local var > + '[' J_V '=' J_A ] > + var=options > + '[[' options '==' options ]] > + export -- 'J_V_options=J_T1' 'T_J_V_options=object' > + _jshn_append JSON_UNSET J_V_options > + local '_a_value=J_V_options' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix J_V_path J_V_backup J_V_command J_T1 J_V_options' > + _jshn_append K_J_V options > + local '_a_value=options' > + eval 'K_J_V="${K_J_V} $_a_value"' > + K_J_V=' prefix path backup command options' > + json_add_int save_partitions 1 > + local cur > + _json_get_var cur JSON_CUR > + eval 'cur="$JSON_CUR"' > + cur=J_T1 > + _json_add_generic int save_partitions 1 J_T1 > + local var > + '[' J_T '=' J_A ] > + var=save_partitions > + '[[' save_partitions '==' save_partitions ]] > + export -- 'J_T1_save_partitions=1' 'T_J_T1_save_partitions=int' > + _jshn_append JSON_UNSET J_T1_save_partitions > + local '_a_value=J_T1_save_partitions' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix J_V_path J_V_backup J_V_command J_T1 J_V_options > J_T1_save_partitions' > + _jshn_append K_J_T1 save_partitions > + local '_a_value=save_partitions' > + eval 'K_J_T1="${K_J_T1} $_a_value"' > + K_J_T1=' save_partitions' > + json_add_int add_provisioning 0 > + local cur > + _json_get_var cur JSON_CUR > + eval 'cur="$JSON_CUR"' > + cur=J_T1 > + _json_add_generic int add_provisioning 0 J_T1 > + local var > + '[' J_T '=' J_A ] > + var=add_provisioning > + '[[' add_provisioning '==' add_provisioning ]] > + export -- 'J_T1_add_provisioning=0' 'T_J_T1_add_provisioning=int' > + _jshn_append JSON_UNSET J_T1_add_provisioning > + local '_a_value=J_T1_add_provisioning' > + eval 'JSON_UNSET="${JSON_UNSET} $_a_value"' > + JSON_UNSET=' J_V_prefix J_V_path J_V_backup J_V_command J_T1 J_V_options > J_T1_save_partitions J_T1_add_provisioning' > + _jshn_append K_J_T1 add_provisioning > + local '_a_value=add_provisioning' > + eval 'K_J_T1="${K_J_T1} $_a_value"' > + K_J_T1=' save_partitions add_provisioning' > + '[' 0 -eq 1 ] > + json_close_object > + _json_close_table > + local _s_cur > + _json_get_var _s_cur JSON_CUR > + eval '_s_cur="$JSON_CUR"' > + _s_cur=J_T1 > + _json_get_var JSON_CUR U_J_T1 > + eval 'JSON_CUR="$U_J_T1"' > + JSON_CUR=J_V > + json_dump > + jshn -w > + ubus call system sysupgrade '{ "prefix": "\/tmp\/root", "path": > "\/tmp\/openwrt-r29673-7fa847a959-x86-64-generic-squashfs-combined.img.gz", > "backup": "\/tmp\/sysupgrade.tgz", "command": "\/lib\/upgrade\/do_stage2", > "options": { "save_partitions": 1, "add_provisioning": 0 } }' > Command failed: Connection failed > Watchdog handover: fd=8 > - watchdog - > Watchdog does not have CARDRESET support > Sun May 25 14:27:28 MDT 2025 upgrade: Sending TERM to remaining processes ... > Sun May 25 14:27:28 MDT 2025 upgrade: Sending signal TERM to syslog-ng (10755) > Sun May 25 14:27:28 MDT 2025 upgrade: Sending signal TERM to lldpd (12097) > Sun May 25 14:27:28 MDT 2025 upgrade: Sending signal TERM to lldpd (12161) > Sun May 25 14:27:28 MDT 2025 upgrade: Sending signal TERM to snmpd (12568) > Sun May 25 14:27:28 MDT 2025 upgrade: Sending signal TERM to sleep (12802) > > > so it’s the final command: > > ubus call system sysupgrade "$(json_dump)” > > that’s failing. > > Thanks > BTW, towards the bottom of the sysupgrade script there’s a test for “-n “$FAILSAFE” but I don’t see FAILSAFE getting set anywhere. Matthias? Rafał? -Philip
--- End Message ---
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel