Return-Path: Delivered-To: apmail-incubator-cxf-dev-archive@locus.apache.org Received: (qmail 66773 invoked from network); 7 Jun 2007 15:00:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Jun 2007 15:00:01 -0000 Received: (qmail 85669 invoked by uid 500); 7 Jun 2007 15:00:04 -0000 Delivered-To: apmail-incubator-cxf-dev-archive@incubator.apache.org Received: (qmail 85637 invoked by uid 500); 7 Jun 2007 15:00:04 -0000 Mailing-List: contact cxf-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-dev@incubator.apache.org Received: (qmail 85628 invoked by uid 99); 7 Jun 2007 15:00:04 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jun 2007 08:00:04 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ning.jiang@iona.com designates 12.170.54.180 as permitted sender) Received: from [12.170.54.180] (HELO amer-mx1.iona.com) (12.170.54.180) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jun 2007 07:59:59 -0700 X-IronPort-AV: E=Sophos;i="4.16,395,1175486400"; d="dat'59?scan'59,208,59";a="289798" Received: from amer-ems1.ionaglobal.com ([10.65.6.25]) by amer-mx1.iona.com with ESMTP; 07 Jun 2007 10:59:38 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C7A914.77F199F4" Subject: RE: Coloc Binding Test Error Date: Thu, 7 Jun 2007 10:59:38 -0400 Message-ID: <9A4696F35B459043970EE4A85A3173900254F8@amer-ems1.IONAGLOBAL.COM> X-MS-Has-Attach: X-MS-TNEF-Correlator: <9A4696F35B459043970EE4A85A3173900254F8@amer-ems1.IONAGLOBAL.COM> Thread-Topic: Coloc Binding Test Error Thread-Index: AcepEFiCOrQKEfrHRXSghEnEFuoxTAAAwH0X References: <200706071020.06727.dkulp@apache.org> <46681674.2040507@iona.com> From: "Jiang, Ning \(Willem\)" To: X-Virus-Checked: Checked by ClamAV on apache.org ------_=_NextPart_001_01C7A914.77F199F4 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable FYI, I updated the easy mock class extension from 2.2.1 to 2.2.2 a = couple days ago. And I can't get the Concurrent Modification Exception for a while :) Willem.=20 -----Original Message----- From: Polar Humenn [mailto:phumenn@iona.com] Sent: Thu 6/7/2007 22:30 To: cxf-dev@incubator.apache.org Subject: Re: Coloc Binding Test Error =20 Yep, I agree, but that would be pretty deterministic and reproducible. I really didn't look into the code, so I don't know. Just thought I'd put it out there and see who ever created the test would notice=20 something probably bad with it concurrently speaking ;-) Cheers, -Polar Daniel Kulp wrote: > On Thursday 07 June 2007 07:52, Paibir, Ajay wrote: > =20 >> Hi Polar, >> >> I have not been able to reproduce this error on my windows box even = on >> repeated runs. Further this unit test itself doesn't have multiple >> threads(unless easymock does something in its runtime) to get a >> ConcurrentModification ex. >> =20 > > Just FYI: you don't need threads to get a=20 > ConcurrentModificationException with the collections. Something = simple=20 > like: > > List lst =3D new ArrayList(); > lst.add("1"); > Iterator it =3D lst.iterator(); > lst.add("2"); > String s =3D it.next(); > > will result in the ConcurrentModificationException. > > Dan > > > > =20 >> Let me see if changing the unit test in any way based on the EasyMock >> code helps. >> >> Ajay >> >> =20 >>> -----Original Message----- >>> From: Polar Humenn [mailto:phumenn@iona.com] >>> Sent: 07 June 2007 05:10 >>> To: cxf-dev@incubator.apache.org >>> Subject: Coloc Binding Test Error >>> >>> I get the following error intermittently, probably based on >>> system load. >>> It's a concurrent modification error on some List. Looks like >>> it has to do with Easymock, some misconception about lists, I think. >>> But in anycase, we should probably avoid this. >>> >>> Cheers, >>> -Polar >>> ------------------------------------------------------- >>> Running org.apache.cxf.binding.coloc.ColocMessageObserverTest >>> Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time >>> elapsed: 0.875 sec Running >>> org.apache.cxf.binding.coloc.ColocUtilTest Tests run: 6, Failures: >>> 0, Errors: 0, Skipped: 0, Time >>> elapsed: 0.059 sec Running >>> org.apache.cxf.binding.coloc.ColocOutInterceptorTest >>> Tests run: 8, Failures: 0, Errors: 1, Skipped: 0, Time >>> elapsed: 0.248 sec <<< FAILURE! >>> testColocOutIsColocated(org.apache.cxf.binding.coloc.ColocOutI >>> nterceptorTest) >>> Time elapsed: 0.019 sec <<< ERROR! >>> java.util.ConcurrentModificationException >>> at >>> java.util.AbstractList$Itr.checkForComodification(AbstractList >>> .java:449) >>> at java.util.AbstractList$Itr.next(AbstractList.java:420) >>> at >>> org.easymock.internal.UnorderedBehavior.addExpected(UnorderedB >>> ehavior.java:22) >>> at >>> org.easymock.internal.MocksBehavior.addExpected(MocksBehavior.java:4 >>> 1) at >>> org.easymock.internal.RecordState.times(RecordState.java:185) >>> at >>> org.easymock.internal.RecordState.closeMethod(RecordState.java:229) >>> at >>> org.easymock.internal.RecordState.invoke(RecordState.java:62) >>> at >>> org.easymock.internal.MockInvocationHandler.invoke(MockInvocat >>> ionHandler.java:24) >>> at >>> org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethods >>> Filter.java:45) >>> at >>> org.easymock.classextension.internal.ClassProxyFactory$1.inter >>> cept(ClassProxyFactory.java:69) >>> at >>> org.apache.cxf.service.model.BindingInfo$$EnhancerByCGLIB$$be3 >>> 758c2.getOperation() >>> at >>> org.apache.cxf.binding.coloc.ColocOutInterceptorTest.verifyIsC >>> olocatedWithDifferentOperation(ColocOutInterceptorTest.java:366) >>> at >>> org.apache.cxf.binding.coloc.ColocOutInterceptorTest.testColoc >>> OutIsColocated(ColocOutInterceptorTest.java:149) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>> Method) at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess >>> orImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth >>> odAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:585) >>> at >>> org.junit.internal.runners.TestMethodRunner.executeMethodBody( >>> TestMethodRunner.java:99) >>> at >>> org.junit.internal.runners.TestMethodRunner.runUnprotected(Tes >>> tMethodRunner.java:81) >>> at >>> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(B >>> eforeAndAfterRunner.java:34) >>> at >>> org.junit.internal.runners.TestMethodRunner.runMethod(TestMeth >>> odRunner.java:75) >>> at >>> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunn >>> er.java:45) >>> at >>> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMe >>> thod(TestClassMethodsRunner.java:66) >>> at >>> org.junit.internal.runners.TestClassMethodsRunner.run(TestClas >>> sMethodsRunner.java:35) >>> at >>> org.junit.internal.runners.TestClassRunner$1.runUnprotected(Te >>> stClassRunner.java:42) >>> at >>> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(B >>> eforeAndAfterRunner.java:34) >>> at >>> org.junit.internal.runners.TestClassRunner.run(TestClassRunner >>> .java:52) >>> at >>> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4T >>> estSet.java:62) >>> at >>> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.exe >>> cuteTestSet(AbstractDirectoryTestSuite.java:138) >>> at >>> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.exe >>> cute(AbstractDirectoryTestSuite.java:125) >>> at org.apache.maven.surefire.Surefire.run(Surefire.java:132) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>> Method) at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess >>> orImpl.java:39) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth >>> odAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:585) >>> at >>> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInPro >>> cess(SurefireBooter.java:290) >>> at >>> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireB >>> ooter.java:818) >>> =20 >> ---------------------------- >> IONA Technologies PLC (registered in Ireland) >> Registered Number: 171387 >> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, >> Ireland >> =20 > > =20 ------_=_NextPart_001_01C7A914.77F199F4--