commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SANDBOX-231) Failing Tests
Date Wed, 23 Jul 2008 13:53:31 GMT

    [ https://issues.apache.org/jira/browse/SANDBOX-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12616019#action_12616019
] 

Sebb commented on SANDBOX-231:
------------------------------

In the patch dated 2008-07-23 02:26 AM, the workerSuspended boolean needs to be made volatile,
as the accesses are from different threads.

Also, surely the currentTimeMillis field should be protected using the same synchronize target
each time ?
At present the new code uses SystemClockImpl.class and the original uses ThreadClockImpl.class.

Also the wait is on the run() instance, whereas the notify is applied to a potentially different
instance.
The quoted Sun artice recommends using Thread.interrupt() - it's not clear why wait/notify
are used instead.

> Failing Tests
> -------------
>
>                 Key: SANDBOX-231
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-231
>             Project: Commons Sandbox
>          Issue Type: Bug
>          Components: Id
>            Reporter: Donal Murtagh
>            Priority: Critical
>         Attachments: ThreadClockImpl_jdk6.patch
>
>
> I downloaded the HEAD of SVN, ran the tests and I get three failures (appended to end
of message). Is there a more stable version that I can download/build?
> org.apache.commons.id.uuid.state.NodeTest
> testNodebyteArray(org.apache.commons.id.uuid.state.NodeTest)
> java.lang.IllegalThreadStateException
> 	at java.lang.Thread.start(Thread.java:571)
> 	at org.apache.commons.id.uuid.clock.ThreadClockImpl.getUUIDTime(ThreadClockImpl.java:174)
> 	at org.apache.commons.id.uuid.state.Node.getUUIDTime(Node.java:116)
> 	at org.apache.commons.id.uuid.state.NodeTest.testNodebyteArray(NodeTest.java:63)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> testGetUUIDTime(org.apache.commons.id.uuid.state.NodeTest)
> java.lang.IllegalThreadStateException
> 	at java.lang.Thread.start(Thread.java:571)
> 	at org.apache.commons.id.uuid.clock.ThreadClockImpl.getUUIDTime(ThreadClockImpl.java:174)
> 	at org.apache.commons.id.uuid.state.Node.getUUIDTime(Node.java:116)
> 	at org.apache.commons.id.uuid.state.NodeTest.testGetUUIDTime(NodeTest.java:104)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> testGetLastTimestamp(org.apache.commons.id.uuid.state.NodeTest)
> java.lang.IllegalThreadStateException
> 	at java.lang.Thread.start(Thread.java:571)
> 	at org.apache.commons.id.uuid.clock.ThreadClockImpl.getUUIDTime(ThreadClockImpl.java:174)
> 	at org.apache.commons.id.uuid.state.Node.getUUIDTime(Node.java:116)
> 	at org.apache.commons.id.uuid.state.NodeTest.testGetLastTimestamp(NodeTest.java:129)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message