[wp-trac] [WordPress Trac] #56688: Uncaught Requests_Exception using Requests::request_multiple
WordPress Trac
noreply at wordpress.org
Thu Sep 11 21:59:49 UTC 2025
#56688: Uncaught Requests_Exception using Requests::request_multiple
--------------------------+------------------------------
Reporter: clutch2sft | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: HTTP API | Version: 6.0.2
Severity: normal | Resolution:
Keywords: | Focuses: performance
--------------------------+------------------------------
Changes (by sabernhardt):
* component: General => HTTP API
Old 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.
New 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
/.../wp-includes/Requests/Transport/cURL.php:443
Stack trace:
#0 /.../wp-includes/Requests/Transport/cURL.php(179):
Requests_Transport_cURL->process_response('', Array)
#1 /.../wp-includes/class-requests.php(381):
Requests_Transport_cURL->request('https://api.dyn...', Array, NULL, Array)
#2 /.../wp-includes/class-requests.php(233):
Requests::request('https://api.dyn...', Array, NULL, 'GET', Array)
#3 /.../wp-content/plugins/tg-dynamic-dns-updater/public/class-tg-dynamic-
dns-updater-public.php(149): Requests::get('https://api.dyn...', Array)
#4 /.../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 /.../wp-includes/class-wp-hook.php(307):
Tg_Dynamic_Dns_Updater_Public->tg_post_dynamic_dns('RHMgWcS1V5ybPtY...')
#6 /.../wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('',
Array)
#7 /.../wp-includes/plugin.php(476): WP_Hook->do_action(Array)
#8 /.../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 /.../wp-content/plugins/tg-dynamic-dns-updater/includes/wp-async-
task.php(164): tg_async_dns_api_task->run_action()
#10 /.../wp-includes/class-wp-hook.php(307):
WP_Async_Task->handle_postback('')
#11 /.../wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('',
Array)
#12 /.../wp-includes/plugin.php(476): WP_Hook->do_action(Array)
#13 /.../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.
--
Comment:
Hi and welcome to WordPress Core Trac!
Requests is an external library. If this error still occurs, you may need
to report it on the GitHub repository.
https://github.com/WordPress/Requests/issues?q=is%3Aissue%20state%3Aopen%20curl
--
Ticket URL: <https://core.trac.wordpress.org/ticket/56688#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list