team-ide/teamide

文件管理器-SSH批量上传文件疑似有内存泄漏

yohoph opened this issue · 2 comments

软件版本:v2.6.19
系统环境:window
如题,我尝试使用SSH批量上传文件,当碰到文件数据过多,文件较大时,容易出现server崩溃现象。
1、文件数据在100MB~500MB不等;上传数量过多就一定会崩溃;
2、超大文件上传直接崩溃,比如:文件大小:5GB;

小建议:文件上传上来的临时文件名不要跟待上传的后缀一样,我系统有个按后缀扫描并读写文件功能,直接将上传中的文件给扫进去了。。。

internal/poll.execIO(0xc0000d4f18, 0x2852c20) C:/hostedtoolcache/windows/go/1.20.14/x64/src/internal/poll/fd_windows.go:175 +0xf7 internal/poll.(*FD).Read(0xc0000d4f00, {0xc0002ec000, 0x1000, 0x1000}) C:/hostedtoolcache/windows/go/1.20.14/x64/src/internal/poll/fd_windows.go:436 +0x2b8 net.(*netFD).Read(0xc0000d4f00, {0xc0002ec000?, 0xdd2586?, 0xc00141e5d0?}) C:/hostedtoolcache/windows/go/1.20.14/x64/src/net/fd_posix.go:55 +0x29 net.(*conn).Read(0xc00000a068, {0xc0002ec000?, 0x0?, 0xc00102a608?}) C:/hostedtoolcache/windows/go/1.20.14/x64/src/net/net.go:183 +0x45 net/http.(*connReader).Read(0xc00102a600, {0xc0002ec000, 0x1000, 0x1000}) C:/hostedtoolcache/windows/go/1.20.14/x64/src/net/http/server.go:782 +0x171 bufio.(*Reader).fill(0xc000c5ca20) C:/hostedtoolcache/windows/go/1.20.14/x64/src/bufio/bufio.go:106 +0xff bufio.(*Reader).Peek(0xc000c5ca20, 0x4) C:/hostedtoolcache/windows/go/1.20.14/x64/src/bufio/bufio.go:144 +0x5d net/http.(*conn).serve(0xc00186a090, {0x2ab3a58, 0xc00181c4b0}) C:/hostedtoolcache/windows/go/1.20.14/x64/src/net/http/server.go:2030 +0x77c created by net/http.(*Server).Serve C:/hostedtoolcache/windows/go/1.20.14/x64/src/net/http/server.go:3089 +0x5ed goroutine 1132 [sleep]: time.Sleep(0x1dcd6500) C:/hostedtoolcache/windows/go/1.20.14/x64/src/runtime/time.go:195 +0x13a teamide/internal/module/module_file_manager.newProgress.func1() D:/a/teamide/teamide/internal/module/module_file_manager/notice.go:184 +0xc8 created by teamide/internal/module/module_file_manager.newProgress D:/a/teamide/teamide/internal/module/module_file_manager/notice.go:173 +0x1aa goroutine 2257 [sleep]: time.Sleep(0x12a05f200) C:/hostedtoolcache/windows/go/1.20.14/x64/src/runtime/time.go:195 +0x13a teamide/internal/module/module_node.(*NodeContext).doAlive.func1.1() D:/a/teamide/teamide/internal/module/module_node/context_alive.go:25 +0x2c created by teamide/internal/module/module_node.(*NodeContext).doAlive.func1 D:/a/teamide/teamide/internal/module/module_node/context_alive.go:24 +0x1a5 goroutine 2271 [IO wait]: internal/poll.runtime_pollWait(0x1d025533e70, 0x72) C:/hostedtoolcache/windows/go/1.20.14/x64/src/runtime/netpoll.go:306 +0x89 internal/poll.(*pollDesc).wait(0x3e3?, 0xc000d4be60?, 0x0) C:/hostedtoolcache/windows/go/1.20.14/x64/src/internal/poll/fd_poll_runtime.go:84 +0x32 internal/poll.execIO(0xc00069c018, 0x2852c20) C:/hostedtoolcache/windows/go/1.20.14/x64/src/internal/poll/fd_windows.go:175 +0xf7 internal/poll.

附报错信息

可以试下新版本 修复了该问题,不是内存泄露, 是map的线程安全导致的