RasaHQ / rasa

💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants
https://rasa.com/docs/rasa/
Apache License 2.0
18.92k stars 4.63k forks source link

Latest version freezes when trying to run actions server #4971

Closed samscudder closed 4 years ago

samscudder commented 4 years ago

Rasa version: 1.5.3

Rasa SDK version (if used & relevant): 1.5.2

Python version: 3.6.9 (Anaconda)

Operating system (windows, osx, ...): RHEL 7 (CentOs) - Running on a Dell XPS i7 with 16Gb RAM

Issue: When I issue "rasa run actions", I get a list of functions, but no line stating that the action server is runner on port 5055. If I try and access the action endpoint, it timeouts. The last version I tested where it ran correctly was 1.4.6 (Python 3.6.9)

Error (including full traceback): No error message... The computer just freezes. Ctrl-C interrupts the script.

$ rasa run actions --debug
2019-12-13 09:22:37 INFO     rasa_sdk.endpoint  - Starting action endpoint server...
2019-12-13 09:22:37 INFO     rasa_sdk.executor  - Registered function for 'action_get_valor_registro'.
2019-12-13 09:22:37 INFO     rasa_sdk.executor  - Registered function for 'action_get_valor_averbacao'.
2019-12-13 09:22:37 INFO     rasa_sdk.executor  - Registered function for 'action_get_cartorio_registral'.
2019-12-13 09:22:37 INFO     rasa_sdk.executor  - Registered function for 'action_saudacao'.
2019-12-13 09:22:37 INFO     rasa_sdk.executor  - Registered function for 'registro_form'.
2019-12-13 09:22:37 INFO     rasa_sdk.executor  - Registered function for 'averbacao_form'.
2019-12-13 09:22:37 INFO     rasa_sdk.executor  - Registered function for 'cartorio_form'.
2019-12-13 09:22:37 DEBUG    rasa_sdk.utils  - Using the default number of Sanic workers (1).

This is the last message that appears until Ctrl-C is entered. When I press Ctrl-C, I just get a ^C and prompt. No traceback.

Here's the output from top, ordered by PID descending:

top - 09:37:11 up 2 days, 31 min,  3 users,  load average: 0,00, 0,01, 0,12
Tasks: 286 total,   1 running, 285 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,0 us,  0,1 sy,  0,0 ni, 99,8 id,  0,1 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem : 16214800 total,  4038896 free,  1476516 used, 10699388 buff/cache
KiB Swap:  8191996 total,  8191996 free,        0 used. 13883652 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
32004 root      20   0       0      0      0 S   0,0  0,0   0:00.17 kworker/u16:1
30612 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/7:2
30490 root      20   0       0      0      0 S   0,0  0,0   0:01.60 kworker/3:2
25633 root      20   0       0      0      0 S   0,0  0,0   0:00.71 kworker/5:0
25622 root      20   0       0      0      0 S   0,0  0,0   0:00.65 kworker/1:1
23666 root      20   0       0      0      0 S   0,0  0,0   0:02.81 kworker/7:0
23648 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/2:2
21771 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/2:0
21770 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/4:0
21769 root      20   0  107956    348    280 S   0,0  0,0   0:00.00 sleep
21752 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/7:1
21735 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/3:3
21718 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/0:1
21717 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/2:1
21711 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/4:2
21698 xxxxxx    20   0 1992720 257996  79124 S   0,0  1,6   0:02.07 rasa
21406 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kworker/5:1
20325 xxxxxx    20   0  162316   2568   1612 R   0,7  0,0   0:01.86 top

Command or request that led to error:

rasa run actions --debug

Content of configuration file (config.yml) (if relevant):

Content of domain file (domain.yml) (if relevant):

samscudder commented 4 years ago

output of pip list:

Package                            Version
---------------------------------- -------------------
absl-py                            0.8.1
aiofiles                           0.4.0
aiohttp                            3.6.2
alabaster                          0.7.12
anaconda-client                    1.7.2
anaconda-project                   0.8.3
APScheduler                        3.6.3
argh                               0.26.2
asn1crypto                         1.2.0
astor                              0.8.1
astroid                            2.3.3
astropy                            3.2.3
async-generator                    1.10
async-timeout                      3.0.1
atomicwrites                       1.3.0
attrs                              19.3.0
autopep8                           1.4.4
Babel                              2.7.0
backcall                           0.1.0
backports.os                       0.1.1
backports.shutil-get-terminal-size 1.0.0
beautifulsoup4                     4.8.1
bitarray                           1.1.0
bkcharts                           0.2
bleach                             3.1.0
blis                               0.2.4
bokeh                              1.4.0
boto                               2.49.0
boto3                              1.10.36
botocore                           1.13.36
Bottleneck                         1.3.1
bz2file                            0.98
cachetools                         3.1.1
certifi                            2019.11.28
cffi                               1.13.2
chardet                            3.0.4
Click                              7.0
cloudpickle                        1.2.2
clyent                             1.2.2
colorama                           0.4.1
colorclass                         2.2.0
coloredlogs                        10.0
colorhash                          1.0.2
ConfigArgParse                     0.15.2
configparser                       4.0.2
contextlib2                        0.6.0.post1
cryptography                       2.8
cycler                             0.10.0
cymem                              2.0.3
Cython                             0.29.14
cytoolz                            0.10.1
dask                               2.9.0
decorator                          4.4.1
defusedxml                         0.6.0
diff-match-patch                   20181111
dill                               0.3.1.1
distributed                        2.9.0
dnspython                          1.16.0
docopt                             0.6.2
docutils                           0.15.2
dopamine-rl                        2.0.5
entrypoints                        0.3
et-xmlfile                         1.0.1
fastcache                          1.1.0
fbmessenger                        6.0.0
flake8                             3.7.9
Flask                              1.1.1
fsspec                             0.6.0
future                             0.18.2
gast                               0.2.2
gevent                             1.4.0
gin-config                         0.2.1
gmpy2                              2.0.8
google-api-python-client           1.7.11
google-auth                        1.8.1
google-auth-httplib2               0.0.3
google-pasta                       0.1.8
googleapis-common-protos           1.6.0
greenlet                           0.4.15
grpcio                             1.25.0
gunicorn                           20.0.4
gym                                0.15.4
h11                                0.8.1
h2                                 3.1.1
h5py                               2.9.0
HeapDict                           1.0.1
hpack                              3.0.0
html5lib                           1.0.1
httpcore                           0.3.0
httplib2                           0.14.0
httptools                          0.0.13
humanfriendly                      4.18
hyperframe                         5.2.0
idna                               2.8
idna-ssl                           1.1.0
imageio                            2.6.1
imagesize                          1.1.0
importlib-metadata                 1.2.0
intervaltree                       3.0.2
ipykernel                          5.1.3
ipython                            7.10.1
ipython-genutils                   0.2.0
ipywidgets                         7.5.1
isort                              4.3.21
itsdangerous                       1.1.0
jdcal                              1.4.1
jedi                               0.14.1
jeepney                            0.4.1
Jinja2                             2.10.3
jmespath                           0.9.4
joblib                             0.14.0
json5                              0.8.5
jsonpickle                         1.2
jsonschema                         3.2.0
jupyter                            1.0.0
jupyter-client                     5.3.4
jupyter-console                    5.2.0
jupyter-core                       4.6.1
jupyterlab                         1.2.3
jupyterlab-server                  1.0.6
kafka-python                       1.4.7
Keras                              2.3.1
Keras-Applications                 1.0.8
Keras-Preprocessing                1.1.0
keyring                            19.2.0
kfac                               0.2.0
kiwisolver                         1.1.0
lazy-object-proxy                  1.4.3
llvmlite                           0.30.0
locket                             0.2.0
lxml                               4.4.2
Markdown                           3.1.1
MarkupSafe                         1.1.1
matplotlib                         3.1.1
mattermostwrapper                  2.1
mccabe                             0.6.1
mesh-tensorflow                    0.1.7
mistune                            0.8.4
mkl-fft                            1.0.15
mkl-random                         1.1.0
mkl-service                        2.3.0
mock                               3.0.5
more-itertools                     7.2.0
mpmath                             1.1.0
msgpack                            0.6.1
multidict                          4.6.1
multipledispatch                   0.6.0
murmurhash                         1.0.2
nbconvert                          5.6.1
nbformat                           4.4.0
networkx                           2.3
nltk                               3.4.5
nose                               1.3.7
notebook                           6.0.2
numba                              0.46.0
numexpr                            2.7.0
numpy                              1.17.4
numpydoc                           0.9.1
oauth2client                       4.1.3
olefile                            0.46
opencv-python                      4.1.2.30
openpyxl                           3.0.2
opt-einsum                         3.1.0
packaging                          19.2
pandas                             0.24.0
pandocfilters                      1.4.2
parso                              0.5.1
partd                              1.1.0
path.py                            12.0.2
pathlib2                           2.3.5
pathtools                          0.1.2
patsy                              0.5.1
pep8                               1.7.1
pexpect                            4.7.0
pickleshare                        0.7.5
pika                               1.0.1
Pillow                             6.2.1
pip                                19.3.1
plac                               0.9.6
pluggy                             0.13.1
ply                                3.11
preshed                            2.0.1
prometheus-client                  0.7.1
promise                            2.2.1
prompt-toolkit                     2.0.10
protobuf                           3.11.1
psutil                             5.6.7
pt-core-news-sm                    2.1.0
ptyprocess                         0.6.0
py                                 1.8.0
pyasn1                             0.4.8
pyasn1-modules                     0.2.7
pycodestyle                        2.5.0
pycosat                            0.6.3
pycparser                          2.19
pycrypto                           2.6.1
pycurl                             7.43.0.3
pydocstyle                         4.0.1
pydot                              1.4.1
pyflakes                           2.1.1
pyglet                             1.3.2
Pygments                           2.5.2
PyJWT                              1.7.1
pykwalify                          1.7.0
pylint                             2.4.4
pymongo                            3.10.0
Pympler                            0.7
pyodbc                             4.0.27
pyOpenSSL                          19.1.0
pyparsing                          2.4.5
pypng                              0.0.20
pyrsistent                         0.15.6
PySocks                            1.7.1
pytest                             5.3.1
pytest-arraydiff                   0.3
pytest-astropy                     0.6.0
pytest-astropy-header              0.1.1
pytest-doctestplus                 0.5.0
pytest-openfiles                   0.4.0
pytest-remotedata                  0.3.2
python-crfsuite                    0.9.6
python-dateutil                    2.8.1
python-engineio                    3.11.1
python-jsonrpc-server              0.3.2
python-language-server             0.31.2
python-socketio                    4.4.0
python-telegram-bot                11.1.0
pytz                               2019.3
PyWavelets                         1.1.1
pyxdg                              0.26
PyYAML                             5.1.2
pyzmq                              18.1.0
QDarkStyle                         2.7
QtAwesome                          0.6.0
qtconsole                          4.6.0
QtPy                               1.9.0
questionary                        1.4.0
rasa                               1.5.3
rasa-sdk                           1.5.2
redis                              3.3.11
requests                           2.22.0
requests-async                     0.5.0
requests-toolbelt                  0.9.1
rfc3986                            1.3.2
rocketchat-API                     0.6.36
rope                               0.14.0
rsa                                4.0
Rtree                              0.8.3
ruamel-yaml                        0.15.46
ruamel.yaml                        0.15.100
s3transfer                         0.2.1
sanic                              19.9.0
Sanic-Cors                         0.9.9.post1
sanic-jwt                          1.3.2
Sanic-Plugins-Framework            0.8.2
scikit-image                       0.15.0
scikit-learn                       0.20.4
scipy                              1.3.2
seaborn                            0.9.0
SecretStorage                      3.1.1
Send2Trash                         1.5.0
setuptools                         42.0.2.post20191203
simplegeneric                      0.8.1
simplejson                         3.17.0
singledispatch                     3.4.0.3
six                                1.13.0
sklearn-crfsuite                   0.3.6
slackclient                        1.3.2
snowballstemmer                    2.0.0
sortedcollections                  1.1.2
sortedcontainers                   2.1.0
soupsieve                          1.9.5
spacy                              2.1.9
Sphinx                             2.2.2
sphinxcontrib-applehelp            1.0.1
sphinxcontrib-devhelp              1.0.1
sphinxcontrib-htmlhelp             1.0.2
sphinxcontrib-jsmath               1.0.1
sphinxcontrib-qthelp               1.0.2
sphinxcontrib-serializinghtml      1.1.3
sphinxcontrib-websupport           1.1.2
spyder                             4.0.0
spyder-kernels                     1.8.1
SQLAlchemy                         1.3.11
srsly                              0.2.0
statsmodels                        0.10.1
sympy                              1.4
tables                             3.6.1
tabulate                           0.8.6
tblib                              1.5.0
tensor2tensor                      1.14.1
tensorboard                        1.15.0
tensorflow                         1.15.0
tensorflow-datasets                1.3.2
tensorflow-estimator               1.15.1
tensorflow-gan                     2.0.0
tensorflow-hub                     0.7.0
tensorflow-metadata                0.15.1
tensorflow-probability             0.7.0
termcolor                          1.1.0
terminado                          0.8.3
terminaltables                     3.1.0
testpath                           0.4.4
thinc                              7.0.8
toolz                              0.10.0
tornado                            6.0.3
tqdm                               4.40.2
traitlets                          4.3.3
twilio                             6.34.0
typed-ast                          1.4.0
typing-extensions                  3.7.4.1
tzlocal                            2.0.0
ujson                              1.35
unicodecsv                         0.14.1
uritemplate                        3.0.0
urllib3                            1.25.7
uvloop                             0.14.0
wasabi                             0.4.2
watchdog                           0.9.0
wcwidth                            0.1.7
webencodings                       0.5.1
webexteamssdk                      1.2
websocket-client                   0.54.0
websockets                         8.1
Werkzeug                           0.16.0
wheel                              0.33.6
widgetsnbextension                 3.5.1
wrapt                              1.11.2
wurlitzer                          2.0.0
xlrd                               1.2.0
XlsxWriter                         1.2.6
xlwt                               1.3.0
yapf                               0.28.0
yarl                               1.4.2
zict                               1.0.0
zipp                               0.6.0
sara-tagger commented 4 years ago

Thanks for raising this issue, @wochinge will get back to you about it soon✨

Please also check out the docs and the forum in case your issue was raised there too 🤗
wochinge commented 4 years ago

Hi @samscudder ,

unfortunately I cannot reproduce the error. Can you maybe share your action file (or a minimal example which produces the error)?

samscudder commented 4 years ago

No matter what is in the actions.py, I don't get the

 INFO     rasa_sdk.endpoint  - Action endpoint is up and running on http ('0.0.0.0', 5055)

message. I took my actions file and started removing stuff to see if it would start. I ended up with just the "Hello World" example. Here's a file that fails:

from datetime import datetime, timedelta
from typing import Any, Text, Dict, List, Union

from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from rasa_sdk.forms import FormAction

class ActionHelloWorld(Action):

    def name(self) -> Text:
        return "action_hello_world"

    def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

        dispatcher.utter_message("Hello World!")

        return []

This is a newly installed CentOS 7 machine. SELinux is permissive. Here's the (pertinent) installation commands I ran (from history):

    6  sudo yum install curl
    7  cd ~/Downloads/
    8  curl -O https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
    9  sha256sum Anaconda3-2019.10-Linux-x86_64.sh
   10  bash Anaconda3-2019.10-Linux-x86_64.sh
   11  conda update conda
   12  source ~/.bashrc
   13  conda update conda
   14  sudo yum install gcc
   15  sudo mkdir /opt/Chat
   16  cd /opt/Chat
   17  conda create -n Chat python=3.6.9 anaconda
   18  conda activate Chat
   19  python --version
   20  pip install rasa[spacy]
   21  pip install pandas==0.24
   22  pip install keras
   23  python
   24  python -m spacy download pt_core_news_sm
   25  python -m spacy link pt_core_news_sm pt --force

Then I loaded the spacy file, installed MongoDB, configparser, requests and simplejson. Uploaded my models and scripts from another machine, ran training (rasa train --force) and from the onset, rasa run actions wasn't working.

erohmensing commented 4 years ago

It seems like that log was removed: https://github.com/RasaHQ/rasa-sdk/commit/755ef54bf60b74061f5ae7d7e36a76cbf3de219d

which is why you're not seeing it. If you like, you can create a PR to bring it back. Have you tried to check whether the action server is actually running? if you run it on debug mode do you see it receiving calls to the actions?

samscudder commented 4 years ago

Hey Ella!... Thanks for the update.

I ran the actions server, and it is responding. I used the hello world to test it. In debug mode I can see it receiving calls and responding.

I don't think that message should have been removed. The message saying that the server has started is a lot more important than saying that it is going to start (which was left in). Removing a message like that could break a whole load of user watchdog processes that check to see if it is up and running, and I don't remember seeing this in the release notes.

Sorry I'm a bit of a noob here and have no idea what's the right way to create a PR.

Thanks again!

YunLovesCode commented 4 years ago

Hi @samscudder, I have encountered the same problem as you. I tried many ways but failed. I'm wondering if you found a solution? Thanks!

samscudder commented 4 years ago

It was just a log message that was removed in Rasa 1.5. The action server was runnning and responding correctly.

YunLovesCode commented 4 years ago

It was just a log message that was removed in Rasa 1.5. The action server was runnning and responding correctly. Okay, thanks!