Git Product home page Git Product logo

Comments (3)

nzlosh avatar nzlosh commented on May 23, 2024

This error may be specifically related to the email.send_email pack since when I comment it out, the workflow runs correctly. I'll try to get more information.

from orquesta.

nzlosh avatar nzlosh commented on May 23, 2024

FYI environment is Ubuntu Bionc. st2 3.1.0, on Python 3.6.9

MongoDB shell version v4.0.14
git version: 1622021384533dade8b3c89ed3ecd80e1142c132
OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1804
    distarch: x86_64
    target_arch: x86_64

from orquesta.

nzlosh avatar nzlosh commented on May 23, 2024

Sorry, I just realised that I didn't provide the full exception, the first exception was raised while processing another exception. The full trace is as follows:

2020-01-20 06:55:53,317 140248351184592 ERROR (unknown file) [-] [5e254ef138b7e5701564ce3f] Failed action execution(s) for task "send_maintenance_finished", route "0". malformed node or string: <_ast.BinOp objec
t at 0x7f8e1d2054e0>
Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/util/casts.py", line 36, in _cast_object
    return json.loads(x)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/services/workflows.py", line 521, in request_task_execution
    request_action_execution(wf_ex_db, task_ex_db, st2_ctx, ac_ex_req, delay=ac_ex_delay)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 49, in wrapped_f
    return Retrying(*dargs, **dkw).call(f, *args, **kw)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 206, in call
    return attempt.get(self._wrap_exception)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 247, in get
    six.reraise(self.value[0], self.value[1], self.value[2])
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/six.py", line 693, in reraise
    raise value
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 200, in call
    attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 49, in wrapped_f
    return Retrying(*dargs, **dkw).call(f, *args, **kw)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 206, in call
    return attempt.get(self._wrap_exception)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 247, in get
    six.reraise(self.value[0], self.value[1], self.value[2])
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/six.py", line 693, in reraise
    raise value
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 200, in call
    attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/services/workflows.py", line 615, in request_action_execution
    ac_ex_ctx
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/util/param.py", line 312, in render_live_params
    live_params = _cast_params_from(params, context, [action_parameters, runner_parameters])
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/util/param.py", line 245, in _cast_params_from
    result[name] = _cast(context[name], param_schema)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/util/param.py", line 76, in _cast
    return cast(v)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/util/casts.py", line 38, in _cast_object
    return ast.literal_eval(x)
  File "/usr/lib/python3.6/ast.py", line 85, in literal_eval
    return _convert(node_or_string)
  File "/usr/lib/python3.6/ast.py", line 77, in _convert
    left = _convert(node.left)
  File "/usr/lib/python3.6/ast.py", line 84, in _convert
    raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.BinOp object at 0x7f8e1d2054e0>

I tested the same action being called using Action-Chain which produced the following error:

2020-01-20 11:05:04,399 139887214753032 ERROR (unknown file) [-] Failed to run action.
Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/util/casts.py", line 36, in _cast_object
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/models/utils/action_param_utils.py", line 129, in cast_params
    params[k] = cast(v)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/util/casts.py", line 38, in _cast_object
    LOG.critical("TOTO {} {}".format(type(x), x))
  File "/usr/lib/python3.6/ast.py", line 85, in literal_eval
    return _convert(node_or_string)
  File "/usr/lib/python3.6/ast.py", line 77, in _convert
    left = _convert(node.left)
  File "/usr/lib/python3.6/ast.py", line 84, in _convert
    raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.BinOp object at 0x7f3a07b07b00>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2actions/container/base.py", line 127, in _do_run
    (status, result, context) = runner.run(action_params)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/action_chain_runner/action_chain_runner.py", line 304, in run
    return self._run_chain(action_parameters)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/action_chain_runner/action_chain_runner.py", line 496, in _run_chain
    action_params=action_parameters, context_result=context_result)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/action_chain_runner/action_chain_runner.py", line 736, in _get_next_action
    parent_context=parent_context)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/action_chain_runner/action_chain_runner.py", line 796, in _build_liveaction_object
    params=resolved_params)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/models/utils/action_param_utils.py", line 135, in cast_params
    raise ValueError(msg)
ValueError: Failed to cast value "carlos@XXXXX" (type: str) for parameter "email_to" of type "array": malformed node or string: <_ast.BinOp object at 0x7f3a07b07b00>. Perhaps the value is of an invalid type?

The stack trace from the Action-Chain pin points the actual issue, which is an incorrect data type being provided to the action parameter.

From the action email.send_mail it is defined as an array type.

        "email_to": {
            "description": "Email addresses to send TO.",
            "required": true,
            "type": "array"
        },

from orquesta.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.