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

Reply via email to