Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime.UnhandledPromiseRejection #209

Open
1 task
KadalurSupreeth opened this issue Jan 2, 2025 · 4 comments
Open
1 task

Runtime.UnhandledPromiseRejection #209

KadalurSupreeth opened this issue Jan 2, 2025 · 4 comments
Labels

Comments

@KadalurSupreeth
Copy link

KadalurSupreeth commented Jan 2, 2025

Describe the bug

We are using (SO0005-SQ) - quota-monitor-for-aws version:v6.2.2 solution. Did not find a reason or have enough time to dedicate to upgrade this version at this point. There are 100+ accounts managed under an AWS organization. Ddeployed this solution more than a year ago. I was working as expected. We started to see below exception in source/lambda/services/cwPoller function. Copying snippet of expcetion below for reference.

[WARN] [getMetricData] ValidationError - Maximum number of SERVICE_QUOTA functions (100) exceeded

  1. ERROR Unhandled Promise Rejection

{
"errorType": "Runtime.UnhandledPromiseRejection",
"errorMessage": "SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_homedir returned EMFILE (too many open files)",
"reason": {
"errorType": "SystemError",
"errorMessage": "A system error occurred: uv_os_homedir returned EMFILE (too many open files)",
"code": "ERR_SYSTEM_ERROR",
"info": {
"errno": -24,
"code": "EMFILE",
"message": "too many open files",
"syscall": "uv_os_homedir"
},
"errno": -24,
"syscall": "uv_os_homedir",
"stack": [
"SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_homedir returned EMFILE (too many open files)",

"stack": [
"Runtime.UnhandledPromiseRejection: SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_os_homedir returned EMFILE (too many open files)",
" at process. (file:///var/runtime/index.mjs:1276:17)",
" at process.emit (node:events:517:28)",
" at emit (node:internal/process/promises:149:20)",
" at processPromiseRejections (node:internal/process/promises:283:27)",
" at process.processTicksAndRejections (node:internal/process/task_queues:96:32)"
]

To Reproduce

Executing the source/lambda/services/cwPoller function is sufficient to reproduce the issue

Expected behavior

source/lambda/services/cwPoller function should execute without exception

Please complete the following information about the solution:

  • Version: [v6.2.2]

To get the version of the solution, you can look at the description of the created CloudFormation stack. For example, "(SOXXXX) - The AWS CloudFormation template for deployment of the AWS Solution. Version vx.y.z". You can also find the version from releases

  • [us-east-1] Region: [e.g. us-east-1]
  • [ No] Was the solution modified from the version published on this repository?
  • [No] If the answer to the previous question was yes, are the changes available on GitHub?
  • [Yes] Have you checked your service quotas for the services this solution uses?
  • [Yes ] Were there any errors in the CloudWatch Logs? How to enable debug mode?

Screenshots
If applicable, add screenshots to help explain your problem (please DO NOT include sensitive information).

Additional context
Below Cloudwatch Alarm was received, if this helps to troubleshoot the issue

Summary
Alarm updated from OK to In alarm.
Data
{
"alarmType": "MetricAlarm",
"historyItemType": "StateUpdate",
"historySummary": "Alarm updated from OK to ALARM",
"historyData": {
"version": "1.0",
"oldState": {
"stateValue": "OK",
"stateReason": "Threshold Crossed: 1 out of the last 2 datapoints [0.0 (30/12/24 21:50:00)] was not greater than or equal to the threshold (0.1) (minimum 1 datapoint for ALARM -> OK transition).",
"stateReasonData": {
"version": "1.0",
"queryDate": "2024-12-30T21:55:56.493+0000",
"startDate": "2024-12-30T21:45:00.000+0000",
"period": 300,
"recentDatapoints": [
1,
0
],
"threshold": 0.1,
"evaluatedDatapoints": [
{
"timestamp": "2024-12-30T21:50:00.000+0000",
"value": 0
}
]
}
},
"newState": {
"stateValue": "ALARM",
"stateReason": "Threshold Crossed: 2 out of the last 2 datapoints [1.0 (31/12/24 21:48:00), 1.0 (31/12/24 21:43:00)] were greater than or equal to the threshold (0.1) (minimum 2 datapoints for OK -> ALARM transition).",
"stateReasonData": {
"version": "1.0",
"queryDate": "2024-12-31T21:53:56.494+0000",
"startDate": "2024-12-31T21:43:00.000+0000",
"period": 300,
"recentDatapoints": [
1,
1
],
"threshold": 0.1,
"evaluatedDatapoints": [
{
"timestamp": "2024-12-31T21:48:00.000+0000",
"value": 1
},
{
"timestamp": "2024-12-31T21:43:00.000+0000",
"value": 1
}
]
}
}
}
}

@sanjay-reddy-kandi
Copy link
Member

Hi, this was a known issue and it was fixed in v6.2.6. Please can you update the solution to the latest version v6.3.0 and let us know if you are still facing this issue? Thanks

@KadalurSupreeth
Copy link
Author

Thank you for the update. We generally do not implement the latest solutions without conducting a security scan and thorough testing, which typically takes some time. Could you please specify the necessary changes needed to resolve this issue so that we can update the code accordingly? We will upgrade to the latest version when we have the opportunity. Thanks.

@sanjay-reddy-kandi
Copy link
Member

To see all the bugs that we have fixed you can you look at the pull requests for the release and look at the changelog. The major code changes for you can be seen in 6.2.6, 6.2.11 and 6.3.0

@KadalurSupreeth
Copy link
Author

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants