Nim/lib
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ștefan Talpalaru a1c82c39af
asyncdispatch+stackTraceOverride: fix premature collection (#18039) [backport:1.2]
Copying StackTraceEntry instances when nimStackTraceOverride is defined
breaks the link between a cstring field that's supposed to point at
another string field in the same object.

Sometimes, the original object is garbage collected, that memory region
reused for storing other strings, so when the StackTraceEntry copy tries
to use its cstring pointer to construct a traceback message, it accesses
unrelated strings.

This only happens for async tracebacks and this patch prevents that by
making sure we only use the string fields when nimStackTraceOverride is
defined.

Async tracebacks also beautified slightly by getting rid of an extra line
that was supposed to be commented out, along with the corresponding debugging output.

There's also a micro-optimisation to avoid concatenating two strings just
to get their combined length.
2021-05-19 19:19:11 +02:00
..
arch/x86 Coroutine rework. 2017-02-20 17:24:19 +02:00
core Revert "fix #14873 properly by skipping abi field in importc type (#17944)" (#17992) 2021-05-15 06:50:39 +02:00
deprecated/pure Rename = to =copy in stdlib (#17781) 2021-04-19 13:16:10 +02:00
experimental gitutils: add diffStrings, diffFiles, and use it in testament to compare expected vs gotten (#17892) 2021-04-30 11:00:33 +02:00
genode Genode platform fixes (#17521) 2021-04-09 16:29:10 +02:00
genode_cpp [std/locks]close #7998(complete condition variables) (#17711) 2021-04-19 10:51:13 +02:00
impure Revert "[std/re]fix terrible and strange interface" (#18027) 2021-05-16 11:10:41 +08:00
js Add checked to dom (#18033) 2021-05-17 08:04:39 +02:00
nintendoswitch Rewrite the memory management code for Nintendo Switch (#8169) 2018-07-05 16:33:15 +02:00
packages/docutils follow-up #17930 - inline syntax highlighting (#18013) 2021-05-16 23:55:14 +02:00
posix fix #17888: remove undefined behavior for posix.open; fix tempfiles.createTempFile (#17889) 2021-04-29 13:42:56 +02:00
pure asyncdispatch+stackTraceOverride: fix premature collection (#18039) [backport:1.2] 2021-05-19 19:19:11 +02:00
std jsonutils: add customization for toJson via ToJsonOptions; generalize symbolName; add symbolRank (#18029) 2021-05-18 15:10:19 +02:00
system asyncdispatch+stackTraceOverride: fix premature collection (#18039) [backport:1.2] 2021-05-19 19:19:11 +02:00
windows improve std/tempfiles (#17920) 2021-05-11 16:35:43 +02:00
wrappers Fix #17755 (#17766) 2021-04-18 23:39:05 +02:00
cycle.h
nimbase.h fix #16752: threadvar now works with importcpp types; osx now uses native TLS (--tlsEmulation:off), which can be orders of magnitude faster (#16750) 2021-01-27 22:35:43 +01:00
nimhcr.nim fixes #17647 (#17667) 2021-04-07 23:26:53 +02:00
nimhcr.nim.cfg Initial version of the hot-code reloading support for native targets (#10729) 2019-02-26 15:48:55 +01:00
nimrtl.nim use single backtick (#17100) 2021-02-18 22:47:21 -08:00
nimrtl.nim.cfg Initial version of the hot-code reloading support for native targets (#10729) 2019-02-26 15:48:55 +01:00
stdlib.nimble attempt to make the build green again 2017-01-07 02:55:15 +01:00
system.nim refs #18011 disable some newly failing tests on cpp windows; refs #17946 increase timeout for tchannels (#18012) 2021-05-14 15:33:17 -07:00
system_overview.rst RST backtick refactor (all *.rst except manual.rst and rst_examples.rst) (#17258) 2021-03-18 20:37:55 -07:00