Opened 2 years ago
#56688 new defect (bug)
Uncaught Requests_Exception using Requests::request_multiple
Reported by: | clutch2sft | Owned by: | |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | normal | Version: | 6.0.2 |
Component: | General | Keywords: | |
Focuses: | performance | Cc: |
Description
If a remote website does not respond to a request in Requests::request_multiple then CURL timeout is unhandled in the process.
PHP Fatal error: Uncaught Requests_Exception: cURL error 28: Operation timed out after 10001 milliseconds with 0 out of 0 bytes received in /ggg/tg-plugin-development-local/app/public/wp-includes/Requests/Transport/cURL.php:443 Stack trace: #0 /ggg/tg-plugin-development-local/app/public/wp-includes/Requests/Transport/cURL.php(179): Requests_Transport_cURL->process_response('', Array) #1 /ggg/tg-plugin-development-local/app/public/wp-includes/class-requests.php(381): Requests_Transport_cURL->request('https://api.dyn...', Array, NULL, Array) #2 /ggg/tg-plugin-development-local/app/public/wp-includes/class-requests.php(233): Requests::request('https://api.dyn...', Array, NULL, 'GET', Array) #3 /ggg/tg-plugin-development-local/app/public/wp-content/plugins/tg-dynamic-dns-updater/public/class-tg-dynamic-dns-updater-public.php(149): Requests::get('https://api.dyn...', Array) #4 /ggg/tg-plugin-development-local/app/public/wp-content/plugins/tg-dynamic-dns-updater/public/class-tg-dynamic-dns-updater-public.php(131): Tg_Dynamic_Dns_Updater_Public->tg_get_bearer_token('70f4> #5 /ggg/tg-plugin-development-local/app/public/wp-includes/class-wp-hook.php(307): Tg_Dynamic_Dns_Updater_Public->tg_post_dynamic_dns('RHMgWcS1V5ybPtY...') #6 /ggg/tg-plugin-development-local/app/public/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('', Array) #7 /ggg/tg-plugin-development-local/app/public/wp-includes/plugin.php(476): WP_Hook->do_action(Array) #8 /ggg/tg-plugin-development-local/app/public/wp-content/plugins/tg-dynamic-dns-updater/includes/class-tg-dynamic-dns-updater-async-api-task.php(34): do_action('wp_async_tg_inv...', 'RHMgWcS1V5ybPt> #9 /ggg/tg-plugin-development-local/app/public/wp-content/plugins/tg-dynamic-dns-updater/includes/wp-async-task.php(164): tg_async_dns_api_task->run_action() #10 /ggg/tg-plugin-development-local/app/public/wp-includes/class-wp-hook.php(307): WP_Async_Task->handle_postback('') #11 /ggg/tg-plugin-development-local/app/public/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('', Array) #12 /ggg/tg-plugin-development-local/app/public/wp-includes/plugin.php(476): WP_Hook->do_action(Array) #13 /ggg/tg-plugin-development-local/app/public/wp-admin/admin-post.php(85): do_action('admin_post_wp_a...') #14 {main}
To reproduce simply add non-responsive url to the requests array or reduce the timeout value to an unreasonable value to force a CURL timeout.
This issue is a bit beyond my understanding but has to do with the hook system calling other functions where the timeout occurs as best I can tell.... this creates a fault where it can't be caught by the calling code.
I also admit to not knowing what "Component" this belongs to.
Note: See
TracTickets for help on using
tickets.