akeeme opened a new issue, #25619: URL: https://github.com/apache/superset/issues/25619
As of recently, when accessing the charts tab in Superset, I encounter an AttributeError, suggesting that the application is trying to access an attribute or method that doesn't exist or is inaccessible in the context it's being called. #### How to reproduce the bug 1. Click on the chart's tab 2. See error ### Expected results Expected to see all charts ### Actual results  ### Environment (please complete the following information): - Chrome and Firefox: - superset version: `2.1.0` - python version: `3.9.16` - node.js version: `node -v` - any feature flags active: ### Checklist Make sure to follow these steps before submitting your issue - thank you! - [x] I have checked the superset logs for python stacktraces and included it here as text if there are any. - [] I have reproduced the issue with at least the latest released version of superset. - [x] I have checked the issue tracker for the same issue and I haven't found one similar. ### Additional context all packages and versions `alembic 1.11.3 amqp 5.1.1 apache-superset 2.1.0 apispec 6.3.0 async-timeout 4.0.3 attrs 23.1.0 Babel 2.12.1 backoff 2.2.1 bcrypt 4.0.1 billiard 4.1.0 bleach 3.3.1 Brotli 1.0.9 cachelib 0.4.1 celery 5.3.1 certifi 2023.7.22 cffi 1.15.1 click 8.1.7 click-didyoumean 0.3.0 click-plugins 1.1.1 click-repl 0.3.0 colorama 0.4.6 convertdate 2.4.0 cron-descriptor 1.4.0 croniter 1.4.1 cryptography 39.0.0 Deprecated 1.2.14 deprecation 2.1.0 dnspython 2.4.2 email-validator 1.3.1 exceptiongroup 1.1.3 Flask 2.1.3 Flask-AppBuilder 4.3.6 Flask-Babel 2.0.0 Flask-Caching 1.10.1 Flask-Compress 1.13 Flask-JWT-Extended 4.5.2 Flask-Limiter 3.4.0 Flask-Login 0.6.0 Flask-Migrate 3.1.0 Flask-SQLAlchemy 2.5.1 flask-talisman 1.1.0 Flask-WTF 1.0.1 func-timeout 4.3.5 geographiclib 2.0 geopy 2.3.0 graphlib-backport 1.0.3 greenlet 2.0.2 gunicorn 21.2.0 h11 0.14.0 hashids 1.3.1 hijri-converter 2.3.1 holidays 0.17.2 humanize 4.8.0 ibm-db 3.2.0 ibm-db-sa 0.4.0 idna 3.4 importlib-metadata 6.8.0 importlib-resources 6.0.1 isodate 0.6.1 itsdangerous 2.1.2 Jinja2 3.1.2 jsonschema 4.19.0 jsonschema-specifications 2023.7.1 kombu 5.3.1 korean-lunar-calendar 0.3.1 limits 3.5.0 Mako 1.2.4 Markdown 3.4.4 markdown-it-py 3.0.0 MarkupSafe 2.1.3 marshmallow 3.20.1 marshmallow-enum 1.5.1 marshmallow-sqlalchemy 0.26.1 mdurl 0.1.2 msgpack 1.0.5 numpy 1.23.5 ordered-set 4.1.0 outcome 1.2.0 packaging 23.1 pandas 1.5.3 paramiko 3.3.1 parsedatetime 2.6 pgsanity 0.2.9 pip 20.2.4 polyline 2.0.0 prison 0.2.1 prompt-toolkit 3.0.39 psycopg2-binary 2.9.7 pyarrow 10.0.1 pycparser 2.21 Pygments 2.16.1 PyJWT 2.8.0 PyMeeus 0.5.12 PyNaCl 1.5.0 pyparsing 3.1.1 PySocks 1.7.1 python-dateutil 2.8.2 python-dotenv 1.0.0 python-geohash 0.8.5 pytz 2023.3 PyYAML 6.0.1 redis 5.0.0 referencing 0.30.2 rich 13.5.2 rpds-py 0.9.2 selenium 4.11.2 setuptools 50.3.2 simplejson 3.19.1 six 1.16.0 slack-sdk 3.21.3 sniffio 1.3.0 sortedcontainers 2.4.0 SQLAlchemy 1.4.49 SQLAlchemy-Utils 0.38.3 sqlparse 0.4.3 sshtunnel 0.4.0 supervisor 4.2.5 tabulate 0.8.10 trio 0.22.2 trio-websocket 0.10.3 typing-extensions 4.7.1 tzdata 2023.3 urllib3 2.0.4 vine 5.0.0 wcwidth 0.2.6 webencodings 0.5.1 werkzeug 2.3.7 wrapt 1.15.0 wsproto 1.2.0 WTForms 2.3.3 WTForms-JSON 0.3.5 XlsxWriter 3.0.9 zipp 3.16.2` Logs when accessing charts tab `2023-10-11 17:45:52,712:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:52,713:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:52,715:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:52,716:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:52,810:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:52] "GET /chart/list/?pageIndex=0&sortColumn=changed_on_delta_humanized&sortOrder=desc&viewMode=table HTTP/1.1" 200 - HTTPException Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1517, in full_dispatch_request rv = self.dispatch_request() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1503, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/scaffold.py", line 322, in send_static_file return send_from_directory( File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/helpers.py", line 676, in send_from_directory return werkzeug.utils.send_from_directory( # type: ignore File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/werkzeug/utils.py", line 574, in send_from_directory raise NotFound() werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. 2023-10-11 17:45:52,931:WARNING:superset.views.base:HTTPException Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1517, in full_dispatch_request rv = self.dispatch_request() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1503, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/scaffold.py", line 322, in send_static_file return send_from_directory( File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/helpers.py", line 676, in send_from_directory return werkzeug.utils.send_from_directory( # type: ignore File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/werkzeug/utils.py", line 574, in send_from_directory raise NotFound() werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. 2023-10-11 17:45:52,933:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:52] "GET /static/appbuilder/css/font-awesome.min.css HTTP/1.1" 404 - 2023-10-11 17:45:53,495:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:53] "GET /api/v1/database/?q=(filters:!((col:allow_file_upload,opr:upload_is_enabled,value:!t))) HTTP/1.1" 200 - 2023-10-11 17:45:53,502:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:53] "GET /api/v1/database/?q=(filters:!((col:database_name,opr:neq,value:examples))) HTTP/1.1" 200 - 2023-10-11 17:45:53,760:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:53] "GET /api/v1/chart/_info?q=(keys:!(permissions)) HTTP/1.1" 200 - 'Query' object has no attribute 'explore_url' Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/views/base.py", line 250, in wraps return f(self, *args, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/views/base_api.py", line 460, in get_list_headless duration, response = time_function(super().get_list_headless, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/utils/core.py", line 1586, in time_function response = func(*args, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_appbuilder/api/__init__.py", line 1613, in get_list_headless response[API_RESULT_RES_KEY] = list_model_schema.dump(lst, many=True) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 549, in dump result = self._serialize(processed_obj, many=many) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 511, in _serialize return [ File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 512, in <listcomp> self._serialize(d, many=False) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 517, in _serialize value = field_obj.serialize(attr_name, obj, accessor=self.get_attribute) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/fields.py", line 340, in serialize return self._serialize(value, attr, obj, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/fields.py", line 2037, in _serialize return self._call_or_raise(self.serialize_func, obj, attr) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/fields.py", line 2050, in _call_or_raise return func(value) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/models/slice.py", line 172, in datasource_url return datasource.explore_url if datasource else None AttributeError: 'Query' object has no attribute 'explore_url' 2023-10-11 17:45:53,819:ERROR:superset.views.base:'Query' object has no attribute 'explore_url' Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/views/base.py", line 250, in wraps return f(self, *args, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/views/base_api.py", line 460, in get_list_headless duration, response = time_function(super().get_list_headless, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/utils/core.py", line 1586, in time_function response = func(*args, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_appbuilder/api/__init__.py", line 1613, in get_list_headless response[API_RESULT_RES_KEY] = list_model_schema.dump(lst, many=True) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 549, in dump result = self._serialize(processed_obj, many=many) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 511, in _serialize return [ File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 512, in <listcomp> self._serialize(d, many=False) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/schema.py", line 517, in _serialize value = field_obj.serialize(attr_name, obj, accessor=self.get_attribute) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/fields.py", line 340, in serialize return self._serialize(value, attr, obj, **kwargs) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/fields.py", line 2037, in _serialize return self._call_or_raise(self.serialize_func, obj, attr) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/marshmallow/fields.py", line 2050, in _call_or_raise return func(value) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/superset/models/slice.py", line 172, in datasource_url return datasource.explore_url if datasource else None AttributeError: 'Query' object has no attribute 'explore_url' 2023-10-11 17:45:53,830:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:53] "GET /api/v1/chart/?q=(order_column:changed_on_delta_humanized,order_direction:desc,page:0,page_size:25) HTTP/1.1" 500 - 2023-10-11 17:45:54,334:INFO:flask_wtf.csrf:The CSRF token is missing. Refresh CSRF token error Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 261, in protect validate_csrf(self._get_csrf_token()) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf raise ValidationError("The CSRF token is missing.") wtforms.validators.ValidationError: The CSRF token is missing. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1515, in full_dispatch_request rv = self.preprocess_request() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1857, in preprocess_request rv = self.ensure_sync(before_func)() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect self.protect() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 264, in protect self._error_response(e.args[0]) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 307, in _error_response raise CSRFError(reason) flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing. 2023-10-11 17:45:54,334:WARNING:superset.views.base:Refresh CSRF token error Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 261, in protect validate_csrf(self._get_csrf_token()) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf raise ValidationError("The CSRF token is missing.") wtforms.validators.ValidationError: The CSRF token is missing. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1515, in full_dispatch_request rv = self.preprocess_request() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask/app.py", line 1857, in preprocess_request rv = self.ensure_sync(before_func)() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect self.protect() File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 264, in protect self._error_response(e.args[0]) File "/mnt/sprset-folder/superset-venv/lib64/python3.9/site-packages/flask_wtf/csrf.py", line 307, in _error_response raise CSRFError(reason) flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing. 2023-10-11 17:45:54,335:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:54] "POST /superset/log/?explode=events HTTP/1.1" 302 - 2023-10-11 17:45:54,409:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:54] "GET /login/ HTTP/1.1" 302 - 2023-10-11 17:45:54,475:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:54] "GET / HTTP/1.1" 302 - Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:54,573:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:54,574:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:54,575:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:54,576:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'ibm_db_sa.pyodbc.AS400Dialect_pyodbc'>: No module named 'sqlalchemy.connectors.zxJDBC' 2023-10-11 17:45:54,692:INFO:werkzeug:172.24.2.11 - - [11/Oct/2023 17:45:54] "GET /superset/welcome/ HTTP/1.1" 200 -` any help is appreciated! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
