-
Notifications
You must be signed in to change notification settings - Fork 6
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
Memory leak in parser module #351
Comments
myVScode Version InterSystems Language Server:v2.6.2 |
I suggest you use |
I used version v2.5.1 and it worked fine, but later versions started to produce this error |
Thanks @xiaonuozi. Please reopen the issue. Pinging @isc-bsaviano who will investigate. |
@xiaonuozi What are you doing when the extension crashes? Does it happen when it activates, or only when you open certain files? Do any versions after 2.5.1 work? This is a very strange error that I haven't seen before. I'll see if I can reproduce it on my windows machine. |
I found through testing that the issue only occurs when I open a specific .cls file. Versions after 2.5.1, such as 2.6.0, 2.6.1, and the latest 2.6.2, all exhibit this problem, with version 2.6.0 also giving a output: |
@xiaonuozi Thanks for checking. That foldingRange error is probably #343, which was fixed in 2.6.1. Can you send me that class so I can reproduce the error myself? If you don't feel comfortable posting it on this public issue, you can open a WRC case and attach it there. |
I'm having the same problem with a ".mac" file (ca. 4200 lines). <--- Last few GCs ---> [8972:000046B000128000] 11297829 ms: Mark-Compact 3934.8 (4080.2) -> 3927.3 (4081.0) MB, pooled: 6 MB, 7324.46 / 0.00 ms (average mu = 0.066, current mu = 0.003) allocation failure; scavenge might not succeed <--- JS stacktrace ---> FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 1: 00007FF612AB8DCA uv_cpumask_size+56282 |
@RalphGauer-Paul Do you have a way to reproduce this reliably (i.e. it always happens when you open that specific routine)? What OS are you on? On my M1 Mac I have no issues opening a dense ~9300 line MAC routine. |
I'm on MS Windows 10 with 16 GiB RAM. |
I still don't have an expample file yet, [Error - 1:26:09 PM] Stopping server failed |
@RalphGauer-Paul VS Code will only attempt to restart the language server process 5 times. After that it gives up, and you have to restart VS Code to try again. That behavior is not specific to this crash. If you're running out of memory then there must be a memory leak of some sort. Without a reliable way to reproduce this its going to be hard to track down but I will try. Can you try downgrading like @xiaonuozi and let me know if 2.5.1 works for you? If so then that might help me identify a code change that caused this leak. |
Ok, I'll try that... |
With version 2.5.1 I'm getting some errors, too, but no "out of memory": [Error - 8:37:44 AM] Request textDocument/diagnostic failed. Error: General failure [80004005] Node.js v20.18.0 |
@RalphGauer-Paul Thanks for checking this. Those messages are coming from a known bug that was fixed in a later version. |
<--- Last few GCs --->
[27192:0000461800324000] 66116 ms: Mark-Compact 3841.4 (4090.7) -> 3832.3 (4089.7) MB, pooled: 6 MB, 6932.87 / 0.00 ms (average mu = 0.260, current mu = 0.098) allocation failure; scavenge might not succeed
[27192:0000461800324000] 76598 ms: Mark-Compact 3841.2 (4090.2) -> 3836.8 (4092.7) MB, pooled: 3 MB, 10427.22 / 0.00 ms (average mu = 0.117, current mu = 0.005) allocation failure; scavenge might not succeed
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
----- Native stack trace -----
1: 00007FF6EF7F26BA uv_cpumask_size+72282
2: 00007FF6EF76D47A node::OnFatalError+730
3: 00007FF6F276CBB4 v8::Function::NewInstance+868
4: 00007FF6F276CB23 v8::Function::NewInstance+723
5: 00007FF6F281E777 v8::CppHeap::wrapper_descriptor+61447
6: 00007FF6EE38342C v8::CppHeap::CollectStatistics+255964
7: 00007FF6EE382DBC v8::CppHeap::CollectStatistics+254316
8: 00007FF6EE3829F0 v8::CppHeap::CollectStatistics+253344
9: 00007FF6EE388769 v8::CppHeap::CollectStatistics+277273
10: 00007FF6F0A30075 uv_random+5685
11: 00007FF6F0A30402 uv_random+6594
12: 00007FF6EE384B30 v8::CppHeap::CollectStatistics+261856
13: 00007FF6EE375DE3 v8::CppHeap::CollectStatistics+201107
14: 00007FF6EE36FE73 v8::CppHeap::CollectStatistics+176675
15: 00007FF6EE35F18A v8::CppHeap::CollectStatistics+107834
16: 00007FF6EE35E6C9 v8::CppHeap::CollectStatistics+105081
17: 00007FF6EE367FFE v8::CppHeap::CollectStatistics+144302
18: 00007FF6EE367C64 v8::CppHeap::CollectStatistics+143380
19: 00007FF6EE613925 cppgc::internal::WriteBarrier::SteeleMarkingBarrierSlow+2661
[Error - 3:57:24 PM] Server process exited with code 134.
[Info - 3:57:24 PM] Connection to server got closed. Server will restart.
true
<--- Last few GCs --->
[27544:00000D1000324000] 76166 ms: Scavenge (interleaved) 3843.8 (4086.7) -> 3841.9 (4090.2) MB, pooled: 5 MB, 136.06 / 0.00 ms (average mu = 0.183, current mu = 0.006) allocation failure;
[27544:00000D1000324000] 84850 ms: Mark-Compact 3848.6 (4091.7) -> 3844.4 (4095.2) MB, pooled: 1 MB, 8663.65 / 0.00 ms (average mu = 0.101, current mu = 0.027) allocation failure; scavenge might not succeed
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
----- Native stack trace -----
1: 00007FF6EF7F26BA uv_cpumask_size+72282
2: 00007FF6EF76D47A node::OnFatalError+730
3: 00007FF6F276CBB4 v8::Function::NewInstance+868
4: 00007FF6F276CB23 v8::Function::NewInstance+723
5: 00007FF6F281E777 v8::CppHeap::wrapper_descriptor+61447
6: 00007FF6EE38342C v8::CppHeap::CollectStatistics+255964
7: 00007FF6EE382DBC v8::CppHeap::CollectStatistics+254316
8: 00007FF6EE3829F0 v8::CppHeap::CollectStatistics+253344
9: 00007FF6EE388769 v8::CppHeap::CollectStatistics+277273
10: 00007FF6F0A30075 uv_random+5685
11: 00007FF6F0A30402 uv_random+6594
12: 00007FF6EE384B30 v8::CppHeap::CollectStatistics+261856
13: 00007FF6EE375DE3 v8::CppHeap::CollectStatistics+201107
14: 00007FF6EE36FE73 v8::CppHeap::CollectStatistics+176675
15: 00007FF6EE35F18A v8::CppHeap::CollectStatistics+107834
16: 00007FF6EE35E6C9 v8::CppHeap::CollectStatistics+105081
17: 00007FF6EE367FFE v8::CppHeap::CollectStatistics+144302
18: 00007FF6EE367C64 v8::CppHeap::CollectStatistics+143380
19: 00007FF6EE613925 cppgc::internal::WriteBarrier::SteeleMarkingBarrierSlow+2661
[Error - 3:58:58 PM] Server process exited with code 134.
[Info - 3:58:58 PM] Connection to server got closed. Server will restart.
true
<--- Last few GCs --->
[2472:0000210C00324000] 76622 ms: Mark-Compact 3842.0 (4089.7) -> 3837.6 (4088.9) MB, pooled: 7 MB, 9984.02 / 0.00 ms (average mu = 0.126, current mu = 0.005) allocation failure; scavenge might not succeed
[2472:0000210C00324000] 84998 ms: Mark-Compact 3846.5 (4089.4) -> 3842.2 (4092.7) MB, pooled: 4 MB, 8352.56 / 0.00 ms (average mu = 0.067, current mu = 0.003) allocation failure; scavenge might not succeed
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
----- Native stack trace -----
1: 00007FF6EF7F26BA uv_cpumask_size+72282
2: 00007FF6EF76D47A node::OnFatalError+730
3: 00007FF6F276CBB4 v8::Function::NewInstance+868
4: 00007FF6F276CB23 v8::Function::NewInstance+723
5: 00007FF6F281E777 v8::CppHeap::wrapper_descriptor+61447
6: 00007FF6EE38342C v8::CppHeap::CollectStatistics+255964
7: 00007FF6EE382DBC v8::CppHeap::CollectStatistics+254316
8: 00007FF6EE3829F0 v8::CppHeap::CollectStatistics+253344
9: 00007FF6EE388769 v8::CppHeap::CollectStatistics+277273
10: 00007FF6F0A30075 uv_random+5685
11: 00007FF6F0A30402 uv_random+6594
12: 00007FF6EE384B30 v8::CppHeap::CollectStatistics+261856
13: 00007FF6EE375DE3 v8::CppHeap::CollectStatistics+201107
14: 00007FF6EE36FE73 v8::CppHeap::CollectStatistics+176675
15: 00007FF6EE35F18A v8::CppHeap::CollectStatistics+107834
16: 00007FF6EE35E6C9 v8::CppHeap::CollectStatistics+105081
17: 00007FF6EE367FFE v8::CppHeap::CollectStatistics+144302
18: 00007FF6EE367C64 v8::CppHeap::CollectStatistics+143380
19: 00007FF6EE613925 cppgc::internal::WriteBarrier::SteeleMarkingBarrierSlow+2661
[Error - 4:03:24 PM] Client InterSystems Language Server: connection to server is erroring.
Channel closed
[Error - 4:03:25 PM] Server process exited with code 134.
[Info - 4:03:25 PM] Connection to server got closed. Server will restart.
true
The text was updated successfully, but these errors were encountered: