Chris Lu
ece4f42ecd
fix(filer): avoid ReaderCache WaitGroup reuse race between reads and destroy ( #10190 )
...
filer: count reader on cacher waitgroup under the map lock
The read's wg.Add(1) ran after ReadChunkAt released the ReaderCache lock, so a
concurrent destroy() (error eviction, LRU, or UnCache) could start wg.Wait() on
a zero counter and then race the Add - a WaitGroup reuse that trips -race and
can panic. Move the Add under the lock, before the cacher can leave the
downloaders map, so a destroy is always ordered against a counted read.
2026-07-01 21:17:46 -07:00
..
2026-05-29 00:45:45 -07:00
2026-01-07 13:06:08 -08:00
2026-01-14 17:59:59 -08:00
2026-01-14 17:59:59 -08:00
2026-06-10 12:10:49 -07:00
2026-04-10 17:31:14 -07:00
2026-01-07 13:06:08 -08:00
2026-02-20 18:42:00 -08:00
2026-01-07 13:06:08 -08:00
2026-06-09 10:41:11 -07:00
2026-05-23 21:40:41 -07:00
2026-05-23 21:40:41 -07:00
2026-06-09 00:18:33 -07:00
2026-06-30 10:38:51 -07:00
2026-06-30 10:38:51 -07:00
2026-05-25 13:15:19 -07:00
2026-06-30 10:38:51 -07:00
2026-06-30 10:38:51 -07:00
2026-04-02 15:39:04 -07:00
2026-05-26 12:49:31 -07:00
2026-05-21 02:12:00 -07:00
2026-05-23 21:40:41 -07:00
2026-06-30 10:38:51 -07:00
2026-03-26 12:07:48 -07:00
2026-02-20 18:42:00 -08:00
2026-02-20 18:42:00 -08:00
2026-02-20 18:42:00 -08:00
2026-01-07 13:06:08 -08:00
2026-03-23 18:35:15 -07:00
2026-05-19 10:22:17 -07:00
2026-05-19 10:22:17 -07:00
2026-05-19 10:22:17 -07:00
2025-08-06 10:09:26 -07:00
2026-06-30 13:27:49 -07:00
2026-04-16 15:51:13 -07:00
2026-04-16 15:51:13 -07:00
2026-01-07 13:06:08 -08:00
2025-11-29 10:06:11 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-08-30 11:15:48 -07:00
2026-02-06 21:54:43 -08:00
2026-01-16 19:48:09 -08:00
2026-06-01 13:11:18 -07:00
2026-06-01 13:11:18 -07:00
2026-03-12 13:16:28 -07:00
2025-10-29 18:31:23 -07:00
2025-10-29 18:31:23 -07:00
2026-05-28 15:00:18 -07:00
2026-05-28 15:00:18 -07:00
2026-05-23 21:40:41 -07:00
2026-05-28 15:00:18 -07:00
2026-05-23 21:40:41 -07:00
2026-06-24 10:47:11 -07:00
2026-06-24 10:47:11 -07:00
2026-06-10 13:08:34 -07:00
2026-06-10 13:08:34 -07:00
2026-03-30 18:25:11 -07:00
2026-03-30 18:25:11 -07:00
2026-01-16 19:48:09 -08:00
2025-12-03 21:12:19 -08:00
2026-06-24 10:47:11 -07:00
2026-04-10 11:23:52 -07:00
2025-11-25 19:35:19 -08:00
2026-04-03 17:55:27 -07:00
2026-05-28 15:00:18 -07:00
2025-11-25 19:35:19 -08:00
2026-06-30 20:45:43 -07:00
2026-01-07 13:06:08 -08:00
2023-04-13 22:32:45 -07:00
2026-06-08 13:56:16 -07:00
2026-04-03 16:04:27 -07:00
2026-03-30 18:25:11 -07:00
2026-03-07 09:19:40 -08:00
2026-03-07 09:19:40 -08:00
2026-04-18 20:03:23 -07:00
2026-04-18 20:03:23 -07:00
2026-06-10 13:08:34 -07:00
2026-06-10 13:08:34 -07:00
2026-03-17 16:49:56 -07:00
2026-05-07 17:45:04 -07:00
2026-06-30 13:27:49 -07:00
2025-12-04 23:40:56 -08:00
2026-06-30 13:27:49 -07:00
2026-07-01 21:17:46 -07:00
2026-06-16 09:15:44 -07:00
2026-06-16 09:15:44 -07:00
2026-05-07 17:45:04 -07:00
2026-03-15 11:27:42 -07:00
2026-03-06 12:35:08 -08:00
2025-07-16 23:39:27 -07:00
2026-04-10 17:31:14 -07:00
2026-04-03 19:57:30 -07:00
2026-06-30 13:27:49 -07:00
2026-06-30 13:27:49 -07:00
2024-11-04 12:08:25 -08:00