Hi James,
I've managed to recreate the problem. I'll do some more investigation soon
when I get some time.
Cheers,
Richard
From: James Crowley
Sent: Wednesday, May 05, 2010 3:16 PM
To: [email protected]
Cc: [email protected]
Subject: Re: [nhusers] Re: [nhibernate-development] Thread safety problem in
QueryParameters.PrepareParameterTypes ?
Anyone managed to try this? Should just be a case of opening the proj and
running the test. Would be good to know I'm not going crazy.
Thanks :)
James
On 4 May 2010 21:24, James Crowley <[email protected]> wrote:
Hi guys,
I've posted a ZIP with a unit test up here:
http://216.121.112.228/browse/NH-2192
Please let me know if you can reproduce or not!!
Thank you
James
On 23 April 2010 16:41, Ayende Rahien <[email protected]> wrote:
There _was_ a problem there, IIRC.
I am pretty sure that we fix that.
Are you using the latest? Can you provide a failing test?
On Fri, Apr 23, 2010 at 3:09 PM, James Crowley <[email protected]>
wrote:
Hi guys,
Are you aware of a threading issue within
QueryParameters.PrepareParameterTypes? I've got two threads (operating over
different sessions) that, when run starting from the same execution point at
the start of the PrepareParameterTypes method. All works fine when the other
thread is frozen, but when both are run at the same time, there are issues with
the parameter locations.
It's something to do with here:
while ((location < sqlParameters.Count) &&
(sqlParameters[location].ParameterPosition != null))
location++;
in that this can actually result in location being equal to
sqlParameters.Count (and later having an IndexOutOfRange exception being
thrown). However, it's only happening because ParameterPosition is unexpectedly
set. Still trying to figure out how, as all I can see are local variables right
now.
I'm still trying to pin this down exactly, but wanted to check if you
were already aware of not?
Thanks,
James