krsnik93 opened a new issue #16924: URL: https://github.com/apache/superset/issues/16924
Chrome WebDriver-powered Selenium is generating all white screenshots, for both charts and dashboards. #### How to reproduce the bug 1. Create new chart 2. Save it 3. Wait for a bit for the screenshot to get generated (can inspect `/var/log/celery/*` to track progress) 4. Refresh window ### Expected results Expect thumbnail screenshot to look the same as the chart. ### Actual results Screenshot is all white. #### Screenshots Charts:   Dashboards: The actual chart:  It takes about 5 secs to load and does not require touching the control panel. ### Environment (please complete the following information): - browser type and version: Firefox 92.0 - superset version: 1.2.0 - python version: 3.8.10 - any feature flags active: ``` "DYNAMIC_PLUGINS": True, "ROW_LEVEL_SECURITY": True, "VERSIONED_EXPORT": True, "THUMBNAILS": True, "THUMBNAILS_SQLA_LISTENERS": True, "LISTVIEWS_DEFAULT_CARD_VIEW": True, ``` ### 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. - [x] 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 ChromeDriver version: `ChromeDriver 90.0.4430.93 (4df112c29cfe9a2c69b14195c0275faed4e997a7-refs/branch-heads/4430@{#1348})` Relevant Superset config: ``` CACHE_CONFIG = { 'CACHE_TYPE': 'redis', 'CACHE_DEFAULT_TIMEOUT': 60 * 60 * 24, # 1 day default (in secs) 'CACHE_KEY_PREFIX': 'superset_results', 'CACHE_REDIS_URL': 'redis://localhost:6379/0', } THUMBNAIL_CACHE_CONFIG = { 'CACHE_TYPE': 'redis', 'CACHE_DEFAULT_TIMEOUT': 60 * 60 * 24, # 1 day default (in secs) 'CACHE_KEY_PREFIX': 'thumbnail_', 'CACHE_NO_NULL_WARNING': True, 'CACHE_REDIS_URL': 'redis://localhost:6379/0' } THUMBNAIL_SELENIUM_USER = "admin" class CeleryConfig(object): BROKER_URL = 'redis://localhost:6379/0' CELERY_IMPORTS = ( 'superset.sql_lab', 'superset.tasks', 'superset.tasks.thumbnails' ) CELERY_RESULT_BACKEND = 'redis://localhost:6379/0' CELERYD_LOG_LEVEL = 'DEBUG' CELERYD_PREFETCH_MULTIPLIER = 10 CELERY_ACKS_LATE = True CELERY_CONFIG = CeleryConfig WEBDRIVER_TYPE = "chrome" WEBDRIVER_BASEURL = "http://localhost:8080" WEBDRIVER_OPTION_ARGS = [ "--force-device-scale-factor=2.0", "--high-dpi-support=2.0", "--headless", "--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox", "--disable-setuid-sandbox", "--disable-extensions", ] SCREENSHOT_SELENIUM_ANIMATION_WAIT = 20 ``` Last line added just to test if a longer wait would work. Logs from `/var/log/celery/worker1.log`: ``` [2021-09-30 16:02:45,450: INFO/MainProcess] Received task: cache_chart_thumbnail[55a06cba-b027-4268-884b-fcc81499a432] [2021-09-30 16:02:45,453: DEBUG/MainProcess] TaskPool: Apply <function _fast_trace_task at 0x7efd0d70c790> (args:('cache_chart_thumbnail', '55a06cba-b027-4268-884b-fcc81499a432', {'lang': 'py', 'task': 'cache_chart_thumbnail', 'id': '55a06cba-b027-4268-884b-fcc81499a432', 'shadow': None, 'eta': None, 'expires': None, 'group': None, 'group_index': None, 'retries': 0, 'timelimit': [None, 300], 'root_id': '55a06cba-b027-4268-884b-fcc81499a432', 'parent_id': None, 'argsrepr': "('http://localhost:8080/superset/slice/4/?standalone=true', '9f8a8ede5b3960ee353aed547019bf75')", 'kwargsrepr': "{'force': True}", 'origin': 'gen569095@puppet-agent', 'reply_to': '8cc3e63c-3555-39dc-86b5-0e6376d5a2cb', 'correlation_id': '55a06cba-b027-4268-884b-fcc81499a432', 'hostname': 'worker1@puppet-agent', 'delivery_info': {'exchange': '', 'routing_key': 'celery', 'priority': 0, 'redelivered': None}, 'args': ['http://localhost:8080/superset/slice/4/?standalone=true', '9f8a8ede5b3960ee353aed547019bf75'], 'kw args': {'force': True}}, b'[["http://localhost:8080/superset/slice/4/?standalone=true", "9f8a8ede5b3960ee353aed547019bf75"], {"force": true},... kwargs:{}) [2021-09-30 16:02:45,457: DEBUG/MainProcess] Task accepted: cache_chart_thumbnail[55a06cba-b027-4268-884b-fcc81499a432] pid:569084 ``` Logs from `/var/log/celery/worker1-3.log`: ``` [2021-09-30 16:02:45,458: INFO/ForkPoolWorker-3] Caching chart: http://localhost:8080/superset/slice/4/?standalone=true [2021-09-30 16:02:45,498: INFO/ForkPoolWorker-3] Processing url for thumbnail: c2d03e44eb42b1746dc5b1b0414e34fe [2021-09-30 16:02:45,498: INFO/ForkPoolWorker-3] Init selenium driver [2021-09-30 16:02:46,533: DEBUG/ForkPoolWorker-3] POST http://127.0.0.1:60289/session {"capabilities": {"firstMatch": [{}], "alwaysMatch": {"browserName": "chrome", "platformName": "any", "goog:chromeOptions": {"extensions": [], "args": ["--window-size=800,600", "--force-device-scale-factor=2.0", "--high-dpi-support=2.0", "--headless", "--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox", "--disable-setuid-sandbox", "--disable-extensions"]}}}, "desiredCapabilities": {"browserName": "chrome", "version": "", "platform": "ANY", "goog:chromeOptions": {"extensions": [], "args": ["--window-size=800,600", "--force-device-scale-factor=2.0", "--high-dpi-support=2.0", "--headless", "--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox", "--disable-setuid-sandbox", "--disable-extensions"]}}} [2021-09-30 16:02:46,537: DEBUG/ForkPoolWorker-3] Starting new HTTP connection (1): 127.0.0.1:60289 [2021-09-30 16:02:46,803: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "POST /session HTTP/1.1" 200 720 [2021-09-30 16:02:46,807: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:46,808: DEBUG/ForkPoolWorker-3] POST http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/url {"url": "http://localhost:8080/login/"} [2021-09-30 16:02:47,465: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "POST /session/b2158b7baa2a0150a4e9e96199ec0e52/url HTTP/1.1" 200 14 [2021-09-30 16:02:47,466: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:47,481: DEBUG/ForkPoolWorker-3] POST http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/cookie {"cookie": {"name": "session", "value": ".eJwlzjEOwzAIQNG7MGcwGIzJZSJjsNo1aaaqd2-lHuA__Tcc68zrAfvrvHOD4xmwQzdaunLSROlVWivTB1biGERIktg0m7inRFbj4N6GMv-Cop4FWdG6yWqkP0W64_ASWUr0JBef5s5JNjTr1F7JwoKKYM6SnWGD-8rzP4Pw-QJpBS6n.YVXRlw.fXns-1imSRCPoZP04l40yHD2f0A"}} [2021-09-30 16:02:47,488: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "POST /session/b2158b7baa2a0150a4e9e96199ec0e52/cookie HTTP/1.1" 200 14 [2021-09-30 16:02:47,488: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:47,489: DEBUG/ForkPoolWorker-3] POST http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/window/rect {"x": null, "y": null, "width": 800, "height": 600} [2021-09-30 16:02:47,596: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "POST /session/b2158b7baa2a0150a4e9e96199ec0e52/window/rect HTTP/1.1" 200 48 [2021-09-30 16:02:47,596: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:47,597: DEBUG/ForkPoolWorker-3] POST http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/url {"url": "http://localhost:8080/superset/slice/4/?standalone=true"} [2021-09-30 16:02:48,907: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "POST /session/b2158b7baa2a0150a4e9e96199ec0e52/url HTTP/1.1" 200 14 [2021-09-30 16:02:48,907: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:51,911: DEBUG/ForkPoolWorker-3] POST http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/element {"using": "css selector", "value": ".chart-container"} [2021-09-30 16:02:51,935: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "POST /session/b2158b7baa2a0150a4e9e96199ec0e52/element HTTP/1.1" 200 88 [2021-09-30 16:02:51,936: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:51,936: DEBUG/ForkPoolWorker-3] POST http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/elements {"using": "css selector", "value": ".loading"} [2021-09-30 16:02:51,947: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "POST /session/b2158b7baa2a0150a4e9e96199ec0e52/elements HTTP/1.1" 200 12 [2021-09-30 16:02:51,947: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:51,947: INFO/ForkPoolWorker-3] Taking a PNG screenshot or url http://localhost:8080/superset/slice/4/?standalone=true [2021-09-30 16:02:51,948: DEBUG/ForkPoolWorker-3] GET http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/element/1607d29c-53d2-4d7e-abea-c6df244fc6d8/screenshot {"id": "1607d29c-53d2-4d7e-abea-c6df244fc6d8"} [2021-09-30 16:02:52,042: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "GET /session/b2158b7baa2a0150a4e9e96199ec0e52/element/1607d29c-53d2-4d7e-abea-c6df244fc6d8/screenshot HTTP/1.1" 200 9332 [2021-09-30 16:02:52,043: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:52,043: DEBUG/ForkPoolWorker-3] DELETE http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52/window {} [2021-09-30 16:02:52,106: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "DELETE /session/b2158b7baa2a0150a4e9e96199ec0e52/window HTTP/1.1" 200 12 [2021-09-30 16:02:52,107: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:52,107: DEBUG/ForkPoolWorker-3] DELETE http://127.0.0.1:60289/session/b2158b7baa2a0150a4e9e96199ec0e52 {} [2021-09-30 16:02:52,109: DEBUG/ForkPoolWorker-3] http://127.0.0.1:60289 "DELETE /session/b2158b7baa2a0150a4e9e96199ec0e52 HTTP/1.1" 200 14 [2021-09-30 16:02:52,109: DEBUG/ForkPoolWorker-3] Finished Request [2021-09-30 16:02:52,120: INFO/ForkPoolWorker-3] Caching thumbnail: c2d03e44eb42b1746dc5b1b0414e34fe [2021-09-30 16:02:52,123: INFO/ForkPoolWorker-3] Done caching thumbnail [2021-09-30 16:02:52,130: INFO/ForkPoolWorker-3] Task cache_chart_thumbnail[55a06cba-b027-4268-884b-fcc81499a432] succeeded in 6.6734346160665154s: None ``` -- 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]
