Skip to content
This repository has been archived by the owner on Aug 13, 2020. It is now read-only.

Unknown actor type #114

Open
garagon0983 opened this issue Mar 2, 2019 · 1 comment
Open

Unknown actor type #114

garagon0983 opened this issue Mar 2, 2019 · 1 comment

Comments

@garagon0983
Copy link

Hi,
after cscontrol http://ip_address:5001 deploy conn_JADE.calvin . I receive
400
u'{"errors": [{"reason": "Unknown actor type: 'connJADE.redeployer_trigger'", "type": "error", "line": 2, "col": 1}], "warnings": [{"reason": "Not validating actor type: 'connJADE.redeployer_trigger'", "type": "warning", "line": 2, "col": 1}]}'
OK
/home/pi/Ist

and in csruntime -n ip_address logs I get:
Generating LALR tables
WARNING: 1 shift/reduce conflict
2019-03-02 00:00:55,223 ERROR 7378-calvin.calvin.runtime.north.control_apis.application_api: Compilation failed
None

My conn_JADE.calvin file is:
deployer : connJADE.Redeployer_IntEEMS_Init()
trigger : connJADE.redeployer_trigger()

trigger.trig > deployer.receive

jade : connJADE.JADE_listener(ip="134.130.169.38",port=6645,NumData=2)
term : flow.Terminator()

jade.data_out1 > term.void

connJADE.zip
connJADE.zip

What is the problem?

@persquare
Copy link
Contributor

OK, so the error says the compiler doesn't know about the connJADE.redeployer_trigger

There could be three reasons for this:

  • it couldn't find connJADE.redeployer_trigger in calvin/actors/systemactors/connJADE/redeployer_trigger.py (that's the default location unless you have appended the system config)
  • the actor class is not named redeployer_trigger (i.e. same as the file it's defined in)
  • there is a syntax error in redeployer_trigger.py, test by simply cd into calvin/actors/systemactors/connJADE, start python from the command line and try import redeployer_trigger

Looking at the redeployer_trigger.py I can't see anything that should prevent it from being compiled, so let's assume for now that the problem is that it can't be found.

If you start csruntime with --loglevel DEBUG the system config will be printed out. Have a look at the output and look for the actor_paths value; that is where the system will look for actors.

If you have a local config file pointing to your actors, examine the config paths output to verify that the system is picking up your changes.

Also note that you must restart the runtime for a new or changed actor to be picked up.

Hope this helps,
/Per

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants