river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Firmstone <j...@zeus.net.au>
Subject Re: Help needed with concurrency bug
Date Sat, 24 Dec 2011 21:50:29 GMT
Dan Creswell wrote:
> On 24 December 2011 11:36, Peter Firmstone <jini@zeus.net.au> wrote:
>> I'm experiencing some failing tests:
>> run.tests=com/sun/jini/test/spec/lookupservice/test_set00/MultipleEvntLeaseRenewals.td,\
>> com/sun/jini/test/spec/lookupservice/test_set00/NotifyOnAttrAdd.td,\
>> com/sun/jini/test/spec/lookupservice/test_set00/NotifyOnAttrDel.td,\
>> com/sun/jini/test/spec/lookupservice/test_set00/NotifyOnAttrMod.td,\
>> com/sun/jini/test/spec/lookupservice/test_set02/NotifyOnAttrSet.td,\
>> com/sun/jini/test/impl/start/aggregatepolicyprovider/GetContextTest.td
>> Not sure about the last test which is failing a permission check, but the
>> first 5 are dropping events, without there being any security exceptions, so
>> I'm guessing the policy's concurrency has exposed another bug.
> Where "bug" is potentially a swallowed exception.
> Reggie for the most part holds a writeLock for any significant
> invocation from the client and events are dispatched via a
> TaskManager. Seems like an unlikely source for problems. Am I right in
> assuming the test itself is single-threaded? Sure looks like it is?
> That would suggest to me a problem in the remote comms layer if
> anywhere. My biggest worry would be that your permissions work is
> leading to a security exception or similar and it's just being
> swallowed.
> Take that worry and combine it with the fact that the last failing
> test does throw an exception and doesn't touch remote services or
> indeed the JERI layer, I'd say this is the test to look at first and
> perhaps we're not looking at an additional bug.
Nope, it's a concurrency bug, TaskManager would create task threads for 
the events, the bug goes away when I activate security debug, there are 
no permission failures.

It may actually be a TaskManager bug.

Notice the number of security checks being performed, although not used 
in this instance, the new security manager caches Permissions, I'm not 
entirely comfortable with the Comparator, to avoid equals.

See attached.

View raw message