[ 
https://issues.apache.org/jira/browse/DERBY-5490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-5490:
---------------------------------

    Attachment: derby-5490-01-aa-fixForMac.diff

Attaching derby-5490-01-aa-fixForMac.diff. With this patch SecureServerTest 
runs cleanly for me on my Mac on JDKs 6 and 7. Committed at subversion revision 
1197563.

The problem is that the pathname of my JDK 7 executable contains spaces. 
Because of the way that the server process is spawned, those spaces are 
interpreted as argument separators. I fixed this by replacing the java 
executable name with just "java" if the executable name contains spaces and you 
are running on Mac OS X. If people are experiencing this problem on other 
platforms, we could consider removing the Mac OS X check. I am reluctant to 
attempt a more general solution for fear that this may break something that 
doesn't need fixing in other developers' environments.

I will leave this issue open until the next time I run full regression tests on 
JDK 7.

Touches the following file:

M       java/testing/org/apache/derbyTesting/junit/BaseTestCase.java

                
> Lots of error trying to spawn a JVM in the SecureServerTest and Replication 
> tests when running on the preview JDK 7 on Mac OS X
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5490
>                 URL: https://issues.apache.org/jira/browse/DERBY-5490
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>         Environment: OpenJDK Runtime Environment (build 1.7.0-ea-b213) on Mac 
> OS X 10.7
>            Reporter: Rick Hillegas
>         Attachments: derby-5490-01-aa-fixForMac.diff
>
>
> I see lots of errors when the tests try to spawn a JVM while running on the 
> OpenJDK 7 preview for Mac OS X.
> SecureServerTest runs cleanly when I use JDK 6. But I see lots of these 
> errors when I use JDK 7:
> .java.io.IOException: Cannot run program 
> "/Library/Java/JavaVirtualMachines/JDK": error=2, No such file or directory
>       at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
>       at java.lang.Runtime.exec(Runtime.java:615)
>       at java.lang.Runtime.exec(Runtime.java:448)
>       at java.lang.Runtime.exec(Runtime.java:345)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest$1.run(SecureServerTest.java:487)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest.runServerCommand(SecureServerTest.java:479)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest.runsysinfo(SecureServerTest.java:415)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest.testServerStartup(SecureServerTest.java:356)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:601)
>       at junit.framework.TestCase.runTest(TestCase.java:164)
>       at junit.framework.TestCase.runBare(TestCase.java:130)
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:116)
>       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:120)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at 
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at junit.framework.TestSuite.runTest(TestSuite.java:230)
>       at junit.framework.TestSuite.run(TestSuite.java:225)
>       at junit.textui.TestRunner.doRun(TestRunner.java:121)
>       at junit.textui.TestRunner.start(TestRunner.java:185)
>       at junit.textui.TestRunner.main(TestRunner.java:143)
> Caused by: java.io.IOException: error=2, No such file or directory
>       at java.lang.UNIXProcess.forkAndExec(Native Method)
>       at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
>       at java.lang.ProcessImpl.start(ProcessImpl.java:130)
>       at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
>       ... 41 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to