TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Techniques for investigating untypical Go memory leaks

27 pointsby pavfarbabout 8 years ago

5 comments

leovonlabout 8 years ago
&quot;When we&#x27;ve initially started [..], dominant was Go 1.3, which had mechanisms to detect memory blocks allocated inside used libraries and all such blocks were to be freed by GC. Go 1.6 significantly improved its memory management, however as part of those improvements memory allocated by external libraries was no longer garbage collected by the runtime.&quot;<p>This looks like a serious API break.<p>To be fair, the whole idea of the runtime automagically managing external memory gives me shivers, and this looks like moving in the right direction - I just think it was not very wise to go with that initial decision in the first place.
评论 #13772764 未加载
评论 #13772153 未加载
ankurdhamaabout 8 years ago
&quot;var output = (*byte)(unsafe.Pointer(m))&quot; This will give you the pointer to the byte slice object which may have its own structure which is opaque to you and this is not same as &quot;getting the pointer to C byte array&quot;. It is weird that it was producing correct results at all :)
giantaheadabout 8 years ago
Techniques for noticing you&#x27;re almost shooting yourself in the leg, then suddenly saving the situation very last moment, mi amigo :)
yandrypozoabout 8 years ago
This remember me one of the Go Proverbs, Cgo is not Go <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=PAAkCSZUG1c&amp;t=12m37s" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=PAAkCSZUG1c&amp;t=12m37s</a>
评论 #13772165 未加载
bkeroackabout 8 years ago
Don&#x27;t use cgo (or any dependencies that use it) if you can at all avoid doing so.
评论 #13772173 未加载