ringabout
41637db18f
fixes ORC memory leaks; marks hooks with optQuirky (#24701)
closes https://github.com/nim-lang/Nim/pull/24686
closes #24693
```nim
# v.nim
import std/[json]
var test: seq[string]
var testData: JsonNode
try:
## Fails
testData = parseJson("""[{"id": 1"}, {"id": "2"}]""")
## Works
# testdata = parseJson("""[{"id": "1"}, {"id": "2"}]""")
## Fails
# let stream = newStringStream("""[{"id": 1"}, {"id": "2"}]""")
# testData = parseJson(stream, "input", false, false)
# stream.close()
except:
testData = %* []
for t in testData:
test.add(t["id"].getStr())
echo $test
```
With this PR:
```
==66425== LEAK SUMMARY:
==66425== definitely lost: 0 bytes in 0 blocks
==66425== indirectly lost: 0 bytes in 0 blocks
==66425== possibly lost: 0 bytes in 0 blocks
==66425== still reachable: 16,512 bytes in 2 blocks
==66425== suppressed: 0 bytes in 0 blocks
==66425== Reachable blocks (those to which a pointer was found) are not shown.
==66425== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==66425==
==66425== For lists of detected and suppressed errors, rerun with: -s
==66425== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
```
(cherry picked from commit f0b5bf359e)
2025-02-20 10:26:12 +01:00
..
2024-08-14 09:36:57 +02:00
2023-04-24 06:52:37 +02:00
2022-11-16 07:36:14 +01:00
2022-09-11 13:52:43 -04:00
2024-09-28 08:18:28 +02:00
2024-10-28 09:55:43 +01:00
2024-05-21 18:51:03 +02:00
2023-02-22 20:34:20 +01:00
2022-03-23 20:34:53 +01:00
2023-05-08 16:25:47 +02:00
2024-09-13 11:09:04 +02:00
2024-12-20 05:33:40 +01:00
2022-09-28 15:05:01 +02:00
2022-11-30 21:51:13 +01:00
2024-01-19 09:18:23 +01:00
2024-04-18 09:00:35 +02:00
2022-09-27 10:57:47 +02:00
2022-09-27 10:57:47 +02:00
2024-10-28 09:55:43 +01:00
2024-06-07 15:34:34 +02:00
2024-09-13 10:22:30 +02:00
2024-05-21 14:52:29 +02:00
2024-04-18 10:30:34 +02:00
2023-07-22 06:37:27 +02:00
2024-05-21 14:52:30 +02:00
2024-04-18 09:00:46 +02:00
2023-06-18 16:06:14 +02:00
2024-05-21 14:52:29 +02:00
2024-09-18 19:36:30 +02:00
2017-01-07 22:35:09 +01:00
2022-06-10 20:40:08 +02:00
2023-07-14 12:40:24 +02:00
2023-06-27 22:42:48 +02:00
2023-07-20 19:56:04 +02:00
2024-08-14 09:36:57 +02:00
2023-04-24 06:52:37 +02:00
2022-03-23 20:34:53 +01:00
2024-10-28 09:55:43 +01:00
2024-06-24 08:28:29 +02:00
2024-04-18 09:00:35 +02:00
2021-09-25 13:22:00 +02:00
2019-11-28 17:13:04 +01:00
2023-05-02 10:49:17 +02:00
2024-10-23 08:12:50 +02:00
2023-09-18 12:12:59 +02:00
2022-03-23 20:34:53 +01:00
2024-10-28 09:55:43 +01:00
2020-06-01 19:21:41 +02:00
2024-12-08 19:18:30 +01:00
2024-05-23 13:55:23 +02:00
2023-02-24 09:02:15 +01:00
2023-05-14 16:58:28 +02:00
2024-12-20 05:33:40 +01:00
2023-02-27 00:56:43 +01:00
2024-05-22 09:28:21 +02:00
2023-05-06 21:27:28 +02:00
2023-05-11 10:10:51 +02:00
2025-02-20 10:26:12 +01:00
2021-03-09 20:19:24 +01:00
2024-09-16 16:29:37 +02:00
2024-10-11 14:19:38 +02:00
2022-03-23 20:34:53 +01:00
2024-10-28 09:55:43 +01:00
2024-04-17 14:00:45 +02:00
2021-01-12 09:36:51 +01:00
2023-05-12 10:05:38 +02:00
2024-10-28 09:55:43 +01:00
2024-10-28 09:55:43 +01:00
2024-04-19 16:39:22 +02:00
2024-02-01 12:30:21 +01:00
2024-10-28 09:55:43 +01:00
2022-03-23 20:34:53 +01:00
2023-04-24 06:52:37 +02:00
2024-07-09 20:09:41 +02:00
2023-05-11 10:23:52 +02:00
2023-05-02 10:49:17 +02:00
2022-03-26 11:50:15 +01:00
2024-10-28 09:55:43 +01:00
2022-03-23 20:34:53 +01:00
2022-09-11 13:52:43 -04:00
2022-03-23 20:34:53 +01:00
2023-03-08 22:34:59 +01:00
2023-04-17 20:55:22 +02:00
2024-10-28 09:55:43 +01:00
2024-09-18 19:36:30 +02:00
2022-05-30 18:52:19 +02:00
2024-10-11 14:19:38 +02:00
2024-09-13 11:09:35 +02:00
2024-04-19 16:35:07 +02:00
2022-08-24 09:44:16 +02:00
2023-05-02 10:49:17 +02:00
2023-03-02 09:16:28 +01:00
2022-10-17 23:48:51 +02:00
2024-10-28 09:55:43 +01:00
2023-03-03 07:36:38 +01:00
2023-02-16 13:47:52 +01:00
2018-05-27 19:19:12 +02:00
2025-02-18 17:51:21 +01:00
2020-11-25 07:48:27 +01:00
2024-10-28 09:55:43 +01:00
2023-07-02 22:36:05 +02:00
2024-10-24 15:12:48 +02:00
2022-08-09 16:32:29 +08:00
2024-10-28 09:55:43 +01:00
2022-08-24 13:38:30 +02:00
2023-05-30 13:41:56 +02:00
2020-09-11 01:04:07 +02:00
2023-07-03 14:15:44 +02:00
2024-10-23 08:12:50 +02:00
2024-12-16 15:09:00 +01:00
2024-09-13 13:43:23 +02:00
2024-12-16 15:09:57 +01:00
2024-10-23 08:22:05 +02:00
2025-02-17 13:25:35 +01:00
2024-12-16 15:10:46 +01:00
2024-10-23 08:12:50 +02:00
2024-12-16 15:06:00 +01:00
2024-10-28 09:55:43 +01:00
2024-05-21 18:51:03 +02:00
2023-04-24 06:52:37 +02:00
2025-01-22 06:45:40 +01:00
2025-01-24 05:13:03 +01:00
2022-12-11 16:58:50 +01:00
2025-01-31 09:36:33 +01:00
2024-12-17 14:38:23 +01:00
2024-12-16 15:07:47 +01:00
2024-10-28 09:55:43 +01:00
2024-12-17 15:58:33 +01:00
2022-12-10 15:42:22 +01:00
2024-04-17 16:02:18 +02:00
2024-05-21 14:52:29 +02:00
2024-06-04 07:38:38 +02:00
2024-05-23 08:59:09 +02:00
2024-10-28 09:55:43 +01:00
2022-08-19 15:40:53 -04:00
2025-01-27 09:30:11 +01:00
2024-12-16 15:02:23 +01:00
2022-03-23 20:34:53 +01:00
2024-05-23 08:56:53 +02:00
2024-12-20 05:30:27 +01:00
2023-04-11 09:23:41 +02:00
2024-08-31 13:51:52 +02:00
2025-02-17 08:23:51 +01:00
2022-12-10 18:57:19 +01:00
2025-02-17 08:23:51 +01:00
2024-04-17 14:06:46 +02:00
2025-02-17 08:23:51 +01:00
2023-06-17 05:42:05 +02:00
2024-10-28 09:55:43 +01:00
2023-06-17 05:42:05 +02:00
2023-05-04 15:44:46 +08:00
2024-04-17 12:40:00 +02:00