On 7/29/23 13:31, Marcel Telka wrote:
On Sat, Jul 29, 2023 at 03:06:50PM +0100, russell wrote:
Jul 29 13:21:14 tesla ntpd[1283]: [ID 702911 ntp.error]
/jenkins/jobs/oi-userland/workspace/components/network/ntp/ntp-4.2.8p17/libntp/recvbuff.c:383:
REQUIRE(((void *)0) == pf->pptail || pptail == pf->pptail) failed
This is an old and well known bug in ntp:
https://bugs.ntp.org/show_bug.cgi?id=3552
This has been hitting my systems periodically and I took a look.
Looking through the code, I stumbled upon this block in recvbuff.c:
#if defined(SYS_WINNT)
/*
* For Windows we need to set up a lock to manipulate the
* recv buffers to prevent corruption. We keep it lock for as
* short a time as possible
*/
static CRITICAL_SECTION RecvLock;
static CRITICAL_SECTION FreeLock;
# define LOCK_R() EnterCriticalSection(&RecvLock)
# define UNLOCK_R() LeaveCriticalSection(&RecvLock)
# define LOCK_F() EnterCriticalSection(&FreeLock)
# define UNLOCK_F() LeaveCriticalSection(&FreeLock)
...
The openindiana build of ntpd will sporadically spawn a second thread
for background processing for things like DNS lookups, so I hacked
together a patch (attached; probably #ifdef'ed on the wrong thing) to
add a lock for illumos as well.
_______________________________________________
openindiana-discuss mailing list
[email protected]
https://openindiana.org/mailman/listinfo/openindiana-discuss