Hi Daniel, Many thanks for your feedback ! I have more considering to the context when it happen.
Last occurrence showed 8 threads stuck without any IO and occupying 100 % CPU. Each thread is handling hundreds of connections / messages towards http AS. I checked the history of Curl_splay function - last modification was : ------------------------------------------------------------------------------------ $ git log -L :Curl_splay:lib/splay.c commit dcb51bafabf9d0776135de9111c1a3fe437d570c Author: Daniel Stenberg <[email protected]> Date: Thu Aug 15 16:13:23 2024 +0200 splay: use access functions, add asserts, use Curl_timediff - add set/get functions for the custom data in a tree node - use Curl_timediff for time comparisons instead of the custom macro, as they do the exact same things. - add asserts to catch mistakes better - updated test 1309 accordingly Closes #14562 ------------------------------------------------------------------------------------ Is it this modification that could help us maybe ? Regards, -----Message d'origine----- De : Daniel Stenberg <[email protected]> Envoyé : mercredi 10 septembre 2025 23:20 À : Stephane Cruchon via curl-library <[email protected]> Cc : Stephane Cruchon <[email protected]>; Gilles Lefèvre <[email protected]>; R&D Support <[email protected]> Objet : Re: High CPU usage associated to busy loop in curl_timediff_us() [You don't often get email from [email protected]. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. On Wed, 10 Sep 2025, Stephane Cruchon via curl-library wrote: > We've observed a situation where curl_timediff_us() seems to spin in a > tight loop when libcurl runs inside a container. This leads to high cpu usage. What happened that took libcurl to this state? What is curl doing when this happens? curl_timediff_us() itself does not get stuck and in the follow up email you indicated that it might be related to the splay tree management. We fixed a splay related issue recently, so maybe the latest version works better for you. I doubt it is actually related to the time. -- / daniel.haxx.se || https://rock-solid.curl.dev [Logo]<https://www.actility.com/> [Logo] Stephane Cruchon R&D team Manager Support Buy hardware in ThingPark Market<https://market.thingpark.com/>, try (free) on ThingPark Community<https://community.thingpark.org/>, deploy with Actility<https://www.actility.com/> [Banner]<https://www.actility.com/timeline-of-events/> The content of this email is confidential and intended for the recipient specified in message only. It is strictly forbidden to share any part of this message with any third party, without a written consent of the sender. If you received this message by mistake, please reply to this message and follow with its deletion, so that we can ensure such a mistake does not occur in the future. Actility. -- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.html
