Steven Syrek
b51c0101ba
Fix stack overflow in acquireStartLock due to infinite recursion ( #1131 )
...
The acquireStartLock function would recursively call itself after
attempting to remove a stale lock file. If os.Remove failed (due to
permissions, race conditions, etc.), the error was silently ignored
with `_`, causing infinite recursion until the 1GB stack limit was
exceeded.
Changes:
- Convert recursive calls to a bounded retry loop (max 3 attempts)
- Check removeFileFn return value before retrying
- Apply same fix to handleStaleLock which had the same issue
- Add test to verify function returns false when remove fails
Fixes the stack overflow crash that occurred when running any bd
command with a stale or problematic lock file.
Co-authored-by: Steven Syrek <steven.syrek@deepl.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-16 14:36:59 -08:00
..
2026-01-16 12:01:43 -08:00
2026-01-13 08:41:25 -06:00
2026-01-16 14:33:08 -08:00
2025-12-24 00:06:41 -08:00
2025-12-28 20:48:37 -08:00
2026-01-01 10:51:51 -08:00
2026-01-10 12:43:46 -08:00
2025-12-28 16:40:43 -08:00
2025-12-27 16:21:08 -08:00
2026-01-06 22:18:37 -08:00
2026-01-03 13:25:15 -08:00
2026-01-06 22:18:37 -08:00
2026-01-13 20:58:07 -08:00
2026-01-06 19:05:34 -08:00
2026-01-12 16:39:06 -08:00
2026-01-15 07:55:08 -08:00
2026-01-06 12:52:19 -08:00
2026-01-15 19:23:07 -08:00
2025-12-24 00:06:41 -08:00
2025-12-28 10:05:16 -08:00
2025-12-27 16:02:15 -08:00
2026-01-13 13:22:19 +00:00
2026-01-09 22:57:07 -08:00
2026-01-13 13:28:30 +00:00
2025-12-28 18:43:09 -08:00
2025-12-24 00:08:10 -08:00
2025-12-30 00:00:25 -08:00
2025-12-30 00:00:25 -08:00
2026-01-15 19:22:55 -08:00
2026-01-06 19:37:20 -08:00
2026-01-02 00:02:20 -08:00
2025-12-29 14:03:39 -08:00
2026-01-01 10:46:56 -08:00
2026-01-01 10:46:56 -08:00
2026-01-14 20:50:56 -08:00
2026-01-02 14:01:56 -08:00
2026-01-02 16:00:54 -08:00
2025-12-23 12:06:42 -08:00
2025-12-27 16:02:15 -08:00
2026-01-01 10:53:59 -08:00
2026-01-01 20:06:13 -08:00
2026-01-15 12:44:12 -08:00
2025-12-31 13:14:15 -08:00
2026-01-01 10:48:14 -08:00
2026-01-16 14:36:59 -08:00
2026-01-16 14:36:59 -08:00
2026-01-12 23:51:56 -08:00
2026-01-10 22:50:16 -08:00
2025-12-27 16:02:15 -08:00
2025-12-28 10:05:16 -08:00
2025-12-29 14:43:00 -08:00
2025-12-29 14:43:00 -08:00
2025-12-24 00:06:41 -08:00
2025-12-28 10:05:16 -08:00
2025-12-24 00:06:41 -08:00
2026-01-04 10:53:31 -08:00
2025-12-24 00:06:41 -08:00
2026-01-10 22:50:16 -08:00
2026-01-10 16:28:52 -08:00
2026-01-10 16:31:16 -08:00
2026-01-07 21:27:20 -08:00
2025-12-30 16:49:50 -08:00
2025-12-27 16:02:15 -08:00
2025-12-24 00:06:41 -08:00
2026-01-04 16:16:53 -08:00
2025-12-24 00:06:41 -08:00
2026-01-04 11:14:36 -08:00
2026-01-14 21:42:31 -08:00
2026-01-03 13:22:52 -08:00
2026-01-06 18:59:25 -08:00
2025-12-27 16:02:15 -08:00
2025-12-24 00:06:41 -08:00
2026-01-10 12:43:46 -08:00
2026-01-08 14:32:12 -08:00
2026-01-10 12:08:48 -08:00
2025-12-28 16:40:43 -08:00
2026-01-09 12:02:02 +01:00
2025-12-30 16:29:28 -08:00
2026-01-12 19:42:51 -08:00
2025-12-28 18:43:09 -08:00
2025-12-29 14:39:43 -08:00
2025-12-28 20:48:37 -08:00
2025-12-28 20:48:37 -08:00
2026-01-06 23:31:09 -08:00
2026-01-14 20:36:30 -08:00
2026-01-06 12:52:19 -08:00
2026-01-06 19:05:34 -08:00
2026-01-12 00:45:25 -08:00
2026-01-12 00:45:25 -08:00
2026-01-09 22:53:53 -08:00
2025-12-31 13:14:15 -08:00
2025-12-24 00:07:52 -08:00
2025-12-31 13:14:15 -08:00
2025-12-24 00:06:41 -08:00
2025-12-31 11:39:17 -08:00
2026-01-06 22:18:37 -08:00
2026-01-01 18:17:12 -08:00
2026-01-01 10:53:59 -08:00
2026-01-01 10:51:22 -08:00
2026-01-01 11:05:05 -08:00
2025-12-30 14:13:32 -08:00
2026-01-15 07:55:08 -08:00
2026-01-06 23:40:37 -08:00
2026-01-13 00:46:50 -08:00
2025-12-31 13:14:15 -08:00
2025-12-28 20:48:37 -08:00
2026-01-08 20:50:56 -08:00
2026-01-16 12:44:10 -08:00
2026-01-01 19:46:34 -08:00
2026-01-16 12:24:48 -08:00
2025-12-29 14:33:19 -08:00
2025-12-27 16:02:15 -08:00
2025-12-24 00:06:41 -08:00
2026-01-03 13:27:36 -08:00
2026-01-15 19:23:07 -08:00
2026-01-14 21:57:28 -08:00
2025-12-28 18:43:09 -08:00
2026-01-14 20:50:56 -08:00
2026-01-16 12:01:43 -08:00
2026-01-12 17:29:57 -08:00
2025-12-28 18:43:09 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 11:37:57 -08:00
2026-01-15 11:37:57 -08:00
2026-01-16 12:24:48 -08:00
2025-12-28 10:05:16 -08:00
2025-12-30 16:07:31 -08:00
2026-01-01 10:51:51 -08:00
2026-01-06 19:05:34 -08:00
2025-12-30 16:58:10 -08:00
2025-12-30 16:58:10 -08:00
2025-12-28 18:43:09 -08:00
2025-12-28 18:43:09 -08:00
2026-01-07 20:45:00 -08:00
2026-01-01 14:18:49 -08:00
2026-01-08 20:50:56 -08:00
2026-01-01 20:06:13 -08:00
2026-01-12 02:05:13 -08:00
2025-12-30 14:13:32 -08:00
2026-01-10 12:43:46 -08:00
2026-01-01 23:55:40 -08:00
2025-12-28 18:43:09 -08:00
2026-01-15 19:22:55 -08:00
2026-01-06 22:18:37 -08:00
2026-01-15 07:55:08 -08:00
2025-12-30 00:06:42 -08:00
2025-12-30 00:06:42 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 07:55:08 -08:00
2025-12-30 00:06:42 -08:00
2026-01-10 23:42:49 -08:00
2025-12-31 00:33:11 -08:00
2026-01-10 11:55:33 -08:00
2025-12-31 13:08:41 -08:00
2025-12-29 16:17:51 -08:00
2025-12-31 13:04:19 -08:00
2026-01-08 21:22:17 -08:00
2026-01-08 21:22:17 -08:00
2026-01-02 14:08:22 -08:00
2025-12-30 14:13:32 -08:00
2025-12-30 06:59:51 -08:00
2026-01-02 16:00:54 -08:00
2025-12-27 16:02:15 -08:00
2026-01-02 01:31:19 -08:00
2026-01-06 19:05:34 -08:00
2026-01-04 16:24:18 -08:00
2026-01-04 16:24:18 -08:00
2025-12-29 14:17:44 -08:00
2025-12-29 14:17:44 -08:00
2025-12-31 00:33:11 -08:00
2025-12-31 00:05:53 -08:00
2026-01-01 10:51:51 -08:00
2026-01-07 20:45:40 -08:00
2026-01-15 07:55:08 -08:00
2026-01-07 20:44:16 -08:00
2026-01-01 20:06:13 -08:00
2026-01-08 21:22:17 -08:00
2026-01-06 19:05:34 -08:00
2026-01-15 19:23:07 -08:00
2025-12-27 16:02:15 -08:00
2026-01-06 19:05:34 -08:00
2026-01-04 10:53:31 -08:00
2026-01-04 10:53:31 -08:00
2025-12-27 22:24:19 -08:00
2026-01-06 19:32:20 -08:00
2025-12-31 13:14:15 -08:00
2026-01-06 18:59:25 -08:00
2025-12-29 12:43:22 -08:00
2025-12-29 13:16:47 -08:00
2026-01-16 12:01:43 -08:00
2026-01-07 21:41:29 -08:00
2026-01-08 20:21:02 -08:00
2025-12-27 16:02:15 -08:00
2025-12-31 13:14:15 -08:00
2025-12-24 00:06:41 -08:00
2026-01-13 08:41:25 -06:00
2026-01-08 20:50:56 -08:00
2025-12-28 18:43:09 -08:00
2025-12-27 16:02:15 -08:00
2025-12-30 16:00:22 -08:00
2026-01-13 11:42:30 -08:00
2026-01-04 15:21:36 -08:00
2026-01-03 13:27:36 -08:00
2025-12-24 00:10:14 -08:00
2025-12-24 00:10:14 -08:00
2026-01-09 13:40:52 -08:00
2026-01-09 13:40:52 -08:00
2025-12-30 15:57:08 -08:00
2025-12-30 15:57:08 -08:00
2026-01-15 19:23:07 -08:00
2025-12-29 14:39:43 -08:00
2025-12-30 18:04:26 -08:00
2026-01-15 19:23:07 -08:00
2026-01-15 19:23:07 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 19:23:09 -08:00
2026-01-07 21:27:20 -08:00
2026-01-15 19:22:52 -08:00
2026-01-15 19:22:52 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 19:23:07 -08:00
2026-01-06 12:52:19 -08:00
2026-01-07 21:27:20 -08:00
2026-01-07 21:27:20 -08:00
2026-01-15 08:02:20 -08:00
2026-01-07 21:27:20 -08:00
2026-01-02 00:05:12 -08:00
2026-01-15 07:55:08 -08:00
2025-12-24 23:33:34 -08:00
2026-01-03 12:44:16 -08:00
2025-12-28 20:48:37 -08:00
2025-12-30 16:29:28 -08:00
2026-01-14 20:43:07 -08:00
2026-01-15 07:55:08 -08:00
2025-12-27 16:08:34 -08:00
2025-12-27 16:02:15 -08:00
2025-12-27 16:02:15 -08:00
2026-01-06 18:59:25 -08:00
2026-01-06 18:59:25 -08:00
2025-12-30 17:14:55 -08:00
2025-12-30 16:29:28 -08:00
2026-01-02 01:07:34 -08:00
2025-12-28 10:05:16 -08:00
2026-01-15 07:55:08 -08:00
2026-01-10 13:34:53 -08:00
2026-01-12 01:35:22 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 07:55:08 -08:00
2026-01-10 22:38:04 -08:00
2026-01-15 07:55:08 -08:00