EADDRINUSE with botium-connector-botframework when using botium grid
See original GitHub issueIssue Description
Describe the bug
When using this connector (https://github.com/codeforequity-at/botium-connector-botframework) and botium grid together getting the following error:
Error: listen EADDRINUSE: address already in use :::45100
To Reproduce
- Run ngrok with command:
ngrok http 45100
- Put the following config into botium.json
{
"botium": {
"Capabilities": {
"PROJECTNAME": "Test",
"CONTAINERMODE": "botframework",
"BOTFRAMEWORK_ENDPOINTURL": "https://xxxx/api/messages",
"BOTFRAMEWORK_SERVICEURL": "https://xxxx.ngrok.io",
"BOTFRAMEWORK_APP_ID": "xxxx",
"BOTFRAMEWORK_APP_SECRET": "xxxx",
"SIMPLEREST_INBOUND_PORT": 45100,
"SIMPLEREST_INBOUND_ENDPOINT": "/",
"SIMPLEREST_TIMEOUT": 60000,
"SIMULATE_WRITING_SPEED": 250,
"WAITFORBOTTIMEOUT": 30000,
"SCRIPTING_MATCHING_MODE": "regexp"
}
}
}
- Run botium grid with:
botium-cli agent
- Make a post to URL
localhost:46100/api/build
with body
{
"Capabilities": {
}
}
- Repeat step 4
Expected behavior There should be no errors and botium-connector-botframework should be able to listen for all conversations bot messages on the same server and port which is initiated only once.
Screenshots and Log files
node:events:368
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::45100
at Server.setupListenHandle [as _listen2] (node:net:1334:16)
at listenInCluster (node:net:1382:12)
at Server.listen (node:net:1469:7)
at Function.listen (C:\Users\UserName\AppData\Roaming\npm\node_modules\botium-connector-botframework\node_modules\express\lib\application.js:618:24)
at C:\Users\UserName\AppData\Roaming\npm\node_modules\botium-connector-botframework\node_modules\botium-core\src\grid\inbound\proxy.js:61:23
at new Promise (<anonymous>)
at startProxy (C:\Users\UserName\AppData\Roaming\npm\node_modules\botium-connector-botframework\node_modules\botium-core\src\grid\inbound\proxy.js:48:10)
at SimpleRestContainer._buildInbound (C:\Users\UserName\AppData\Roaming\npm\node_modules\botium-connector-botframework\node_modules\botium-core\src\containers\plugins\SimpleRestContainer.js:628:26)
at SimpleRestContainer.Build (C:\Users\UserName\AppData\Roaming\npm\node_modules\botium-connector-botframework\node_modules\botium-core\src\containers\plugins\SimpleRestContainer.js:77:17)
at BotiumConnectorBotFramework.Build (C:\Users\UserName\AppData\Roaming\npm\node_modules\botium-connector-botframework\dist\botium-connector-botframework-cjs.js:371:34)
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1361:8)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'EADDRINUSE',
errno: -4091,
syscall: 'listen',
address: '::',
port: 45100
}
Botium Flavour:
- Botium CLI
Botium Version Using 1.1.0
Additional context Not using direct line API connector as it is a premium channel and each API request generates additional cost. So that is not an option.
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:10 (4 by maintainers)
Top Results From Across the Web
User Manual - Botium documentation - Read the Docs
When using Botium in continuous build / testing / deployment environment, it is generally advised to not include passwords or other secrets in...
Read more >How to fix Error: listen EADDRINUSE while using NodeJS?
EADDRINUSE means that the port number which listen() tries to bind the server to is already in use. So, in your case, there...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Thank you for good and quick replies!
ah, now I know what you mean. when using “build”, then the endpoint is actually created and listening on this port. you cannot do this two times in parallel.