"pm2 scale example-app + 3" spawns indefinitely
Open
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 43.3k
- Forks
- 2.7k
- PR merge metrics
- No merged PRs in 30d
Description
What's going wrong?
I accidently typed pm2 scale example-app + 3 instead of pm2 scale example-app +3.
How could we reproduce this issue?
Add an app and use pm2 scale APP_NAME + 3. Watch it spawn new instances forever.
Ideally this should throw an error.
Supporting information
--- PM2 report ----------------------------------------------------------------
Date : Tue Mar 29 2022 11:56:39 GMT+1030 (Australian Central Daylight Time)
===============================================================================
--- Daemon -------------------------------------------------
pm2d version : 5.1.2
node version : 14.18.3
node path : not found
argv : C:\Program Files\nodejs\node.exe,C:\Users\xo\AppData\Roaming\nvm\v14.18.3\node_modules\pm2\lib\Daemon.js
argv0 : node
user : undefined
uid : N/A
gid : N/A
uptime : 9min
===============================================================================
--- CLI ----------------------------------------------------
local pm2 : 5.1.2
node version : 14.18.3
node path : not found
argv : C:\Program Files\nodejs\node.exe,C:\Program Files\nodejs\node_modules\pm2\bin\pm2,report
argv0 : C:\Program Files\nodejs\node.exe
user : xo
===============================================================================
--- System info --------------------------------------------
arch : x64
platform : win32
type : Windows_NT
cpus : Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
cpus nb : 12
freemem : 5480345600
totalmem : 17095528448
home : C:\Users\xo
===============================================================================
--- PM2 list -----------------------------------------------
┌─────┬────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ example-app │ default │ 0.0.79 │ fork │ 28508 │ 5m │ 0 │ online │ 0% │ 26.8mb │ xo │ disabled │
│ 1 │ example-app │ default │ 0.0.79 │ fork │ 20976 │ 4m │ 0 │ online │ 0% │ 27.0mb │ xo │ disabled │
│ 2 │ example-app │ default │ 0.0.79 │ fork │ 22980 │ 4m │ 0 │ online │ 0% │ 27.5mb │ xo │ disabled │
│ 3 │ example-app │ default │ 0.0.79 │ fork │ 31432 │ 4m │ 0 │ online │ 0% │ 27.2mb │ xo │ disabled │
│ 4 │ example-app │ default │ 0.0.79 │ fork │ 35040 │ 4m │ 0 │ online │ 0% │ 27.2mb │ xo │ disabled │
│ 5 │ example-app │ default │ 0.0.79 │ fork │ 40088 │ 4m │ 0 │ online │ 0% │ 27.0mb │ xo │ disabled │
│ 6 │ example-app │ default │ 0.0.79 │ fork │ 33348 │ 4m │ 0 │ online │ 0% │ 27.0mb │ xo │ disabled │
│ 7 │ example-app │ default │ 0.0.79 │ fork │ 38068 │ 4m │ 0 │ online │ 0% │ 27.2mb │ xo │ disabled │
│ 8 │ example-app │ default │ 0.0.79 │ fork │ 11160 │ 4m │ 0 │ online │ 0% │ 26.9mb │ xo │ disabled │
│ 9 │ example-app │ default │ 0.0.79 │ fork │ 11172 │ 4m │ 0 │ online │ 0% │ 26.9mb │ xo │ disabled │
│ 10 │ example-app │ default │ 0.0.79 │ fork │ 10532 │ 4m │ 0 │ online │ 0% │ 27.3mb │ xo │ disabled │
│ 11 │ example-app │ default │ 0.0.79 │ fork │ 39752 │ 4m │ 0 │ online │ 0% │ 27.3mb │ xo │ disabled │
│ 12 │ example-app │ default │ 0.0.79 │ fork │ 28024 │ 4m │ 0 │ online │ 0.1% │ 26.8mb │ xo │ disabled │
│ 13 │ example-app │ default │ 0.0.79 │ fork │ 27560 │ 4m │ 0 │ online │ 0% │ 26.8mb │ xo │ disabled │
│ 14 │ example-app │ default │ 0.0.79 │ fork │ 40624 │ 4m │ 0 │ online │ 0.1% │ 27.4mb │ xo │ disabled │
│ 15 │ example-app │ default │ 0.0.79 │ fork │ 31684 │ 4m │ 0 │ online │ 0% │ 27.1mb │ xo │ disabled │
│ 16 │ example-app │ default │ 0.0.79 │ fork │ 16908 │ 4m │ 0 │ online │ 0% │ 26.8mb │ xo │ disabled │
│ 17 │ example-app │ default │ 0.0.79 │ fork │ 8576 │ 4m │ 0 │ online │ 0.1% │ 27.3mb │ xo │ disabled │
│ 18 │ example-app │ default │ 0.0.79 │ fork │ 14192 │ 4m │ 0 │ online │ 0% │ 27.1mb │ xo │ disabled │
│ 19 │ example-app │ default │ 0.0.79 │ fork │ 23120 │ 4m │ 0 │ online │ 0% │ 27.2mb │ xo │ disabled │
│ 20 │ example-app │ default │ 0.0.79 │ fork │ 30952 │ 4m │ 0 │ online │ 0% │ 27.2mb │ xo │ disabled │
│ 21 │ example-app │ default │ 0.0.79 │ fork │ 3084 │ 4m │ 0 │ online │ 0.1% │ 27.3mb │ xo │ disabled │
│ 22 │ example-app │ default │ 0.0.79 │ fork │ 34632 │ 4m │ 0 │ online │ 0% │ 27.3mb │ xo │ disabled │
│ 23 │ example-app │ default │ 0.0.79 │ fork │ 18800 │ 4m │ 0 │ online │ 0% │ 27.3mb │ xo │ disabled │
│ 24 │ example-app │ default │ 0.0.79 │ fork │ 16340 │ 4m │ 0 │ online │ 0% │ 27.5mb │ xo │ disabled │
│ 25 │ example-app │ default │ 0.0.79 │ fork │ 9664 │ 4m │ 0 │ online │ 0% │ 27.1mb │ xo │ disabled │
│ 26 │ example-app │ default │ 0.0.79 │ fork │ 16552 │ 4m │ 0 │ online │ 0% │ 27.1mb │ xo │ disabled │
│ 27 │ example-app │ default │ 0.0.79 │ fork │ 40896 │ 4m │ 0 │ online │ 0% │ 27.3mb │ xo │ disabled │
│ 28 │ example-app │ default │ 0.0.79 │ fork │ 29252 │ 4m │ 0 │ online │ 0% │ 27.0mb │ xo │ disabled │
│ 29 │ example-app │ default │ 0.0.79 │ fork │ 9600 │ 4m │ 0 │ online │ 0% │ 27.8mb │ xo │ disabled │
└─────┴────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
===============================================================================
--- Daemon logs --------------------------------------------
C:\Users\xo\.pm2\pm2.log last 20 lines:
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:20] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:20] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:21] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:21] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:22] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:22] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:23] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:23] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:24] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:24] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:25] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:25] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:26] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:26] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:27] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:27] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:28] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:28] online
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:29] starting in -fork mode-
PM2 | 2022-03-29T11:52:16: PM2 log: App [example-app:29] online
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with an app and pm2 scale APP_NAME + 3, then trace the CLI's scale argument parsing and compare it with pm2 scale APP_NAME +3. Done means the spaced form reports an error instead of spawning instances indefinitely.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, nodejs
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100