[kepler-dev] [Bug 5460] New: Mac OS X: Matlab Actors fail in Kepler.app

bugzilla-daemon at ecoinformatics.org bugzilla-daemon at ecoinformatics.org
Sun Aug 14 11:25:13 PDT 2011


http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5460

           Summary: Mac OS X: Matlab Actors fail in Kepler.app
           Product: Kepler
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X 10.6.x
            Status: NEW
          Severity: normal
          Priority: P2
         Component: actors
        AssignedTo: david.v.welker at gmail.com
        ReportedBy: cxh at eecs.berkeley.edu
         QAContact: kepler-dev at kepler-project.org
   Estimated Hours: 0.0


Models that use the Matlab interface fail when started under Mac OS X 
by double clicking on Kepler.app.

This is a new Mac running Mac OS X 10.7.

I had to make some changes to Matlab interface, these should be folded
into the Kepler-2.3 tree.

The problem is that in the devel tree, 
ant run-only was failing with:

ptolemy.kernel.util.IllegalActionException: .MatlabExpression.MatlabExpression:
ptolemy.kernel.util.IllegalActionException: Token 0.0 is of type double
  in .MatlabExpression.MatlabExpression
Because:
.MatlabExpression.MatlabExpression: ptolemy.kernel.util.IllegalActionException:
Token 0.0 is of type double
    at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:500)
    at
ptolemy.actor.sched.StaticSchedulingDirector.fire(StaticSchedulingDirector.java:188)
    at ptolemy.actor.CompositeActor.fire(CompositeActor.java:458)
    at ptolemy.actor.Manager.iterate(Manager.java:742)
    at ptolemy.actor.Manager.execute(Manager.java:351)
    at ptolemy.actor.Manager.run(Manager.java:1111)
    at ptolemy.actor.Manager$PtolemyRunThread.run(Manager.java:1641)
Caused by: ptolemy.kernel.util.IllegalActionException:
.MatlabExpression.MatlabExpression: ptolemy.kernel.util.IllegalActionException:
Token 0.0 is of type double
    at ptolemy.matlab.Expression.fire(Expression.java:436)
    at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:461)
    ... 6 more
Caused by: ptolemy.kernel.util.IllegalActionException:
.MatlabExpression.MatlabExpression: ptolemy.kernel.util.IllegalActionException:
Token 0.0 is of type double
    at ptolemy.matlab.Expression.fire(Expression.java:436)
    at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:461)
    at
ptolemy.actor.sched.StaticSchedulingDirector.fire(StaticSchedulingDirector.java:188)
    at ptolemy.actor.CompositeActor.fire(CompositeActor.java:458)
    at ptolemy.actor.Manager.iterate(Manager.java:742)
    at ptolemy.actor.Manager.execute(Manager.java:351)
    at ptolemy.actor.Manager.run(Manager.java:1111)
    at ptolemy.actor.Manager$PtolemyRunThread.run(Manager.java:1641)


I fixed this in

New Revision: 61797

Modified:
   trunk/ptolemy/matlab/Engine.java
   trunk/ptolemy/matlab/Expression.java
Log:
Better error messages if time and iteration cannot be set.  Properly handle
DoubleToken and IntToken in Engine.put().  It is a mystery as to why this bug
did appear before.

However, with Kepler-2.3 rc1, I'm not even getting that far.
When I run the SDF MatlabExpression model, I get:

ptolemy.kernel.util.IllegalActionException: matlabEngine.open(null) : can't
find Matlab engine. Try starting Matlab by hand as an application to verify
that Matlab is set up properly and the license is correct. Under Windows, try
running "matlab /regserver", the Matlab C API communicates with Matlab via COM,
and apparently the COM interface is not automatically registered when Matlab is
installed. Under Linux and other types of UNIX, csh must be installed in
/bin/csh.
    at ptolemy.matlab.Engine.open(Engine.java:280)
    at ptolemy.matlab.Engine.open(Engine.java:232)
    at ptolemy.matlab.Expression.preinitialize(Expression.java:303)
    at ptolemy.actor.Director.preinitialize(Director.java:1010)
    at ptolemy.actor.Director.preinitialize(Director.java:991)
    at
ptolemy.domains.sdf.kernel.SDFDirector.preinitialize(SDFDirector.java:647)
    at ptolemy.actor.CompositeActor.preinitialize(CompositeActor.java:1735)
    at ptolemy.actor.Manager.preinitializeAndResolveTypes(Manager.java:983)
    at ptolemy.actor.Manager.initialize(Manager.java:643)
    at ptolemy.actor.Manager.execute(Manager.java:340)
    at ptolemy.actor.Manager.run(Manager.java:1164)
    at ptolemy.actor.Manager$3.run(Manager.java:1217)



The Console application reports:

8/14/11 11:17:34.240 AM [0x0-0x156156].org.kepler.build.runner.Kepler:     
[null] matlab: Command not found.
8/14/11 11:17:34.241 AM [0x0-0x156156].org.kepler.build.runner.Kepler:     
[null] ptmatlabEngOpen:  failed!


However, the matlab directory is in my path, see
https://kepler-project.org/developers/teams/build/setting-up-mac-os-x-to-use-the-matlab-interface

-- 
Configure bugmail: http://bugzilla.ecoinformatics.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the Kepler-dev mailing list