Hypfer / ICantBelieveItsNotValetudo

A Valetudo companion service which renders maps to pngs
Apache License 2.0
129 stars 80 forks source link

App crashes after a while #57

Closed myrdrks closed 3 years ago

myrdrks commented 3 years ago

I tested it on 2 different Raspberry Pi 3b+ with the same result. After about 40 seconds the app crashes:

[2021-04-07T09:51:19.144Z] [INFO] Map drawn in 1284.388783 ms
[2021-04-07T09:51:27.856Z] [INFO] Drawing map...
Segmentation fault
npm ERR! code ELIFECYCLE
npm ERR! errno 139
npm ERR! i-cant-believe-its-not-valetudo@2021.3.1 start: `node app.js`
npm ERR! Exit status 139
npm ERR!
npm ERR! Failed at the i-cant-believe-its-not-valetudo@2021.3.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2021-04-07T09_51_28_503Z-debug.log

2021-04-07T09_51_28_503Z-debug.log:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/home/pi/.nvm/versions/node/v14.16.0/bin/node',
1 verbose cli   '/home/pi/.nvm/versions/node/v14.16.0/bin/npm',
1 verbose cli   'start'
1 verbose cli ]
2 info using npm@6.14.11
3 info using node@v14.16.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle i-cant-believe-its-not-valetudo@2021.3.1~prestart: i-cant-believe-its-not-valetudo@2021.3.1
6 info lifecycle i-cant-believe-its-not-valetudo@2021.3.1~start: i-cant-believe-its-not-valetudo@2021.3.1
7 verbose lifecycle i-cant-believe-its-not-valetudo@2021.3.1~start: unsafe-perm in lifecycle true
8 verbose lifecycle i-cant-believe-its-not-valetudo@2021.3.1~start: PATH: /home/pi/.nvm/versions/node/v14.16.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/Icantbelieveitsnotvaletudo/node_modules/.bin:/home/pi/.nvm/versions/node/v14.16.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
9 verbose lifecycle i-cant-believe-its-not-valetudo@2021.3.1~start: CWD: /home/pi/Icantbelieveitsnotvaletudo
10 silly lifecycle i-cant-believe-its-not-valetudo@2021.3.1~start: Args: [ '-c', 'node app.js' ]
11 silly lifecycle i-cant-believe-its-not-valetudo@2021.3.1~start: Returned: code: 139  signal: null
12 info lifecycle i-cant-believe-its-not-valetudo@2021.3.1~start: Failed to exec start script
13 verbose stack Error: i-cant-believe-its-not-valetudo@2021.3.1 start: `node app.js`
13 verbose stack Exit status 139
13 verbose stack     at EventEmitter.<anonymous> (/home/pi/.nvm/versions/node/v14.16.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess.<anonymous> (/home/pi/.nvm/versions/node/v14.16.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1048:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid i-cant-believe-its-not-valetudo@2021.3.1
15 verbose cwd /home/pi/Icantbelieveitsnotvaletudo
16 verbose Linux 5.4.51-v7+
17 verbose argv "/home/pi/.nvm/versions/node/v14.16.0/bin/node" "/home/pi/.nvm/versions/node/v14.16.0/bin/npm" "start"
18 verbose node v14.16.0
19 verbose npm  v6.14.11
20 error code ELIFECYCLE
21 error errno 139
22 error i-cant-believe-its-not-valetudo@2021.3.1 start: `node app.js`
22 error Exit status 139
23 error Failed at the i-cant-believe-its-not-valetudo@2021.3.1 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 139, true ]

config.json:

{
  "mapSettings": {
    "drawPath": true,
    "drawCharger": true,
    "drawRobot": true,
    "scale": 4
  },
  "mqtt": {
    "identifier": "rockrobo",
    "topicPrefix": "valetudo",
    "autoconfPrefix": "fhem",
    "broker_url": "mqtt://xxx:xxx@xxx",
    "caPath": "",
    "mapDataTopic": "valetudo/rockrobo/map_data",
    "minMillisecondsBetweenMapUpdates": 10000,
    "publishMapImage": false
  },
  "webserver": {
    "enabled": true,
    "port": 3002
  }
}
Hypfer commented 3 years ago

Sounds like an issue in either the nodejs runtime or the canvas module used