[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#5668) Invalid entryCSN generated, and slapd will not restart

ando@sys-net.it wrote:
> emmanuel.duru@atosorigin.com wrote:
>> I see that tm->tm_usub is negative, there seems to be overflows between
>> LARGE_INTEGER and int variables.

It would take over 4 billion operations in a single timer tick (on the order 
of nanoseconds) to make tm_usub overflow. That seems pretty unlikely.

> If the problem disappears by initializing the static variables in
> lutil_gettime(), then it might be a compiler issue.

I suppose that's always possible...

The original post shows that the tm_usec field is negative. That could happen 
if the offset we computed between the SYSTEMTIME and the PerformanceCounter 
was wrong, or if the SYSTEMTIME was adjusted while the process was running.

What version of Windows are you running? 32 or 64 bit? Can you singlestep 
through this function with a debugger and verify all of the values? I haven't 
run this code on Windows in a long time, would take a bit of effort to 
resurrect my build environment.

   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/