h.b.furuseth@usit.uio.no wrote:
Full_Name: Hallvard B Furuseth Version: HEAD OS: Linux URL: http://folk.uio.no/hbf/OpenLDAP/bug032.tgz Submission from: (NULL) (129.240.202.105) Submitted by: hallvard
Statslog() from even successful tests can show strange sequencing.
grep '^conn=' testrun/slapd.*.log from a test032-chain run shows
- Operations logged on connections before ACCEPT (slapd.1.log conn=2,3 + slapd.2.log conn=7,9)
- Operations on a connection with no ACCEPT (slapd.1.log conn=10), but a 'conn=-1 fd=21 ACCEPT' _after_ that fd's 'close', and valgrind shows memory errors between the close and the ACCEPT.
The enclosed URL gives the testrun directory and test output.
The ACCEPT statslog call occurs after connection_init(). Once connection_init unlocks the connection mutex, any other thread can run, and it looks like in your case the actual operation threads got started first. We can simply move the statslog call a bit earlier. Go ahead and move it if you think this is really a problem, to me it's just cosmetic.
I don't see how this can be responsible for memory access errors. That must be something unrelated. What valgrind output do you have for that? Most likely that's your ITS#5050.