JShipley Report post Posted 01/13/2016 02:02 PM We have run into an issue where the run module returns a fail when it should return a success. The run module is set to wait for program to finish. The program details are as follows: c:\sox-14-3-2\sox.exe c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 The program simply takes a wav file and converts it to mp3. The sox program being called executes successfully and creates the mp3 file. So we added the result file at the end of the command giving us this: c:\sox-14-3-2\sox.exe c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 > "c:\program files\voiceguide\data\VGRUNRESULT_$RV_LINEID.TXT" this results in a timeout. With no VGRUNRESULT being created. We also have a php script that we call like so: c:\php\php.exe c:\voicescripts\it-msg-rpc\vm-ticket-req.php $RV_LINEID this php creates a file named VGRUNRESULT_$RV_LINEID.TXT in voiceguide\data that contains [variable]{12345}. This still results in the timeout path being taken. Why is the run module not returning success? log.zip Share this post Link to post
SupportTeam Report post Posted 01/13/2016 05:46 PM VGRUNRESULT file is something that can optionally be created by the ran program to return information/results back to VoiceGuide afterwards. It is not however necessary that any information/results be returned to VoiceGuide from a ran program. Starting the program and then letting the module take the 'fail' path afterwards is fine. The 'fail' path does not necessarily mean that something went wrong with the running of the program, just that no 'results' were returned. Trace shows that when sox.exe is called the system is not able to detect that program stopped running, and eventually a timeout path is taken. Not sure why the system would not detect the end of process running. Can you try to run the sox.exe without the redirect ( the '>' ) at the end? ie. make the command line just: c:\sox-14-3-2\sox.exe c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 or: command.com /c c:\sox-14-3-2\sox.exe c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 sox.exe output would not be in format expected by VoiceGuide anyway. (What is the output of c:\sox-14-3-2\sox.exe c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 when it is ran from a normal Windows cmd.exe window?) The Run Program module does not have to take a 'Success' path afterwards. The Run Program module starts the command line and taking a 'Fail' path afterwards does not mean that the ran program did not function, it just means that the ran program did not return explicit results using either the COM/WCF interfaces or the result file. Also if the outcome of the ran program is not needed immediately by the VoiceGuide script then there is usually not need to make the script wait for that ran program to complete. 155801.697 7 3 1 state [RunThis] Run Program 155801.697 7 3 1 rv replace start [c:\sox-14-3-2\sox.exe c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 > VGRUNRESULT_$RV_LINEID.TXT] 155801.698 7 3 1 rv replace end [c:\sox-14-3-2\sox.exe c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 > VGRUNRESULT_3.TXT] 155801.701 7 3 1 File.Exists(c:\sox-14-3-2\sox.exe) is true 155801.701 7 3 1 running program=[c:\sox-14-3-2\sox.exe], arguments=[c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 > VGRUNRESULT_3.TXT], windowStyle=Hide, timeout=1 155801.703 7 3 1 ShellExe start [c:\sox-14-3-2\sox.exe][c:\vgtemp\it_msg\1.wav c:\vgtemp\it_msg\1.mp3 > VGRUNRESULT_3.TXT] 155801.706 7 3 1 Run Program waiting... (processHandle=5512, pid=5328) ... 155812.421 4 3 1 timer EV_TIMEOUT_CHECKONSTATE 155812.421 4 3 1 q_scr + evScriptEvent 9007 EV_TIMEOUT_CHECKONSTATE 155812.421 7 3 1 q_scr run evScriptEvent sCode=[EV_TIMEOUT_CHECKONSTATE] iActionID=0, crn=0 [0|0|0|0|0][|||||] 00:00:00 max:2|00:00:00.0230023 155812.421 7 3 1 se EV_TIMEOUT_CHECKONSTATE 9007 0|0|0 || LineState=LS_RUN_WAITTILLFINISHED 155812.421 7 3 1 LsRunWaitTillFinished EV_TIMEOUT_CHECKONSTATE lCode2Str=EV_TIMEOUT_CHECKONSTATE 155812.421 7 3 1 IsProcessRunning sModuleClearScriptProcessWasCalledFrom=TAG_RESERVERD_VoiceGuide_ClearScript_Completed, CurrModuleTitle=RunThis 155812.421 7 3 1 LsRunWaitTillFinished: process still running 155812.426 7 3 1 ERROR v7.4.5614.28656 (16-May-15 14:55:11.73) LsRunWaitTillFinished (timeout) objVbsOrExeProcess.Kill : Process has exited, so the requested information is not available. Share this post Link to post
SupportTeam Report post Posted 01/14/2016 12:33 AM Can you please advise if the Windows 7 installed on this machine is the stock standard version, or whether it is different in any way to the standard Windows 7 install ? Have any changes been made to it afterwards? Has any anti-virus type software been installed on this system? Share this post Link to post