Patricia Shanahan wrote:
On 8/21/2010 11:11 AM, Patricia Shanahan wrote:
On 8/21/2010 5:31 AM, Peter Firmstone wrote:
Patricia Shanahan wrote:
On 8/20/2010 11:10 PM, Peter Firmstone wrote:
Patricia Shanahan wrote:
Peter Firmstone wrote:
Patricia Shanahan wrote:
As indicated in the "TaskManager Progress" thread, I think,
based on
reading the source code, that there is a concurrency bug in
ServiceDiscoveryManager.LookupCacheImpl's addProxyReg method.
I added logging to see which tests I should run to evaluate a fix.
As far as I can tell, the automated system contains a single test
that creates a ServiceDiscoveryManager, LeaseRenewDurRFE, and it
does not appear to use addProxyReg.
Are there any tests in addition to the QA and JTreg tests that
might
cover this?
No, not in addition unfortunately.
I didn't really expect there would be, but it was worth asking.
I'm now working on an SDM concurrency test - essentially writing
stubs
for the classes it interacts with, so that I can control the
timing of
events. I want to hit it with a lot of different activity at the
same
time.
Is there any existing code that would help with that task?
Patricia
Any of the existing qa or jtreg tests that relate to the SDM would
be a
good start.
Not sure which I'd pick though.
I've found why I was not finding ServiceDiscoveryManager tests. "ant
qa.run" in the build directory, which is how I was running QA tests,
runs specified categories:
"id,loader,policyprovider,locatordiscovery,activation,config,discoverymanager,joinmanager,url,iiop,jrmp,reliability,thread"
Why not servicediscovery????
Patricia
Well I'll be b...., didn't pick that up, how strange, running
servicediscovery now, although not with your patches, I'll try that
tomorrow.
I'm running the servicediscovery tests against a modified version of
ServiceDiscoveryManager that has a couple of short sleep calls in
addProxyReg. It has reported several failures. I would be very
interested in what failures, if any, you get with an unpatched SDM. If
your version does not fail we have a real test coverage problem. If your
version gets similar failures, we just have a problem with not running
tests we have.
I should perhaps mention that if my sleep calls are triggering the
failures, they are almost certainly due to the concurrency problem I
found by inspection, which is very easy to fix. The difficult part is
finding a test to verify the fix.
Patricia
Hi Patricia,
This is unfortunate, to solve it, I'll to have to go back in time & find
out when these tests were passing, then figure out what change/s caused
the failures. It could be the reduced amount of synchronization time in
TaskManager, but I'm only guessing.
Peter.
[java] SUMMARY =================================
[java]
[java] com/sun/jini/test/impl/servicediscovery/TerminateSemantics.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/cache/CacheTerminateSemantics.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/AddListenerEvent.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/DiscardDownReDiscover.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: # added expected = 12, # added
received = 22, # removed expected = 12, # removed received = 12
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/DiscardServiceDown.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: # added expected = 12, # added
received = 22, # removed expected = 12, # removed received = 12
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/DiscardServiceUp.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/LookupDropProxyTaskRace.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/impl/servicediscovery/event/LookupTaskRace.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/LookupTaskServiceIdMapRace.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: -- failure -- 12 SDMs with wrong
number of added events, (removed events OKAY)
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/NotifyEventDropProxyTaskRace.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: -- failure -- nAdded = 0,
nAddedExpected = 1; nRemoved = 0, nRemovedExpected = 1
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/ReRegisterBadEquals.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: -- failure -- nAdded = 2,
nAddedExpected = 4, nRemoved = 0, nRemovedExpected = 2
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/ReRegisterGoodEquals.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: -- failure -- nAdded = 2,
nAddedExpected = 4, nRemoved = 0, nRemovedExpected = 2
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/impl/servicediscovery/event/ServiceDiscardCacheTerminate.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/DefaultDiscoverPublic.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/cache/AddListenerNPE.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/cache/CacheDiscard.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/cache/CacheLookup.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/cache/CacheLookupFilterFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/cache/CacheLookupFilterNoFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/cache/CacheLookupNoFilterFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/discovery/Locator.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/discovery/MulticastAnnouncement.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/discovery/MulticastRequest.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/discovery/Permission.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/event/AddAttrServiceChanged.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: unexpected events -- added:
received 1 - expected 1, removed: received 0 - expected 0, changed:
received 0 - expected 1
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/event/ModifyAttrServiceChanged.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: unexpected events -- added:
received 1 - expected 1, removed: received 0 - expected 0, changed:
received 0 - expected 1
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/event/SetAttrServiceChanged.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: unexpected events -- added:
received 1 - expected 1, removed: received 0 - expected 0, changed:
received 0 - expected 1
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/lookup/Lookup.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/lookup/LookupFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/lookup/LookupMax.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupMaxFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupMinEqualsMax.td
[java] Test Failed: Test Failed:
com.sun.jini.qa.harness.TestException: -- blocked longer than expected
-- requested block = 60 second(s), actual block = 60 second(s)
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupMinEqualsMaxFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupMinLessMax.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupMinLessMaxFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupMinMaxNoBlock.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupMinMaxNoBlockFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java] com/sun/jini/test/spec/servicediscovery/lookup/LookupWait.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupWaitFilter.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
com/sun/jini/test/spec/servicediscovery/lookup/LookupWaitNoBlock.td
[java] Test Passed: OK
[java]
[java] -----------------------------------------
[java]
[java] # of tests started = 40
[java] # of tests completed = 40
[java] # of tests passed = 30
[java] # of tests failed = 10
[java]
[java] -----------------------------------------
[java]
[java] Date finished:
[java] Sat Aug 21 23:48:04 EST 2010
[java] Time elapsed:
[java] 4727 seconds
[java]
BUILD FAILED
/opt/src/ApacheRiver/trunk/qa/build.xml:289: The following error
occurred while executing this line:
/opt/src/ApacheRiver/trunk/qa/build.xml:202: Java returned: 1