I am still in the process of figuring out what happened and I kinda solved it but it would be better if I know what happened and if the developers can take a look into it.
My development process involves using a bash script to push the provision to the acs via http put.
on a testing acs I found the cwmp and ui gives errors (service genieacs-cwm status) and after that web only responds with error 500. syslog entries I found are like this:
[ERROR] Uncaught exception; pid=7975 exceptionName="TypeError" exceptionMessage="Cannot read properties of undefined (reading 'split')" exceptionStack="TypeError: Cannot read properties of undefined (reading 'split')\n at Qr (/usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:59870)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Promise.all (index 5)\n at async tn (/usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:60640)\n at async rn (/usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:62514)\n at async /usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:97631"
[ERROR] Worker died; pid=7975 exitCode=0
[INFO] Worker listening; pid=8061 address="::" port=3000
[ERROR] Uncaught exception; pid=7971 exceptionName="Error" exceptionMessage="Failed to acquire lock" exceptionStack="Error: Failed to acquire lock\n at Fr (/usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:56377)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async tn (/usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:60600)\n at async rn (/usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:62514)\n at async /usr/local/lib/node_modules/genieacs/bin/genieacs-ui:2:97631"
[ERROR] Worker died; pid=7971 exitCode=0
at first I was able to “fix” the problem by deleting genieacs database and restore the backup, but today I decided to take a look at the tables.
> show tables;
cache
config
devices
faults
locks
permissions
presets
provisions
tasks
users
virtualParameters
> db.cache.deleteMany({ })
{ "acknowledged" : true, "deletedCount" : 2 }
> db.presets.deleteMany({ })
{ "acknowledged" : true, "deletedCount" : 0 }
> db.provisions.deleteMany({ })
{ "acknowledged" : true, "deletedCount" : 1 }
> db.users.deleteMany({ })
{ "acknowledged" : true, "deletedCount" : 1 }
> db.tasks.deleteMany({ })
{ "acknowledged" : true, "deletedCount" : 2 }
it was on the last deleteMany that cwmp and ui stopped to give errors.
btw version 1.2.8. Could not upgrade to the lastest version because it gives 401 on connection request to the CPE. I still have to take a look at the documentation and changelogs before I try again.
edit: forgot to mention this
db.tasks.find().pretty()
{
"_id" : ObjectId("6834bcd8239c9f87f98ed049"),
"name" : "setParameterValues",
"parameterValues" : [
[
"Tags.ProcesarBoot",
true
]
],
"device" : "00259E-EG8141A5-48575443F2AC409F",
"timestamp" : ISODate("2025-05-26T19:11:20.642Z")
}
{
"_id" : ObjectId("6834bcd81ac3db4532f1d059"),
"name" : "getParameterValues",
"parameterNames" : [
"InternetGatewayDevice.DeviceInfo.HardwareVersion",
"InternetGatewayDevice.DeviceInfo.SoftwareVersion",
"InternetGatewayDevice.WANDevice.*.WANConnectionDevice.*.WANIPConnection.*.MACAddress",
"InternetGatewayDevice.WANDevice.*.WANConnectionDevice.*.WANIPConnection.*.ExternalIPAddress",
"InternetGatewayDevice.LANDevice.*.WLANConfiguration.*.SSID",
"InternetGatewayDevice.LANDevice.*.Hosts.Host.*.HostName",
"InternetGatewayDevice.LANDevice.*.Hosts.Host.*.IPAddress",
"InternetGatewayDevice.LANDevice.*.Hosts.Host.*.MACAddress",
"InternetGatewayDevice.LANDevice.*.X_HW_WlanEnable",
"InternetGatewayDevice.X_HW_APDevice"
],
"device" : "00259E-EG8141A5-48575443F2AC409F",
"timestamp" : ISODate("2025-05-26T19:11:20.781Z")
}
the related CPE was no longer connected to the ACS.
hope it helps