x/tools/gopls: 创建许多 /tmp/go-build* 目录

uelo1irk  于 6个月前  发布在  Go
关注(0)|答案(7)|浏览(44)

这是一个重复的#37368,它从未为我修复,我仍然会得到一些(大部分是空的)/tmp/go-build*文件夹。
我可以在当前版本、主分支和我的贫民窟重置的主分支上重现这个问题。

$ ls /tmp/go-build* | wc -l
2874
$ find /tmp/go-build* -type f | wc -l
261
$ ● find /tmp/go-build* -type f | tail -n 6
/tmp/go-build969177635/b001/exe/a.out
/tmp/go-build969177635/b001/importcfg.link
/tmp/go-build992265488/b001/exe/a.out
/tmp/go-build992265488/b001/importcfg.link
/tmp/go-build996176431/b001/exe/a.out
/tmp/go-build996176431/b001/importcfg.link
c8ib6hqw

c8ib6hqw3#

这是一个问题,无论是最新的发布还是最新的主分支。

c86crjj0

c86crjj04#

我认为在某个时刻,我怀疑这是go命令中的一个bug:它需要调用base.Exit来触发https://cs.opensource.google/go/go/+/master:src/cmd/go/internal/work/action.go;l=273-293,而对我来说,它在所有代码路径上都不是完全明显的。但我不确定。我不知道如何立即进一步调查这个问题。
我想我只是可以增加当前的1秒延迟,希望这是一个计时问题。
@bcmills@jayconrod@matloob

lmyy7pcs

lmyy7pcs5#

仍然存在问题。

6bc51xsx

6bc51xsx6#

这仍然是一个很大的问题,当处理大型库时,它会消耗掉所有的内存。

qvtsj1bj

qvtsj1bj7#

这仍然是一个很大的问题,当处理大型库时,它会消耗掉所有的内存。下次再发生这种情况时,你能运行du -sh /tmp/gopls.*并与du -sh /tmp/go-build*进行比较吗?我怀疑gopls文件相当大,我刚刚给https://go.dev/cl/496191发送了一封邮件来消除它们。

相关问题