Project

General

Profile

Bug #6676

External Execution actors generates exception for empty directory

Added by Daniel Crawl almost 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
actors
Target version:
Start date:
02/27/2015
Due date:
% Done:

100%

Estimated time:
Spent time:
Bugzilla-Id:

Description

If the directory parameter is empty for the External Execution actor, a NullPointerException is generated:

java.lang.NullPointerException
at ptolemy.actor.lib.Exec._exec(Exec.java:516)
at ptolemy.actor.lib.Exec.fire(Exec.java:337)
at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:496)

It would be better to default to user.dir or throw an exception saying directory must be specified.

History

#1 Updated by Christopher Brooks almost 4 years ago

  • % Done changed from 0 to 90

This is fixed.

ptolemy.actor.lib.Exec invokes java.lang.Runtime.exec(), which takes as its last argument the directory. The Javadoc for Runtime.exec() state that if the directory is null, then the current directory of the parent process is used.

I fixed up Exec.java to handle the directory being the empty string, which means that a null gets passed to Runtime.exec().

I updated the documentation for the class and changed ptolemy/actor/lib/test/auto/Exec.xml so that the directory parameter is the empty string, which tickles this bug.

This bug may be closed after someone else confirms that it is fixed.

#2 Updated by Daniel Crawl almost 4 years ago

  • Status changed from New to Resolved
  • % Done changed from 90 to 100

I verified it's fixed. Thanks, Christopher.

Also available in: Atom PDF