Open-Systems-Pharmacology / QualificationRunner

Qualification runner in charge of managing a qualification workflow
Other
0 stars 1 forks source link

Version 9 cannot find PK-Sim #63

Closed PavelBal closed 4 years ago

PavelBal commented 4 years ago

WIth the nightly build (9.0.67) I get an error

fail: Qualification Runner[0] 
      PKSim.CLI.exe installation folder was not found. Ensure that PK-Sim was installed with the setup OR specify the --pksim option 

I have PK-Sim 8 installed and PK-Sim nightly as a portable. Do I need PK-Sim 9 installed for the ver.9 of the quilification runner?

I also tried to specify the path to PK-Sim 9 by

startQualificationRunner(qualificationRunnerFolder, qualificationPlan, REInput_path, '--pksim', '"c:\Program Files\Open Systems Pharmacology\PK-Sim 9.0\"');

But then I get the error

fail: Qualification Runner[0] Illegales Zeichen im Pfad.

  Stack trace: 
  bei System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) 
     bei System.IO.Path.Combine(String path1, String path2) 
     bei QualificationRunner.Core.QualificationRunnerConfiguration.getPKSimCLIPathFor(String pksimInstallationFolder) 
     bei QualificationRunner.Core.QualificationRunnerConfiguration.PKSimCLIPathFor(String pksimInstallationFolder) 
     bei QualificationRunner.Core.Services.QualificationEngine.<execute>d__8.MoveNext() 
  --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- 
     bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
     bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
     bei System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
     bei QualificationRunner.Core.Services.QualificationRunner.<RunBatchAsync>d__5.MoveNext() 
   --- End of inner exception stack trace --- 
     bei System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) 
     bei System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) 
     bei System.Threading.Tasks.Task.Wait() 
     bei QualificationRunner.Program.startCommand[TRunOptions](CLICommand`1 command) 

fail: Qualification Runner[0] Qualification Workflow failed

msevestre commented 4 years ago
startQualificationRunner(qualificationRunnerFolder, qualificationsPlan, REInput_path, '--pksim', '"c:\Program Files\Open Systems Pharmacology\PK-Sim 9.0\"')

what is this?

I have PK-Sim 8 installed and PK-Sim nightly as a portable. Do I need PK-Sim 9 installed for the ver.9 of the quilification runner?

Yes

the --pksim option

THis needs to be pass as an argument to the runner.

something like QualitifcationRunner.exe --pksim see QualitifcationRunner.exe --help for details

Yuri05 commented 4 years ago

ok, the problem is that -p (or --pksim) option cannot handle path in double quotes. Thus something like QualificationRunner ... -p "PathToPkSim" fails, but QualificationRunner ... -p PathToPkSim works (if PathToPkSim does not contain spaces).

@PavelBal So workaround is: save PK-Sim 9 in a folder without spaces and remove double quotes in the call.

Yuri05 commented 4 years ago

what is this?

This is this 😄

msevestre commented 4 years ago

ok. I am trying to never touch this matlab stuff ...like never ever

Yuri05 commented 4 years ago

yep.. but this is the bug in the QualiRunner indeed. Matlab just calls it with passed arguments.

msevestre commented 4 years ago

But why do you pass " and '? this looks weird to me. .net supports path with path without problems when using a CLI

Yuri05 commented 4 years ago

simple quotes are matlab string, double quotes are passed to the runner then. So the Runner is called like this: QualiRunner ... --pksim "c:\Program Files\Open Systems Pharmacology\PK-Sim 9.0\" And the problem are double quotes in the path following --pksim. (Probably the Runner does not remove them before appending PK-Sim.exe so that the path becomes something like "c:\Program Files\Open Systems Pharmacology\PK-Sim 9.0\"PK-Sim.exe)

PavelBal commented 4 years ago

Guys, you made my day :D

Yes, copying PK-Sim to a path without spaces works. Thank you @Yuri05 !

PavelBal commented 4 years ago

Obsolete.

Yuri05 commented 2 years ago

@msevestre was the problem with blanks in the path of PK-Sim portable and passing it in double quotes actually fixed? So would it work now if I call QualiRunner ... --pksim "c:\Path with blanks\PK-Sim\" ?