Workstation: Could not launch XLS file editor - Malformed argument has embedded quote

book

Article ID: 224388

calendar_today

Updated On:

Products

CA Application Test

Issue/Introduction

We have recently upgrade both Server and Workstation to version 10.6.  One of our end users contacted us saying that they are now getting errors when trying to open an XLS files from within workstation.

We can recreate the issue on multiple machines.

Here are the instructions we follow to reproduce the error:

  1. Open workstation and connect to the registry.
  2. Open the project and then open the Test Case
    1. Under Data Set, select Get Test Suite Data
    2. Select Open XLS File
    3. The XLS will open correct this time.
  3. Close Excel
  4. Select the Test and Keep Button 
    1. Test will complete successfully. (see picture: workstation2.jpg)
    2. Select OK
  5. Select the Open XLS File again.
    1. This time workstation will give error Message. (see picture: workstation3.jpg)
    2. Selecting Show more detail gives the following stack trace

java.io.IOException: Cannot run program "cmd" (in directory "."): Malformed argument has embedded quote: dummy" "C:/snapshotviews/repos/EHIQAA/ars_services/Tests/Data/ARS_TEST.xlsx

 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
 at java.lang.Runtime.exec(Runtime.java:620)
 at com.itko.lisa.utils.CommandLineExecNode.executeCmdLine(CommandLineExecNode.java:540)
 at com.itko.lisa.utils.CommandLineExecNode.executeCmdLine(CommandLineExecNode.java:452)
 at com.itko.lisa.utils.CommandLineExecNode.executeCmdLine(CommandLineExecNode.java:426)
 at com.itko.lisa.dynexec.dtodatasets.DTODataSetEditor.launchExcel(DTODataSetEditor.java:368)
 at com.itko.lisa.editor.ExcelDataSetEditor.openXLS(ExcelDataSetEditor.java:218)
 at com.itko.lisa.editor.ExcelDataSetEditor.access$000(ExcelDataSetEditor.java:40)
 at com.itko.lisa.editor.ExcelDataSetEditor$1.actionPerformed(ExcelDataSetEditor.java:176)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
 at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
 at java.awt.Component.processMouseEvent(Component.java:6539)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
 at java.awt.Component.processEvent(Component.java:6304)
 at java.awt.Container.processEvent(Container.java:2239)
 at java.awt.Component.dispatchEventImpl(Component.java:4889)
 at java.awt.Container.dispatchEventImpl(Container.java:2297)
 at java.awt.Component.dispatchEvent(Component.java:4711)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
 at java.awt.Container.dispatchEventImpl(Container.java:2283)
 at java.awt.Window.dispatchEventImpl(Window.java:2746)
 at java.awt.Component.dispatchEvent(Component.java:4711)
 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
 at java.awt.EventQueue.access$500(EventQueue.java:97)
 at java.awt.EventQueue$3.run(EventQueue.java:709)
 at java.awt.EventQueue$3.run(EventQueue.java:703)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
 at java.awt.EventQueue$4.run(EventQueue.java:733)
 at java.awt.EventQueue$4.run(EventQueue.java:731)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.IllegalArgumentException: Malformed argument has embedded quote: dummy" "C:/snapshotviews/repos/EHIQAA/ars_services/Tests/Data/ARS_TEST.xlsx
 at java.lang.ProcessImpl.needsEscaping(ProcessImpl.java:278)
 at java.lang.ProcessImpl.createCommandLine(ProcessImpl.java:201)
 at java.lang.ProcessImpl.<init>(ProcessImpl.java:436)
 at java.lang.ProcessImpl.start(ProcessImpl.java:139)
 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
 ... 45 more

 

If we close workstation and open it again, it will allow us to open XLS files again until the Test and Keep option is chosen again.

 

Cause

Defect

Environment

Release : 10.6

Component : DevTest Workstation

Resolution

Steps to fix issue:

1. Add the following property to LISA_HOME/bin/Workstation.vmoptions file

-Djdk.lang.Process.allowAmbiguousCommands=true

2. Re-Launch workstation

3. Repeat the failed case and it is resolved.