getParameterValues => Task name not recognized

I try execute task getParameterValues from API reference.

but it fail with message:
2019-09-12T09:54:12.136Z [ERROR] Uncaught exception; pid=1329 exceptionName="Error" exceptionMessage="Task name not recognized" exceptionStack="Error: Task name not recognized\n at nextRpc (/opt/genieacs/dist/bin/genieacs-cwmp:2:122374)\n at process._tickCallback (internal/process/next_tick.js:68:7)" 2019-09-12T09:54:12.151Z [ERROR] Worker died; pid=1329 exitCode=0

Same errors when I execute my command:
curl -i 'http://192.168.12.32:7557/devices/F48CEB-Router-QXNN1J1006025/tasks?timeout=3000&connection_request' -X POST --data '{ "name": "getParameterValues", "parameterNames": ["InternetGatewayDevice.LANDevice.1.WLANConfiguration"] }'

If it’s important I use docker image drumsergio/genieacs:1.2.0

Question: I’m doing something wrong or the problem is rather on the GenieACS side

I suspect you may have older tasks in the database with an invalid name.

@zaidka Thanks for reply. How can I verify if this is task name issue?

Hi,

I got the same error:

2020-05-25T19:35:51.550Z [ERROR] Uncaught exception; pid=79 exceptionName=“Error” exceptionMessage=“Task name not recognized” exceptionStack=“Error: Task name not recognized\n at nextRpc (/opt/genieacs/dist/bin/genieacs-cwmp:2:126385)\n at process._tickCallback (internal/process/next_tick.js:68:7)”
2020-05-25T19:35:51.616Z [ERROR] Worker died; pid=79 exitCode=0
2020-05-25T19:35:52.012Z [INFO] Worker listening; pid=2771 address=“0.0.0.0” port=7547

For me, this happens due to bad format messages when using the NBI interface through Postman for example. The problem is deterministic if you use a space in “name” parameter for example, as you can see below:

{
    " name": "setParameterValues",
    "parameterValues": [
        [
            "InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID",
            "Ferdinando",
            "xsd:string"
        ]
    ]
}

This is enough to get the “Worker Died” problem and this can cause other problems since this message is queued and never expires. All other messages that is queued after this one will not be processed and all the messages stays in the queue forever. Genieacs-cwmp process keeps dying and restarting due to this exception and never treats the other messages after this one.

Is there any fix for this? Is this a known problem?

Regards,

The parameter in the JSON is “name”, not " name" (no space).

Yes, I know, the question I wanted to get to is more about the resilience of the process. The idea is to show the consequences of the problem. If the user misspells and send message in bad format, the GenieACS process will generate exceptions and can enter in a loop process of start/stop process. That can compromise the handling of the next messages in the queue. (This is one case of how to generate this exception, off course it can be other ways of causing the same problem).

Is that clear?

Thanks in advance.

I think new version you should change “name” to “parameterNames”

-QG