[Date Prev][Date Next]
Re: (ITS#4920) bad connection sequencing
> Full_Name: Hallvard B Furuseth
> Version: HEAD
> OS: Linux
> URL: http://folk.uio.no/hbf/OpenLDAP/bug032.tgz
> Submission from: (NULL) (220.127.116.11)
> 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.
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/