502 bad gateway

Hi,

I have experienced 502 bad gateway on my instance running on my freebsd. There was no issue when it still run v3.4.
It happened almost weekly in v4.0 during weekend and user report on Monday morning. It then happened again a month after it was upgraded to v4.2.1… (less often, but problem still there). Originally I thought it was due to the missing configuration update in production.ymal during the upgrade from v3.x to v4.0, I have fixed it in v4.2.1 upgrade. See the error below and please give me some hints. Thanks :pray:

error[16/07/2022, 08:09:39] Error in controller.
{
« err »: « URIError: Failed to decode param ‹ %uff0e%uff0e ›\n at decodeURIComponent ()\n at decode_param (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/layer.js:172:12)\n at Layer.match (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/layer.js:148:15)\n at matchLayer (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:580:18)\n at next (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:220:15)\n at Function.handle (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:174:3)\n at router (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:47:12)\n at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/layer.js:95:5)\n at trim_prefix (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:323:13)\n at /var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:284:7\n at Function.process_params (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:341:12)\n at next (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:275:10)\n at /var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:641:15\n at next (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:260:14)\n at cors (/var/www/peertube/versions/peertube-v4.2.1/node_modules/cors/lib/index.js:188:7)\n at /var/www/peertube/versions/peertube-v4.2.1/node_modules/cors/lib/index.js:224:17\n at originCallback (/var/www/peertube/versions/peertube-v4.2.1/node_modules/cors/lib/index.js:214:15)\n at /var/www/peertube/versions/peertube-v4.2.1/node_modules/cors/lib/index.js:219:13\n at optionsCallback (/var/www/peertube/versions/peertube-v4.2.1/node_modules/cors/lib/index.js:199:9)\n at corsMiddleware (/var/www/peertube/versions/peertube-v4.2.1/node_modules/cors/lib/index.js:204:7)\n at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/layer.js:95:5)\n at trim_prefix (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:323:13)\n at /var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:284:7\n at Function.process_params (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:341:12)\n at next (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:275:10)\n at Function.handle (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:174:3)\n at router (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/index.js:47:12)\n at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v4.2.1/node_modules/express/lib/router/layer.js:95:5) »
}
error[16/07/2022, 08:11:10] uncaughtException: read ECONNRESET Error: read ECONNRESET at TCP.onStreamRead (node:internal/stream_base_commons:220:20)
{
« error »: {
« stack »: « Error: read ECONNRESET\n at TCP.onStreamRead (node:internal/stream_base_commons:220:20) »,
« message »: « read ECONNRESET »,
« errno »: -54,
« code »: « ECONNRESET »,
« syscall »: « read »
},
« stack »: « Error: read ECONNRESET\n at TCP.onStreamRead (node:internal/stream_base_commons:220:20) »,
« exception »: true,
« date »: « Fri Jul 15 2022 22:11:10 GMT+0000 (Coordinated Universal Time) »,
« process »: {
« pid »: 16608,
« uid »: 1001,
« gid »: 1001,
« cwd »: « /var/www/peertube/versions/peertube-v4.2.1 »,
« execPath »: « /usr/local/bin/node »,
« version »: « v17.0.1 »,
« argv »: [
« /usr/local/bin/node »,
« /var/www/peertube/versions/peertube-v4.2.1/dist/server »
],
« memoryUsage »: {
« rss »: 683749376,
« heapTotal »: 154124288,
« heapUsed »: 114113960,
« external »: 2617055,
« arrayBuffers »: 877129
}
},
« os »: {
« loadavg »: [
0.5146484375,
0.2919921875,
0.20947265625
],
« uptime »: 17711751
},
« trace »: [
{
« column »: 20,
« file »: « node:internal/stream_base_commons »,
« function »: « TCP.onStreamRead »,
« line »: 220,
« method »: « onStreamRead »,
« native »: false
}
]
}

I solved this problem on my installation. I noticed database errors when running:

sudo journalctl -feu peertube

password authentication failed for user "peertube"\n

And found a github issue where Chocobozzz recommended to recreate database user.