51 lines
3.5 KiB
Plaintext
51 lines
3.5 KiB
Plaintext
01:02:52 before: state=running hold=None
|
|
01:03:00 sink answers: 200
|
|
|
|
01:03:07 restore pressed: ['HTTP/2 302 '] snapshot helyi
|
|
01:03:12 the cut:
|
|
2026/11/03 00:03:08 restore_crash_putback.go:89: [INFO] [backup] radicale: the restore copy is recorded — a power cut from here on puts the app back on start (R-1195)
|
|
00:03:11
|
|
sec1102-blocker Created
|
|
felhom-controller Up Less than a second (health: starting)
|
|
|
|
01:03:17 login after the cut: True
|
|
01:03:51 after the start: state=stopped hold code='restore_mixed'
|
|
Traceback (most recent call last):
|
|
File "/mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/security-2026-11-02/part3/proof1102.py", line 335, in <module>
|
|
sys.exit(main())
|
|
~~~~^^
|
|
File "/mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/security-2026-11-02/part3/proof1102.py", line 327, in main
|
|
rc = {"boot-before": phase_boot_before, "switch": phase_switch, "boot-after": phase_boot_after, "boot-stage": phase_boot_stage, "r1347": phase_r1347, "r1347b": phase_r1347b,
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
"r1348": phase_r1348, "teardown": phase_teardown}[ph]() or 0
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
File "/mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/security-2026-11-02/part3/proof1102.py", line 295, in phase_r1348
|
|
say(" controller log:\n" + ctl_log(t0, "crash recovery|could NOT be put back|restore hold|HELD|Notifier enabled"))
|
|
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/security-2026-11-02/part3/proof1102.py", line 55, in ctl_log
|
|
return guest(f"docker logs --since {since} felhom-controller 2>&1 | grep -E '{rx}' | grep -v DEBUG | cut -c1-260 | tail -40")
|
|
File "/mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/security-2026-11-02/part3/proof1102.py", line 51, in guest
|
|
return w.guest(script, timeout=timeout)
|
|
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts/box_walk.py", line 106, in guest
|
|
r = sh(ssh_args() + [
|
|
f"export LC_ALL=C; cat > {t}; pct push {GUEST} {t} {t} >/dev/null 2>&1; "
|
|
f"pct exec {GUEST} -- bash {t}; pct exec {GUEST} -- rm -f {t}; rm -f {t}"],
|
|
timeout=timeout, inp=script)
|
|
File "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts/box_walk.py", line 95, in sh
|
|
return subprocess.run(args, capture_output=True, text=True, timeout=timeout, input=inp)
|
|
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/lib/python3.13/subprocess.py", line 556, in run
|
|
stdout, stderr = process.communicate(input, timeout=timeout)
|
|
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/lib/python3.13/subprocess.py", line 1222, in communicate
|
|
stdout, stderr = self._communicate(input, endtime, timeout)
|
|
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/lib/python3.13/subprocess.py", line 2169, in _communicate
|
|
stdout = self._translate_newlines(stdout,
|
|
self.stdout.encoding,
|
|
self.stdout.errors)
|
|
File "/usr/lib/python3.13/subprocess.py", line 1099, in _translate_newlines
|
|
data = data.decode(encoding, errors)
|
|
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 1462-1463: invalid continuation byte
|