Problem Description
I had a remote backup that was successfully working, but I wanted to create a new repo. So I deleted the old backup and tried to add a new one (same ssh host, just a different folder) and now it’s giving me a 500 internal error.
How do I resolve this and get my backup working again?
Steps to Reproduce
- Go to Backups
- Click on “Add remote backup location”
- Add ssh host (I was attempting ssh://user@user.rsync.net/data3/home/user/freedombox-2024-01-16/)
Expected Results
The Backup page with the added remote backup location.
Actual results
500 error.
Logs
Internal Server Error: /plinth/sys/backups/repositories/add-remote/
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/views/generic/edit.py", line 141, in post
if form.is_valid():
^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 175, in is_valid
return self.is_bound and not self.errors
^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 170, in errors
self.full_clean()
File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 372, in full_clean
self._clean_fields()
File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 390, in _clean_fields
value = field.clean(value)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/forms/fields.py", line 151, in clean
self.run_validators(value)
File "/usr/lib/python3/dist-packages/django/forms/fields.py", line 136, in run_validators
v(value)
File "/usr/lib/python3/dist-packages/plinth/modules/backups/forms.py", line 149, in repository_validator
username, hostname, dir_path = split_path(path)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/plinth/modules/backups/__init__.py", line 157, in split_path
return re.findall(r'^(.*)@([^/]*):(.*)$', path)[0]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
CODE_ARGS
('Internal Server Error', '/plinth/sys/backups/repositories/add-remote/')
CODE_FILE
/usr/lib/python3/dist-packages/django/utils/log.py
CODE_FUNC
log_response
CODE_LINE
224
EXCEPTION_INFO
(<class 'IndexError'>, IndexError('list index out of range'), <traceback object at 0x7fa1802a5740>)
EXCEPTION_TEXT
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 98, in dispatch return handler(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/django/views/generic/edit.py", line 141, in post if form.is_valid(): ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 175, in is_valid return self.is_bound and not self.errors ^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 170, in errors self.full_clean() File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 372, in full_clean self._clean_fields() File "/usr/lib/python3/dist-packages/django/forms/forms.py", line 390, in _clean_fields value = field.clean(value) ^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/django/forms/fields.py", line 151, in clean self.run_validators(value) File "/usr/lib/python3/dist-packages/django/forms/fields.py", line 136, in run_validators v(value) File "/usr/lib/python3/dist-packages/plinth/modules/backups/forms.py", line 149, in repository_validator username, hostname, dir_path = split_path(path) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/plinth/modules/backups/__init__.py", line 157, in split_path return re.findall(r'^(.*)@([^/]*):(.*)$', path)[0] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^ IndexError: list index out of range
LOGGER
django.request
PRIORITY
3
PROCESS_NAME
MainProcess
SYSLOG_IDENTIFIER
/usr/bin/plinth
THREAD_NAME
CP Server Thread-14
_BOOT_ID
10e6147f989046c1a6553d15e760e456
_CAP_EFFECTIVE
0
_CMDLINE
/usr/bin/python3 /usr/bin/plinth
_COMM
plinth
_EXE
/usr/bin/python3.11
_GID
118
_HOSTNAME
aangat-lahat
_MACHINE_ID
6c0dd0506cea4286b2e405e917cd21cb
_PID
1009
_RUNTIME_SCOPE
system
_SELINUX_CONTEXT
unconfined
_SOURCE_REALTIME_TIMESTAMP
1705439673306104
_SYSTEMD_CGROUP
/system.slice/plinth.service
_SYSTEMD_INVOCATION_ID
68777e7877f54a73861bda4b6b9821d8
_SYSTEMD_SLICE
system.slice
_SYSTEMD_UNIT
plinth.service
_TRANSPORT
journal
_UID
112
__CURSOR
s=200d9a41e44d4ab3906b21290b361e61;i=41f;b=10e6147f989046c1a6553d15e760e456;m=11bfdd81;t=60f169de9cc16;x=650e385bbab4d6f0
__MONOTONIC_TIMESTAMP
297786753
__REALTIME_TIMESTAMP
1705439673306134
Information
- FreedomBox version: 24.1
- Hardware: VPS on Vultr
- How did you install FreedomBox?: apt install freedombox