Thank you, Marko - it's an excellent catch! Indeed, we have a bug in a code that updates the left timeout. And yes, we should use nanoTime for measuring elapsed time. I will work on a fix for both issues and will try to create a test for the left timeout update scenario.
- Aleksei ________________________________ From: core-libs-dev <core-libs-dev-r...@openjdk.org> on behalf of Daniel Fuchs <daniel.fu...@oracle.com> Sent: 04 September 2024 3:59 PM To: Marko Bakšić <marko.bak...@infobip.com>; core-libs-dev <core-libs-dev@openjdk.org> Subject: Re: Possible bug in jdk.naming.dns. I need guidance on how get someone smarter to look at it. On 04/09/2024 15:02, Marko Bakšić wrote: > Thank you Daniel. > > The part that was suspicious to me is > > ``` > int timeoutLeft = pktTimeout; > do { > ... > timeoutLeft = pktTimeout - ((int) (end - start)); > } while (timeoutLeft > MIN_TIMEOUT); > ``` > > Here, timeoutLeft is not iteratively decreased, but is always derived > from `pktTimeout`. > I can see a case where `timeoutLeft` never drops below `MIN_TIMEOUT` > (this is the part where I'm not sure if I'm missing some deeper knowledge). Indeed - good observation! -- daniel