| commit | a6a874ba098a3df5cf53aaf38d77352d8e087796 | [log] [tgz] |
|---|---|---|
| author | Fabian Meumertzheim <fabian@meumertzhe.im> | Wed Jun 14 07:57:05 2023 -0700 |
| committer | Copybara-Service <copybara-worker@google.com> | Wed Jun 14 07:58:31 2023 -0700 |
| tree | 43fcaa3d5671db0f5c9254152711e6eabe264751 | |
| parent | 5a19bd5c52ca405287bb73b53c4fe50574e08a62 [diff] |
Fix OOM in `describeNestedSetFingerprint` `describedNestedSetFingerprint` appended a `StringBuilder` to itself in a loop instead of the actual item from the nested set, resulting in OOMs in `Runfiles#describeKey` and `RepoMappingManifestAction#describeKey`. Work towards #18666 Closes #18668. PiperOrigin-RevId: 540270874 Change-Id: Id408ab4c2438bea264b586f8ae5567dc41260242
diff --git a/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetFingerprintCache.java b/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetFingerprintCache.java index 15d9eae..0c63756 100644 --- a/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetFingerprintCache.java +++ b/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetFingerprintCache.java
@@ -84,7 +84,7 @@ sb.append("size: ").append(list.size()).append('\n'); for (T item : list) { sb.append(" "); - mapFn.expandToCommandLine(item, s -> sb.append(sb).append(", ")); + mapFn.expandToCommandLine(item, s -> sb.append(s).append(", ")); sb.append('\n'); } return sb.toString();