dgtlmoon / changedetection.io

The best and simplest free open source web page change detection, website watcher, restock monitor and notification service. Restock Monitor, change detection. Designed for simplicity - Simply monitor which websites had a text change for free. Free Open source web page change detection, Website defacement monitoring, Price change notification
https://changedetection.io
Apache License 2.0
17.3k stars 965 forks source link

RSS feed 500 Internal Server Error #2485

Closed Ylawy closed 3 months ago

Ylawy commented 3 months ago

Describe the bug When I try to access the rss feed for one of my tags I'm getting a 500 Internal Server Error.

I'm using Ubuntu 24.04 LTS with docker-compose. Fresh install of the entire machine and only changedetection is deployed.

Version v0.45.26 and v0.45.25

This is directly from the log files when accessing the rss feed:


[2024-07-11 19:05:56,443] ERROR in app: Exception on /rss [GET]
Traceback (most recent call last):
  File "/usr/local/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask_restful/__init__.py", line 298, in error_router
    return original_handler(e)
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask_cors/extension.py", line 178, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/changedetectionio/flask_app.py", line 401, in rss
    response = make_response(fg.rss_str())
                             ^^^^^^^^^^^^
  File "/usr/local/feedgen/feed.py", line 398, in rss_str
    feed, doc = self._create_rss(extensions=extensions)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/feedgen/feed.py", line 374, in _create_rss
    item = entry.rss_entry()
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/feedgen/entry.py", line 225, in rss_entry
    description.text = CDATA(self.__rss_content['content']) \
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "src/lxml/etree.pyx", line 3169, in lxml.etree.CDATA.__cinit__
ValueError: ']]>' not allowed inside CDATA
´´´
dgtlmoon commented 3 months ago

without seeing the URLs for the watches in that tag (as the issue template says that you must include!) we cant do anything

you can try add a temporary tag to some watches and find out which one

but without more information, there's nothing that can be done