Project

General

Profile

Actions

Bug #16946

closed

Infinite loop in `for` may leak memory

Added by François ARMAND about 4 years ago. Updated about 4 years ago.

Status:
Released
Priority:
N/A
Category:
Performance and scalability
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
0
Name check:
Reviewed
Fix check:
Checked
Regression:

Description

See: https://stackoverflow.com/a/59349106/436331

The problem is in construct like:
```
def loop() = {
for {
_ <- dosomething
_ <- loop()
} yield ()
```

The advice it to either:
1/ use `better monadic for` (https://github.com/oleg-py/better-monadic-for) plugin, but we cannot because if breaks lift
2/ rewrite these loop using `forever` (easy and clearly explains what it does).

So we don't have much choice actually.

Actions #1

Updated by François ARMAND about 4 years ago

  • Status changed from New to In progress
Actions #2

Updated by François ARMAND about 4 years ago

  • Assignee changed from François ARMAND to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/rudder/pull/2836
Actions #3

Updated by François ARMAND about 4 years ago

  • Status changed from In progress to Pending release
Actions #4

Updated by François ARMAND about 4 years ago

  • Fix check changed from To do to Checked
Actions #5

Updated by Alexis Mousset about 4 years ago

  • Name check changed from To do to Reviewed
Actions #6

Updated by Vincent MEMBRÉ about 4 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 6.0.5 which was released today.

Actions

Also available in: Atom PDF