Closed blazgvajc closed 1 month ago
yeah so something in your machine must have crashed
shut it down, then just mount the volume only and go edit the url-watches.json
file, you will see a big string/space of empty chars, just edit those out
then restart
yeah so something in your machine must have crashed
shut it down, then just mount the volume only and go edit the
url-watches.json
file, you will see a big string/space of empty chars, just edit those outthen restart
Any easy way to find the empty string? I have 24,000 lines in my json file. I try searching for spaces but have had no luck. Thank you.
Describe the bug Internal server error - 500 when I try to open changedetection from the browser.
Version Latest
To Reproduce
Steps to reproduce the behavior: 2024-09-14 16:30:10 [2024-09-14 14:30:10,153] ERROR in app: Exception on / [GET] 2024-09-14 16:30:10 Traceback (most recent call last): 2024-09-14 16:30:10 File "/usr/local/jinja2/environment.py", line 468, in getitem 2024-09-14 16:30:10 return obj[argument] 2024-09-14 16:30:10 ~~~^^^^^^^^^^ 2024-09-14 16:30:10 KeyError: 'last_changed' 2024-09-14 16:30:10 2024-09-14 16:30:10 During handling of the above exception, another exception occurred: 2024-09-14 16:30:10 2024-09-14 16:30:10 Traceback (most recent call last): 2024-09-14 16:30:10 File "/usr/local/flask/app.py", line 2190, in wsgi_app 2024-09-14 16:30:10 response = self.full_dispatch_request() 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/flask/app.py", line 1486, in full_dispatch_request 2024-09-14 16:30:10 rv = self.handle_user_exception(e) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/flask_restful/init.py", line 298, in error_router 2024-09-14 16:30:10 return original_handler(e) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/flask_cors/extension.py", line 194, in wrapped_function 2024-09-14 16:30:10 return cors_after_request(app.make_response(f(args, kwargs))) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/flask/app.py", line 1484, in full_dispatch_request 2024-09-14 16:30:10 rv = self.dispatch_request() 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/flask/app.py", line 1469, in dispatch_request 2024-09-14 16:30:10 return self.ensure_sync(self.view_functions[rule.endpoint])(view_args) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/app/changedetectionio/flask_app.py", line 231, in decorated_view 2024-09-14 16:30:10 return func(args, kwargs) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/app/changedetectionio/flask_app.py", line 490, in index 2024-09-14 16:30:10 output = render_template( 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/flask/templating.py", line 151, in render_template 2024-09-14 16:30:10 return _render(app, template, context) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/flask/templating.py", line 132, in _render 2024-09-14 16:30:10 rv = template.render(context) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/jinja2/environment.py", line 1304, in render 2024-09-14 16:30:10 self.environment.handle_exception() 2024-09-14 16:30:10 File "/usr/local/jinja2/environment.py", line 939, in handle_exception 2024-09-14 16:30:10 raise rewrite_traceback_stack(source=source) 2024-09-14 16:30:10 File "/app/changedetectionio/templates/watch-overview.html", line 1, in top-level template code 2024-09-14 16:30:10 {% extends 'base.html' %} 2024-09-14 16:30:10 File "/app/changedetectionio/templates/base.html", line 219, in top-level template code 2024-09-14 16:30:10 {% block content %}{% endblock %} 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/app/changedetectionio/templates/watch-overview.html", line 92, in block 'content' 2024-09-14 16:30:10 {% for watch in (watches|sort(attribute=sort_attribute, reverse=sort_order == 'asc'))|pagination_slice(skip=pagination.skip) %} 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/jinja2/filters.py", line 437, in do_sort 2024-09-14 16:30:10 return sorted(value, key=key_func, reverse=reverse) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/jinja2/filters.py", line 114, in attrgetter 2024-09-14 16:30:10 item_i = environment.getitem(item_i, part) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/usr/local/jinja2/environment.py", line 477, in getitem 2024-09-14 16:30:10 return getattr(obj, attr) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 File "/app/changedetectionio/model/Watch.py", line 153, in last_changed 2024-09-14 16:30:10 return int(self.__newest_history_key) 2024-09-14 16:30:10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:10 ValueError: invalid literal for int() with base 10: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0 2024-09-14 16:30:10 172.17.0.1 - - [14/Sep/2024 14:30:10] "GET / HTTP/1.1" 500 659 0.126202 2024-09-14 16:30:10 (1) accepted ('172.17.0.1', 50078) 2024-09-14 16:30:33 [2024-09-14 14:30:33,259] ERROR in app: Exception on / [GET] 2024-09-14 16:30:33 Traceback (most recent call last): 2024-09-14 16:30:33 File "/usr/local/jinja2/environment.py", line 468, in getitem 2024-09-14 16:30:33 return obj[argument] 2024-09-14 16:30:33 ~~~^^^^^^^^^^ 2024-09-14 16:30:33 KeyError: 'last_changed' 2024-09-14 16:30:33 2024-09-14 16:30:33 During handling of the above exception, another exception occurred: 2024-09-14 16:30:33 2024-09-14 16:30:33 Traceback (most recent call last): 2024-09-14 16:30:33 File "/usr/local/flask/app.py", line 2190, in wsgi_app 2024-09-14 16:30:33 response = self.full_dispatch_request() 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/flask/app.py", line 1486, in full_dispatch_request 2024-09-14 16:30:33 rv = self.handle_user_exception(e) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/flask_restful/init.py", line 298, in error_router 2024-09-14 16:30:33 return original_handler(e) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/flask_cors/extension.py", line 194, in wrapped_function 2024-09-14 16:30:33 return cors_after_request(app.make_response(f(args, kwargs))) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/flask/app.py", line 1484, in full_dispatch_request 2024-09-14 16:30:33 rv = self.dispatch_request() 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/flask/app.py", line 1469, in dispatch_request 2024-09-14 16:30:33 return self.ensure_sync(self.view_functions[rule.endpoint])(view_args) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/app/changedetectionio/flask_app.py", line 231, in decorated_view 2024-09-14 16:30:33 return func(args, kwargs) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/app/changedetectionio/flask_app.py", line 490, in index 2024-09-14 16:30:33 output = render_template( 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/flask/templating.py", line 151, in render_template 2024-09-14 16:30:33 return _render(app, template, context) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/flask/templating.py", line 132, in _render 2024-09-14 16:30:33 rv = template.render(context) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/jinja2/environment.py", line 1304, in render 2024-09-14 16:30:33 self.environment.handle_exception() 2024-09-14 16:30:33 File "/usr/local/jinja2/environment.py", line 939, in handle_exception 2024-09-14 16:30:33 raise rewrite_traceback_stack(source=source) 2024-09-14 16:30:33 File "/app/changedetectionio/templates/watch-overview.html", line 1, in top-level template code 2024-09-14 16:30:33 {% extends 'base.html' %} 2024-09-14 16:30:33 File "/app/changedetectionio/templates/base.html", line 219, in top-level template code 2024-09-14 16:30:33 {% block content %}{% endblock %} 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/app/changedetectionio/templates/watch-overview.html", line 92, in block 'content' 2024-09-14 16:30:33 {% for watch in (watches|sort(attribute=sort_attribute, reverse=sort_order == 'asc'))|pagination_slice(skip=pagination.skip) %} 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/jinja2/filters.py", line 437, in do_sort 2024-09-14 16:30:33 return sorted(value, key=key_func, reverse=reverse) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/jinja2/filters.py", line 114, in attrgetter 2024-09-14 16:30:33 item_i = environment.getitem(item_i, part) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/usr/local/jinja2/environment.py", line 477, in getitem 2024-09-14 16:30:33 return getattr(obj, attr) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 File "/app/changedetectionio/model/Watch.py", line 153, in last_changed 2024-09-14 16:30:33 return int(self.__newest_history_key) 2024-09-14 16:30:33 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-09-14 16:30:33 ValueError: invalid literal for int() with base 10: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0
! ALWAYS INCLUDE AN EXAMPLE URL WHERE IT IS POSSIBLE TO RE-CREATE THE ISSUE - USE THE 'SHARE WATCH' FEATURE AND PASTE IN THE SHARE-LINK!
Expected behavior Load the change detection.
Screenshots If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context I have been using change detection for at least a year with mounted volume, which was working until now. If I run the latest version with a fresh/new volume then everything works as it should, so it seems the volume which I have been using for a long time is somehow corrupted. I can attach the volume if needed. I haven't edited volume manually. It is important to mention that the watcher still works and I get Discord notifications.