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

Re: (ITS#4920) bad connection sequencing



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.
-- 
   -- 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/