You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AndrejMitrovic opened this issue
Apr 3, 2020
· 1 comment
Labels
C.GeneralAn issue which doesn't fit in the other categories (not blockchain related)type-bugThings don't work as they were intended to, or the way they were intended to work doesn't make sense
This returns pointers to GC-allocated memory back to C++, and the GC will collect the memory if it doesn't find roots pointing to it anymore.
In other cases like in #546 we had toVec() point to stack-allocated memory which went out of scope.
We should examine all usages of toVec() and fix them accordingly.
The text was updated successfully, but these errors were encountered:
AndrejMitrovic
added
the
type-bug
Things don't work as they were intended to, or the way they were intended to work doesn't make sense
label
Apr 3, 2020
The nominate() routine is actually recursive and is
called again by a timer, and the timer has a delegate
which captures the two previous and next values.
These need to be on the C heap rather than in D's
GC heap because it might get collected by the GC
if it doesn't contain any roots to it.
Part of bosagora#723
The nominate() routine is actually recursive and is
called again by a timer, and the timer has a delegate
which captures the two previous and next values.
These need to be on the C heap rather than in D's
GC heap because it might get collected by the GC
if it doesn't contain any roots to it.
Part of bosagora#723
The nominate() routine is actually recursive and is
called again by a timer, and the timer has a delegate
which captures the two previous and next values.
These need to be on the C heap rather than in D's
GC heap because it might get collected by the GC
if it doesn't contain any roots to it.
Part of #723
C.GeneralAn issue which doesn't fit in the other categories (not blockchain related)type-bugThings don't work as they were intended to, or the way they were intended to work doesn't make sense
toVec
returns an equivalent tostd::vector
which is just a set of 3 pointers. In some cases we're doing things wrongly. For example:https://github.com/bpfkorea/agora/blob/7a99b4d82a91638f78149744530e532e4505fda6/source/agora/consensus/protocol/Nominator.d#L474
This returns pointers to GC-allocated memory back to C++, and the GC will collect the memory if it doesn't find roots pointing to it anymore.
In other cases like in #546 we had toVec() point to stack-allocated memory which went out of scope.
We should examine all usages of
toVec()
and fix them accordingly.The text was updated successfully, but these errors were encountered: