GithubHelp home page GithubHelp logo

cutehttpfileserver's Introduction

Hi there 👋

I'm an ODS on a binary tree. 🍊

I create some website template or some software (which is probably my coursework).

https://pay.ods.im

My Works:

Works

Click the image to find what it really is (or you may have find it in Pinned repo under this section).


My stats


My Blog Posts

See my site at https://minecraft.ods.im/


Recent activities

  1. 🗣 Commented on #54 in LielAmar/2FA
  2. 🗣 Commented on #1 in ods-im/ods-im
  3. 🗣 Commented on #1 in ods-im/ods-im

Support Me


BTW Can you help me star the pinned repos down below? Support the newbie developer~

cutehttpfileserver's People

Contributors

ods-im avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cutehttpfileserver's Issues

报错:runtime: out of memory: cannot allocate

runtime: out of memory: cannot allocate
343932928-byte block (956137472 in use) fatal error: out of memory
runtime stack:
runtime.throw(0x902ae2, 0xd) c:/go/src/runtime/panic.go:774 +0x64 runtime.largeAlloc(0x147ff400, 0x440101, 0x47000000) c:/go/src/runtime/malloc.go:1140 +0x108 runtime.mallocgc.func1() c:/go/src/runtime/malloc.go
:1033 +0x39 runtime.systemstack(0x44fcb2) c:/go/src/runtime/asm_386.s:399 +0x53 runtime.mstart() c:/go/src/runtime/proc.go:1146 goroutine 10 [running]: runtime.systemstack_switch() c:/go/src/runtime/asm_386.s:360 fp=0x119a1830 sp=0x119a182c pc=0x44fd60 runtime.mallocgc(0x147ff400, 0x880180, 0x1, 0x47000000) c:/go/src/runtime/malloc.go:1032 +0x684 fp=0x119a1884 sp=0x119a1830 pc=0x40a454 runtime.makeslice(0x880180, 0x147ff4, 0x147ff4, 0x47000000) c:/go/src/runtime/slice.go:49 +0x4f fp=0x119a1898 sp=0x119a1884 pc=0x43c85f image/jpeg.(*decoder).processSOS(0x11bb4000, 0xa, 0x2, 0x80) c:/go/src/image/jpeg/scan.go:156 +0x57f fp=0x119a1a78 sp=0x119a1898 pc=0x5e0d0f image/jpeg.(*decoder).decode(0x11bb4000, 0x9b4850, 0x118445d0, 0x408100, 0x88c0c0, 0x8e86c0, 0x924b00, 0x9b4850) c:/go/src/image/jpeg/reader.go:630 +0x29c fp=0x119a1a9c sp=0x119a1a78 pc=0x5df2cc image/jpeg.Decode(0x9b4850, 0x118445d0, 0x118445d0, 0x9b4850, 0x118445d0, 0x2) c:/go/src/image/jpeg/reader.go:779 +0x44 fp=0x119a1ac0 sp=0x119a1a9c pc=0x5e00f4 image.Decode(0x9b5630,
0x11ae1860, 0x11ae1860, 0x9b5630, 0x11ae1860, 0x0, 0x0, 0x457cf3) c:/go/src/image/format.go:93 +0xb1 fp=0x119a1b3c sp=0x119a1ac0 pc=0x5cdbb1 github.com/disintegration/imaging.Decode(...) D:/projects/private/chfs/src/github.com/disintegration/imaging/helpers.go:89 github.com/disintegration/imaging.Open(0x11b93180, 0x4a, 0x0, 0x0, 0x0, 0x0) D:/projects/private/chfs/src/github.com/disintegration/imaging/helpers.go:100 +0xd4 fp=0x119a1b90 sp=0x119a1b3c pc=0x5fa424 chfs/preview/imagepreview.GetPreviewImage(0x11b93180, 0x4a, 0x40, 0x40) D:/projects/private/chfs/src/chfs/preview/imagepreview/image.go:41 +0x2d fp=0x119a1bc8 sp=0x119a1b90 pc=0x5ffb5d chfs/preview.generate.func1(0x11b93180, 0x4a, 0x9bd5e0, 0x11b9e4e0, 0x0, 0x0, 0x457cf3, 0xd3ade0) D:/projects/private/chfs/src/chfs/preview/preview.go:62 +0x109 fp=0x119a1c08 sp=0x119a1bc8 pc=0x756789 path/filepath.walk(0x11b93180, 0x4a, 0x9bd5e0, 0x11b9e4e0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:358 +0x2dd fp=0x119a1c6c sp=0x119a1c08 pc=0x5bf96d path/filepath.walk(0x11b7f080, 0x40, 0x9bd5e0, 0x11b8b680, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1cd0 sp=0x119a1c6c pc=0x5bf889 path/filepath.walk(0x11b7ef40, 0x3d, 0x9bd5e0, 0x11b8b500, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1d34 sp=0x119a1cd0 pc=0x5bf889 path/filepath.walk(0x11ad6880, 0x38, 0x9bd5e0, 0x11b129c0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1d98 sp=0x119a1d34 pc=0x5bf889 path/filepath.walk(0x11ac1440, 0x2e, 0x9bd5e0, 0x11a32b40, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1dfc sp=0x119a1d98 pc=0x5bf889 path/filepath.walk(0x11ac1140, 0x28, 0x9bd5e0, 0x11a32000, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1e60 sp=0x119a1dfc pc=0x5bf889 path/filepath.walk(0x11ac0a20, 0x22, 0x9bd5e0, 0x11a2aae0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1ec4 sp=0x119a1e60 pc=0x5bf889 path/filepath.walk(0x11afcb20, 0x18, 0x9bd5e0, 0x11aff0e0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1f28 sp=0x119a1ec4 pc=0x5bf889 path/filepath.walk(0x11816940, 0xf, 0x9bd5e0, 0x1184fbc0, 0x924650, 0x0, 0x11827dc0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x119a1f8c sp=0x119a1f28 pc=0x5bf889 path/filepath.Walk(0x11816940, 0xf, 0x924650, 0xd3d2c0, 0xd3d2c0) c:/go/src/path/filepath/path.go:404 +0xdd fp=0x119a1fb8 sp=0x119a1f8c pc=0x5bfa6d chfs/preview.generate(0x11816940, 0xf) D:/projects/private/chfs/src/chfs/preview/preview.go:58 +0x33 fp=0x119a1fd0 sp=0x119a1fb8 pc=0x756673 chfs/preview.PreviewGeneratorDeamon(0x11806e98, 0x1, 0x1) D:/projects/private/chfs/src/chfs/preview/preview.go:23 +0x33 fp=0x119a1fe0 sp=0x119a1fd0 pc=0x756333 runtime.goexit() c:/go/src/runtime/asm_386.s:1325 +0x1 fp=0x119a1fe4 sp=0x119a1fe0 pc=0x451671 created by main.main D:/projects/private/chfs/src/chfs/main.go:124 +0x13f0 goroutine 1 [IO wait]: internal/poll.runtime_pollWait(0x31a85070, 0x72, 0x9b6530) c:/go/src/runtime/netpoll.go:184 +0x4b internal/poll.(*pollDesc).wait(0x1186943c, 0x72, 0xc98600, 0x0, 0x0) c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x37 internal/poll.(*ioSrv).ExecIO(0xd3a214, 0x11869354, 0x11990060, 0x17, 0x1, 0x0) c:/go/src/internal/poll/fd_windows.go:228 +0xef internal/poll.(*FD).acceptOne(0x11869340, 0x270, 0x119ae000, 0x2, 0x2, 0x11869354, 0xf, 0x1c, 0x0, 0x46) c:/go/src/internal/poll/fd_windows.go:896 +0x82 internal/poll.(*FD).Accept(0x11869340, 0x11959dc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) c:/go/src/internal/poll/fd_windows.go:930 +0x12e net.(*netFD).accept(0x11869340, 0x0, 0xd3bcc0, 0x0) c:/go/src/net/fd_windows.go:193 +0x66 net.(*TCPListener).accept(0x11804d60, 0x119ac040, 0x4f5ce000, 0x43383d) c:/go/src/net/tcpsock_posix.go:139 +0x27 net.(*TCPListener).Accept(0x11804d60, 0x11867e30, 0xc, 0x11826000, 0x6b54a1) c:/go/src/net/tcpsock.go:261 +0x3c net/http.(*Server).Serve(0x11855710, 0x9ba330, 0x11804d60, 0x0, 0x0) c:/go/src/net/http/server.go:2896 +0x22f main.main() D:/projects/private/chfs/src/chfs/main.go:189 +0xf58 goroutine 6 [sync.Cond.Wait]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 sync.runtime_notifyListWait(0x1189c908, 0x0) c:/go/src/runtime/sema.go:510 +0x121 sync.(*Cond).Wait(0x1189c900) c:/go/src/sync/cond.go:56 +0x66 github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x1184eae0, 0x0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x74 github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x1184eae0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38 created by github.com/cihub/seelog.NewAsyncLoopLogger D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x72 goroutine 7 [sync.Cond.Wait]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 sync.runtime_notifyListWait(0x1189caa8, 0x0) c:/go/src/runtime/sema.go:510 +0x121 sync.(*Cond).Wait(0x1189caa0) c:/go/src/sync/cond.go:56 +0x66 github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x1184eba0, 0x0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x74 github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x1184eba0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38 created by github.com/cihub/seelog.NewAsyncLoopLogger D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x72 goroutine 8 [sync.Cond.Wait]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 sync.runtime_notifyListWait(0x118c06a8, 0x0) c:/go/src/runtime/sema.go:510 +0x121 sync.(*Cond).Wait(0x118c06a0) c:/go/src/sync/cond.go:56 +0x66 github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x1184f920, 0x0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x74 github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x1184f920) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38 created by github.com/cihub/seelog.NewAsyncLoopLogger D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x72 goroutine 9 [sleep]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 time.Sleep(0x85c50000, 0x1a31) c:/go/src/runtime/time.go:105 +0x159 main.main.func1() D:/projects/private/chfs/src/chfs/main.go:118 +0x2b created by main.main D:/projects/private/chfs/src/chfs/main.go:114 +0x888 goroutine 37 [IO wait]: internal/poll.runtime_pollWait(0x31a84f68, 0x77, 0x9b6530) c:/go/src/runtime/netpoll.go:184 +0x4b internal/poll.(*pollDesc).wait(0x119aa0fc, 0x77, 0xc98600, 0x0, 0x0) c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x37 internal/poll.(*ioSrv).ExecIO(0xd3a218, 0x119aa088, 0x924be0, 0x1, 0x2dca0000, 0x0) c:/go/src/internal/poll/fd_windows.go:228 +0xef internal/poll.SendFile(0x119aa000, 0x278, 0x4695b8b, 0x0, 0x0, 0x0, 0x0, 0x0) c:/go/src/internal/poll/sendfile_windows.go:34 +0x128 net.sendFile(0x119aa000, 0x9b50b0, 0x11ae4e40, 0x119ac000, 0x119b1000, 0x13e, 0x1000, 0x13e) c:/go/src/net/sendfile_windows.go:38 +0xa2 net.(*TCPConn).readFrom(0x11948048, 0x9b50b0, 0x11ae4e40, 0x8000104, 0x0, 0xffffffff, 0x6ab9f0) c:/go/src/net/tcpsock_posix.go:51 +0x37 net.(*TCPConn).ReadFrom(0x11948048, 0x9b50b0, 0x11ae4e40, 0xc, 0x118507fc, 0x407601, 0x11808000) c:/go/src/net/tcpsock.go:103 +0x3f net/http.(*response).ReadFrom(0x11855950, 0x9b50b0, 0x11ae4e40, 0x0, 0x0, 0x0, 0x0) c:/go/src/net/http/server.go:603 +0x252 io.copyBuffer(0x9b5530, 0x11855950, 0x9b50b0, 0x11ae4e40, 0x0, 0x0, 0x0, 0x408199, 0x88c300, 0x8e7bc0, ...) c:/go/src/io/io.go:388 +0x29e io.Copy(...) c:/go/src/io/io.go:364 io.CopyN(0x9b5530, 0x11855950, 0x9b5630, 0x118074c8, 0x4695b8b, 0x0, 0x23, 0x0, 0x0, 0x11811430) c:/go/src/io/io.go:340 +0x8e net/http.serveContent(0x9ba470, 0x11855950, 0x1187ac00, 0x11818877, 0x3d, 0x34249af8, 0x0, 0xdbe050fb, 0xe, 0xd3bcc0, ...) c:/go/src/net/http/fs.go:298 +0x21f net/http.ServeContent(0x9ba470, 0x11855950, 0x1187ac00, 0x11818877, 0x3d, 0x34249af8, 0x0, 0xdbe050fb, 0xe, 0xd3bcc0, ...) c:/go/src/net/http/fs.go:165 +0x98 golang.org/x/net/webdav.(*Handler).handleGetHeadPost(0x118c17e0, 0x9ba470, 0x11855950, 0x1187ac00, 0xc8
, 0x0, 0x0) D:/projects/private/chfs/src/golang.org/x/net/webdav/webdav.go:219 +0x39c golang.org/x/net/webdav.(*Handler).ServeHTTP(0x118c17e0, 0x9ba470, 0x11855950, 0x1187ac00) D:/projects/private/chfs/src/golang.org/x/net/webdav/webdav.go:53 +0xa2 main.webdavHandler(0x9ba470, 0x11855950, 0x1187ac00) D:/projects/private/chfs/src/chfs/mywebdav.go:81 +0x3cb main.(*filterRouter).ServeHTTP(0x118071f8, 0x9ba470, 0x11855950, 0x1187ac00) D:/projects/private/chfs/src/chfs/main.go:277 +0xf47 net/http.serverHandler.ServeHTTP(0x11855710, 0x9ba470, 0x11855950, 0x1187ac00) c:/go/src/net/http/server.go:2802 +0x84 net/http.(*conn).serve(0x119ac000, 0x9bb000, 0x118c1be0) c:/go/src/net/http/server.go:1890 +0x7ad created by net/http.(*Server).Serve c:/go/src/net/http/server.go:2927 +0x311 goroutine 51 [IO wait]: internal/poll.runtime_pollWait(0x31a84f68, 0x72, 0x9b6530) c:/go/src/runtime/netpoll.go:184 +0x4b internal/poll.(*pollDesc).wait(0x119aa0fc, 0x72, 0xc98600, 0x0, 0x0) c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x37 internal/poll.(*ioSrv).ExecIO(0xd3a214, 0x119aa014, 0x924bac, 0x0, 0x1193dea4, 0x56cfcb) c:/go/src/internal/poll/fd_windows.go:228 +0xef internal/poll.(*FD).Read(0x119aa000, 0x118c1c0d, 0x1, 0x1, 0x0, 0x0, 0x0) c:/go/src/internal/poll/fd_windows.go:527 +0x10a net.(*netFD).Read(0x119aa000, 0x118c1c0d, 0x1, 0x1, 0x1183d800, 0x1193dfd0, 0x1) c:/go/src/net/fd_windows.go:152 +0x3f net.(*conn).Read(0x11948048, 0x118c1c0d, 0x1, 0x1, 0x0, 0x0, 0x0) c:/go/src/net/net.go:184 +0x56 net/http.(*connReader).backgroundRead(0x118c1c00) c:/go/src/net/http/server.go:677 +0x46 created by net/http.(*connReader).startBackgroundRead c:/go/src/net/http/server.go:673 +0xae goroutine 35 [IO wait]: internal/poll.runtime_pollWait(0x31a84fec, 0x72, 0x9b6530) c:/go/src/runtime/netpoll.go:184 +0x4b internal/poll.(*pollDesc).wait(0x1186959c, 0x72, 0xc98600, 0x0, 0x0) c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x37 internal/poll.(*ioSrv).ExecIO(0xd3a214, 0x118694b4, 0x924bac, 0x0, 0x6c1df1, 0xd35d20) c:/go/src/internal/poll/fd_windows.go:228 +0xef internal/poll.(*FD).Read(0x118694a0, 0x11994000, 0x1000, 0x1000, 0x0, 0x0, 0x0) c:/go/src/internal/poll/fd_windows.go:527 +0x10a net.(*netFD).Read(0x118694a0, 0x11994000, 0x1000, 0x1000, 0x11833d48, 0x44ef50, 0x11827ce0) c:/go/src/net/fd_windows.go:152 +0x3f net.(*conn).Read(0x11948008, 0x11994000, 0x1000, 0x1000, 0x0, 0x0, 0x0) c:/go/src/net/net.go:184 +0x56 net/http.(*persistConn).Read(0x118881e0, 0x11994000, 0x1000, 0x1000, 0x11998080, 0x404134, 0x11998080) c:/go/src/net/http/transport.go:1752 +0x143 bufio.(*Reader).fill(0x11944030) c:/go/src/bufio/bufio.go:100 +0xe9 bufio.(*Reader).Peek(0x11944030, 0x1, 0x0, 0x0, 0x1, 0x11998000, 0x0) c:/go/src/bufio/bufio.go:138 +0x41 net/http.(*persistConn).readLoop(0x118881e0) c:/go/src/net/http/transport.go:1905 +0x1c0 created by net/http.(*Transport).dialConn c:/go/src/net/http/transport.go:1574 +0x8fe goroutine 36 [select]: net/http.(*persistConn).writeLoop(0x118881e0) c:/go/src/net/http/transport.go:2204 +0xef created by net/http.(*Transport).dialConn c:/go/src/net/http/transport.go:1575 +0x91f

ipv6

如果支持ipv6那简直就完美了

内存溢出,16G内存,使用率36%,启动约5分钟,直接报错网站停止运行

website:http://192.168.1.35/
webdav :http://192.168.1.35/webdav
runtime: out of memory: cannot allocate
1183981568-byte block (8224768 in use) fatal error: out of memory
runtime stack:
runtime.throw(0x902ae2, 0xd) c:/go/src/runtime/panic.go:774 +0x64 runtime.largeAlloc(0x46921800, 0x890101, 0x321b1fc8) c:/go/src/runtime/malloc.go:1140 +0x108 runtime.mallocgc.func1() c:/go/src/runtime/malloc.go:1033 +0x39 runtime.systemstack(0x0)
c:/go/src/runtime/asm_386.s:399 +0x53 runtime.mstart() c:/go/src/runtime/proc.go:1146 goroutine 23 [running]: runtime.systemstack_switch() c:/go/src/runtime/asm_386.s:360 fp=0x1183b89c sp=0x1183b898 pc=0x44fd60 runtime.mallocgc(0x46921800, 0x878420, 0x1, 0x433290) c:/go/src/runtime/malloc.go:1032 +0x684 fp=0x1183b8f0 sp=0x1183b89c pc=0x40a454 runtime.makeslice(0x878420, 0x46921800, 0x46921800, 0x5310) c:/go/src/runtime/slice.go:49 +0x4f fp=0x1183b904 sp=0x1183b8f0 pc=0x43c85f image.NewYCbCr(0x0, 0x0, 0x4880, 0x5310, 0x0, 0x756834c0) c:/go/src/image/ycbcr.go:174 +0x89 fp=0x1183b950 sp=0x1183b904 pc=0x5d3279 image/jpeg.(*decoder).makeImg(0x11c94000, 0x910, 0xa62) c:/go/src/image/jpeg/scan.go:40 +0x224 fp=0x1183b9c4 sp=0x1183b950 pc=0x5e05a4 image/jpeg.(*decoder).processSOS(0x11c94000, 0xa, 0x2, 0x80) c:/go/src/image/jpeg/scan.go:150 +0xf71 fp=0x1183bba4 sp=0x1183b9c4 pc=0x5e1701 image/jpeg.(*decoder).decode(0x11c94000, 0x9b4850, 0x11918030, 0x408100, 0x88c0c0, 0x8e86c0, 0x924b00, 0x9b4850) c:/go/src/image/jpeg/reader.go:630 +0x29c fp=0x1183bbc8 sp=0x1183bba4 pc=0x5df2cc image/jpeg.Decode(0x9b4850, 0x11918030, 0x11918030, 0x9b4850, 0x11918030, 0x2) c:/go/src/image/jpeg/reader.go:779 +0x44 fp=0x1183bbec sp=0x1183bbc8 pc=0x5e00f4 image.Decode(0x9b5630, 0x11807b50, 0x11807b50, 0x9b5630, 0x11807b50, 0x0, 0x0, 0x457cf3) c:/go/src/image/format.go:93 +0xb1 fp=0x1183bc68 sp=0x1183bbec pc=0x5cdbb1 github.com/disintegration/imaging.Decode(...) D:/projects/private/chfs/src/github.com/disintegration/imaging/helpers.go:89 github.com/disintegration/imaging.Open(0x11aadb20, 0x63, 0x0, 0x0, 0x0, 0x0) D:/projects/private/chfs/src/github.com/disintegration/imaging/helpers.go:100 +0xd4 fp=0x1183bcbc sp=0x1183bc68 pc=0x5fa424 chfs/preview/imagepreview.GetPreviewImage(0x11aadb20, 0x63, 0x40, 0x40) D:/projects/private/chfs/src/chfs/preview/imagepreview/image.go:41 +0x2d fp=0x1183bcf4 sp=0x1183bcbc pc=0x5ffb5d chfs/preview.generate.func1(0x11aadb20, 0x63, 0x9bd5e0, 0x11abcea0, 0x0, 0x0, 0x457cf3, 0xd3ade0) D:/projects/private/chfs/src/chfs/preview/preview.go:62 +0x109 fp=0x1183bd34 sp=0x1183bcf4 pc=0x756789 path/filepath.walk(0x11aadb20, 0x63, 0x9bd5e0, 0x11abcea0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:358 +0x2dd fp=0x1183bd98 sp=0x1183bd34 pc=0x5bf96d path/filepath.walk(0x11bf21e0, 0x58, 0x9bd5e0, 0x11abccc0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x1183bdfc sp=0x1183bd98 pc=0x5bf889 path/filepath.walk(0x11864320, 0x4b, 0x9bd5e0, 0x11a8d8c0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x1183be60 sp=0x1183bdfc pc=0x5bf889 path/filepath.walk(0x11a217c0, 0x32, 0x9bd5e0, 0x11a8cd20, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x1183bec4 sp=0x1183be60 pc=0x5bf889 path/filepath.walk(0x1185f3e0, 0x1c, 0x9bd5e0, 0x11879b00, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x1183bf28 sp=0x1183bec4 pc=0x5bf889 path/filepath.walk(0x11860680, 0xd, 0x9bd5e0, 0x11878cc0, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:382 +0x1f9 fp=0x1183bf8c sp=0x1183bf28 pc=0x5bf889 path/filepath.Walk(0x11860680, 0xd, 0x924650, 0x0, 0x0) c:/go/src/path/filepath/path.go:404 +0xdd fp=0x1183bfb8 sp=0x1183bf8c pc=0x5bfa6d chfs/preview.generate(0x11860680, 0xd) D:/projects/private/chfs/src/chfs/preview/preview.go:58 +0x33 fp=0x1183bfd0 sp=0x1183bfb8 pc=0x756673 chfs/preview.PreviewGeneratorDeamon(0x11856600, 0x2, 0x2) D:/projects/private/chfs/src/chfs/preview/preview.go:23 +0x33 fp=0x1183bfe0 sp=0x1183bfd0 pc=0x756333 runtime.goexit() c:/go/src/runtime/asm_386.s:1325 +0x1 fp=0x1183bfe4 sp=0x1183bfe0 pc=0x451671 created by main.main D:/projects/private/chfs/src/chfs/main.go:124 +0x13f0 goroutine 1 [IO wait, 2 minutes]: internal/poll.runtime_pollWait(0x117b90e8, 0x72, 0x9b6530) c:/go/src/runtime/netpoll.go:184 +0x4b internal/poll.(*pollDesc).wait(0x1196c0fc, 0x72, 0xc98600, 0x0, 0x0) c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x37 internal/poll.(*ioSrv).ExecIO(0xd3a214, 0x1196c014, 0x11804100, 0x17, 0x1, 0x0) c:/go/src/internal/poll/fd_windows.go:228 +0xef internal/poll.(*FD).acceptOne(0x1196c000, 0x20c, 0x119580f0, 0x2, 0x2, 0x1196c014, 0x4, 0x46, 0x0, 0x0) c:/go/src/internal/poll/fd_windows.go:896 +0x82 internal/poll.(*FD).Accept(0x1196c000, 0x11c53dc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) c:/go/src/internal/poll/fd_windows.go:930 +0x12e net.(*netFD).accept(0x1196c000, 0x2c, 0x11836540, 0x1200008) c:/go/src/net/fd_windows.go:193 +0x66 net.(*TCPListener).accept(0x118040e0, 0x11806200, 0x40a69c, 0x20) c:/go/src/net/tcpsock_posix.go:139 +0x27 net.(*TCPListener).Accept(0x118040e0, 0x8c9d20, 0x1181e7a0, 0x8879e0, 0xd314d8) c:/go/src/net/tcpsock.go:261 +0x3c net/http.(*Server).Serve(0x119481b0, 0x9ba330, 0x118040e0, 0x0, 0x0) c:/go/src/net/http/server.go:2896 +0x22f main.main() D:/projects/private/chfs/src/chfs/main.go:189 +0xf58 goroutine 19 [sync.Cond.Wait, 2 minutes]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 sync.runtime_notifyListWait(0x118bc8e8, 0x0) c:/go/src/runtime/sema.go:510 +0x121 sync.(*Cond).Wait(0x118bc8e0) c:/go/src/sync/cond.go:56 +0x66 github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x1185aa20, 0x0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x74 github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x1185aa20) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38 created by github.com/cihub/seelog.NewAsyncLoopLogger D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x72 goroutine 20 [sync.Cond.Wait, 2 minutes]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 sync.runtime_notifyListWait(0x118bca88, 0x0) c:/go/src/runtime/sema.go:510 +0x121 sync.(*Cond).Wait(0x118bca80) c:/go/src/sync/cond.go:56 +0x66 github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x1185aae0, 0x0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x74 github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x1185aae0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38 created by github.com/cihub/seelog.NewAsyncLoopLogger D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x72 goroutine 21 [sync.Cond.Wait, 2 minutes]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 sync.runtime_notifyListWait(0x118e29c8, 0x0) c:/go/src/runtime/sema.go:510 +0x121 sync.(*Cond).Wait(0x118e29c0) c:/go/src/sync/cond.go:56 +0x66 github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x1185b860, 0x0) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x74 github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x1185b860) D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38 created by github.com/cihub/seelog.NewAsyncLoopLogger D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x72 goroutine 22 [sleep, 2 minutes]: runtime.goparkunlock(...) c:/go/src/runtime/proc.go:310 time.Sleep(0x85c50000, 0x1a31) c:/go/src/runtime/time.go:105 +0x159 main.main.func1() D:/projects/private/chfs/src/chfs/main.go:118 +0x2b created by main.main D:/projects/private/chfs/src/chfs/main.go:114 +0x888

当文件名存在+时,无法上传这个文件

我一共有六个文件需要上传,发现有三个文件一直卡住无法完成上传,经过排查发现这三个视频文件都带有“+”这个符号,我把文件重命名删除加号之后即可正常上传

内存溢出

我在arm 32 的路由器上部署了chfs,正常启动,剩余可用内存不足100M,小文件可以上传,当上传大文件(300M)时出现内存溢出,日志如下,需要怎么处理

fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x54b47e, 0x16)
	c:/go/src/runtime/panic.go:774 +0x5c
runtime.sysMap(0x6400000, 0x4000000, 0x9a3e60)
	c:/go/src/runtime/mem_linux.go:169 +0xa8
runtime.(*linearAlloc).alloc(0x9978a8, 0x4000000, 0x400000, 0x9a3e60, 0x0)
	c:/go/src/runtime/malloc.go:1387 +0x94
runtime.(*mheap).sysAlloc(0x9975b0, 0x4000000, 0x0, 0x0)
	c:/go/src/runtime/malloc.go:607 +0x54
runtime.(*mheap).grow(0x9975b0, 0x2000, 0xffffffff)
	c:/go/src/runtime/mheap.go:1255 +0x84
runtime.(*mheap).allocSpanLocked(0x9975b0, 0x2000, 0x9a3e70, 0x1)
	c:/go/src/runtime/mheap.go:1170 +0x264
runtime.(*mheap).alloc_m(0x9975b0, 0x2000, 0x101, 0x0)
	c:/go/src/runtime/mheap.go:1022 +0xd0
runtime.(*mheap).alloc.func1()
	c:/go/src/runtime/mheap.go:1093 +0x3c
runtime.(*mheap).alloc(0x9975b0, 0x2000, 0x10101, 0x21fc000)
	c:/go/src/runtime/mheap.go:1092 +0x60
runtime.largeAlloc(0x3fffe00, 0x101, 0x21fc2a0)
	c:/go/src/runtime/malloc.go:1138 +0x74
runtime.mallocgc.func1()
	c:/go/src/runtime/malloc.go:1033 +0x38
runtime.systemstack(0x2226000)
	c:/go/src/runtime/asm_arm.s:354 +0x84
runtime.mstart()
	c:/go/src/runtime/proc.go:1146

goroutine 17 [running]:
runtime.systemstack_switch()
	c:/go/src/runtime/asm_arm.s:298 +0x4 fp=0x2069a2c sp=0x2069a28 pc=0x6c014
runtime.mallocgc(0x3fffe00, 0x4c3580, 0x401, 0x0)
	c:/go/src/runtime/malloc.go:1032 +0x8d0 fp=0x2069a94 sp=0x2069a2c pc=0x1b708
runtime.makeslice(0x4c3580, 0x3fffe00, 0x3fffe00, 0x21fa450)
	c:/go/src/runtime/slice.go:49 +0x6c fp=0x2069aa8 sp=0x2069a94 pc=0x55de0
bytes.makeSlice(0x3fffe00, 0x0, 0x0, 0x0)
	c:/go/src/bytes/buffer.go:229 +0x60 fp=0x2069adc sp=0x2069aa8 pc=0x10143c
bytes.(*Buffer).grow(0x20bd0a0, 0x200, 0x5d3)
	c:/go/src/bytes/buffer.go:142 +0x138 fp=0x2069b00 sp=0x2069adc pc=0x100dd4
bytes.(*Buffer).ReadFrom(0x20bd0a0, 0x5ff550, 0x220c2d0, 0xa6ca9178, 0x20bd0a0, 0x1, 0x18)
	c:/go/src/bytes/buffer.go:202 +0x48 fp=0x2069b3c sp=0x2069b00 pc=0x101238
io.copyBuffer(0x5fef50, 0x20bd0a0, 0x5ff550, 0x220c2d0, 0x0, 0x0, 0x0, 0x30, 0x501f78, 0x2017701, ...)
	c:/go/src/io/io.go:388 +0x2fc fp=0x2069b7c sp=0x2069b3c pc=0xafcd0
io.Copy(...)
	c:/go/src/io/io.go:364
io.CopyN(0x5fef50, 0x20bd0a0, 0x5ff5f8, 0x204a500, 0x2000001, 0x0, 0x1, 0x204a4c0, 0x2ebd1c, 0x50e458)
	c:/go/src/io/io.go:340 +0x84 fp=0x2069bac sp=0x2069b7c pc=0xaf83c
mime/multipart.(*Reader).readForm(0x204a4c0, 0x2000000, 0x0, 0x0, 0x0, 0x0)
	c:/go/src/mime/multipart/formdata.go:80 +0x4f8 fp=0x2069c94 sp=0x2069bac pc=0x295c60
mime/multipart.(*Reader).ReadForm(...)
	c:/go/src/mime/multipart/formdata.go:31
net/http.(*Request).ParseMultipartForm(0x2078980, 0x2000000, 0x0, 0x2, 0x220c220)
	c:/go/src/net/http/request.go:1298 +0x80 fp=0x2069d10 sp=0x2069c94 pc=0x2ef78c
net/http.(*Request).FormValue(0x2078980, 0x540628, 0x6, 0x1, 0x0)
	c:/go/src/net/http/request.go:1326 +0x98 fp=0x2069d28 sp=0x2069d10 pc=0x2efc34
main.(*filterRouter).ServeHTTP(0x200f2a8, 0x6037c0, 0x2017320, 0x2078980)
	D:/projects/private/chfs/src/chfs/main.go:357 +0x950 fp=0x2069d9c sp=0x2069d28 pc=0x465730
net/http.serverHandler.ServeHTTP(0x2017e60, 0x6037c0, 0x2017320, 0x2078980)
	c:/go/src/net/http/server.go:2802 +0x88 fp=0x2069db8 sp=0x2069d9c pc=0x2fbbfc
net/http.(*conn).serve(0x21f8000, 0x604420, 0x21f4080)
	c:/go/src/net/http/server.go:1890 +0x7e0 fp=0x2069fdc sp=0x2069db8 pc=0x2f8184
runtime.goexit()
	c:/go/src/runtime/asm_arm.s:868 +0x4 fp=0x2069fdc sp=0x2069fdc pc=0x6dd4c
created by net/http.(*Server).Serve
	c:/go/src/net/http/server.go:2927 +0x2f0

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0xa6ca9070, 0x72, 0x0)
	c:/go/src/runtime/netpoll.go:184 +0x44
internal/poll.(*pollDesc).wait(0x2062604, 0x72, 0x0, 0x0, 0x54142b)
	c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	c:/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0x20625f0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	c:/go/src/internal/poll/fd_unix.go:384 +0x1a8
net.(*netFD).accept(0x20625f0, 0x9a2f68, 0x0, 0x1)
	c:/go/src/net/fd_unix.go:238 +0x20
net.(*TCPListener).accept(0x200d010, 0x21f82e0, 0x6eb69b00, 0x49068)
	c:/go/src/net/tcpsock_posix.go:139 +0x20
net.(*TCPListener).Accept(0x200d010, 0x2068e28, 0xc, 0x20000e0, 0x2fc064)
	c:/go/src/net/tcpsock.go:261 +0x3c
net/http.(*Server).Serve(0x2017e60, 0x603660, 0x200d010, 0x0, 0x0)
	c:/go/src/net/http/server.go:2896 +0x220
main.main()
	D:/projects/private/chfs/src/chfs/main.go:189 +0xdc0

goroutine 6 [sync.Cond.Wait]:
runtime.goparkunlock(...)
	c:/go/src/runtime/proc.go:310
sync.runtime_notifyListWait(0x200b1a8, 0x0)
	c:/go/src/runtime/sema.go:510 +0x150
sync.(*Cond).Wait(0x200b1a0)
	c:/go/src/sync/cond.go:56 +0x6c
github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x20729c0, 0x2000000)
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x84
github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x20729c0)
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38
created by github.com/cihub/seelog.NewAsyncLoopLogger
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x6c

goroutine 7 [sync.Cond.Wait]:
runtime.goparkunlock(...)
	c:/go/src/runtime/proc.go:310
sync.runtime_notifyListWait(0x200b348, 0x0)
	c:/go/src/runtime/sema.go:510 +0x150
sync.(*Cond).Wait(0x200b340)
	c:/go/src/sync/cond.go:56 +0x6c
github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x2072a80, 0x0)
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x84
github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x2072a80)
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38
created by github.com/cihub/seelog.NewAsyncLoopLogger
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x6c

goroutine 8 [sync.Cond.Wait]:
runtime.goparkunlock(...)
	c:/go/src/runtime/proc.go:310
sync.runtime_notifyListWait(0x20bcf88, 0x0)
	c:/go/src/runtime/sema.go:510 +0x150
sync.(*Cond).Wait(0x20bcf80)
	c:/go/src/sync/cond.go:56 +0x6c
github.com/cihub/seelog.(*asyncLoopLogger).processItem(0x2073680, 0x0)
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:50 +0x84
github.com/cihub/seelog.(*asyncLoopLogger).processQueue(0x2073680)
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:63 +0x38
created by github.com/cihub/seelog.NewAsyncLoopLogger
	D:/projects/private/chfs/src/github.com/cihub/seelog/behavior_asynclooplogger.go:40 +0x6c

goroutine 9 [sleep]:
runtime.goparkunlock(...)
	c:/go/src/runtime/proc.go:310
time.Sleep(0x85c50000, 0x1a31)
	c:/go/src/runtime/time.go:105 +0x158
main.main.func1()
	D:/projects/private/chfs/src/chfs/main.go:118 +0x28
created by main.main
	D:/projects/private/chfs/src/chfs/main.go:114 +0x76c

goroutine 10 [sleep]:
runtime.goparkunlock(...)
	c:/go/src/runtime/proc.go:310
time.Sleep(0xb2c97000, 0x8b)
	c:/go/src/runtime/time.go:105 +0x158
chfs/preview.PreviewGeneratorDeamon(0x200eee0, 0x1, 0x1)
	D:/projects/private/chfs/src/chfs/preview/preview.go:29 +0x60
created by main.main
	D:/projects/private/chfs/src/chfs/main.go:124 +0x133c

goroutine 27 [IO wait]:
internal/poll.runtime_pollWait(0xa6ca8ddc, 0x72, 0xffffffff)
	c:/go/src/runtime/netpoll.go:184 +0x44
internal/poll.(*pollDesc).wait(0x21f2514, 0x72, 0x1000, 0x1000, 0xffffffff)
	c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	c:/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x21f2500, 0x233c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/internal/poll/fd_unix.go:169 +0x178
net.(*netFD).Read(0x21f2500, 0x233c000, 0x1000, 0x1000, 0x394f01, 0x0, 0x2f30ec)
	c:/go/src/net/fd_unix.go:202 +0x38
net.(*conn).Read(0x21f6a28, 0x233c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/net/net.go:184 +0x58
net/http.(*connReader).Read(0x21f5ce0, 0x233c000, 0x1000, 0x1000, 0x1, 0x0, 0x8)
	c:/go/src/net/http/server.go:785 +0x15c
bufio.(*Reader).fill(0x21fa4e0)
	c:/go/src/bufio/bufio.go:100 +0x108
bufio.(*Reader).ReadSlice(0x21fa4e0, 0x529d0a, 0x1, 0xd0412, 0x21f2500, 0x0, 0x80)
	c:/go/src/bufio/bufio.go:359 +0x2c
bufio.(*Reader).ReadLine(0x21fa4e0, 0x2342c10, 0x992798, 0xb6f2436c, 0x0, 0x2208280, 0x1)
	c:/go/src/bufio/bufio.go:388 +0x24
net/textproto.(*Reader).readLineSlice(0x21f5d20, 0x2216980, 0x2342e58, 0x21f2500, 0x60368, 0xc7718)
	c:/go/src/net/textproto/reader.go:57 +0x54
net/textproto.(*Reader).ReadLine(...)
	c:/go/src/net/textproto/reader.go:38
net/http.readRequest(0x21fa4e0, 0x0, 0x2216980, 0x0, 0x0)
	c:/go/src/net/http/request.go:1012 +0x5c
net/http.(*conn).readRequest(0x21f8240, 0x604420, 0x21f5cc0, 0x0, 0x0, 0x0)
	c:/go/src/net/http/server.go:965 +0x1c8
net/http.(*conn).serve(0x21f8240, 0x604420, 0x21f5cc0)
	c:/go/src/net/http/server.go:1817 +0x644
created by net/http.(*Server).Serve
	c:/go/src/net/http/server.go:2927 +0x2f0

goroutine 44 [IO wait]:
internal/poll.runtime_pollWait(0xa6ca8c50, 0x72, 0xffffffff)
	c:/go/src/runtime/netpoll.go:184 +0x44
internal/poll.(*pollDesc).wait(0x21f2424, 0x72, 0x1000, 0x1000, 0xffffffff)
	c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	c:/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x21f2410, 0x210c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/internal/poll/fd_unix.go:169 +0x178
net.(*netFD).Read(0x21f2410, 0x210c000, 0x1000, 0x1000, 0x2202d48, 0x6b054, 0x21be000)
	c:/go/src/net/fd_unix.go:202 +0x38
net.(*conn).Read(0x200f040, 0x210c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/net/net.go:184 +0x58
net/http.(*persistConn).Read(0x20c6000, 0x210c000, 0x1000, 0x1000, 0x2020840, 0x30f340, 0x2020840)
	c:/go/src/net/http/transport.go:1752 +0x164
bufio.(*Reader).fill(0x21fa360)
	c:/go/src/bufio/bufio.go:100 +0x108
bufio.(*Reader).Peek(0x21fa360, 0x1, 0x0, 0x0, 0x1, 0x2020700, 0x0)
	c:/go/src/bufio/bufio.go:138 +0x38
net/http.(*persistConn).readLoop(0x20c6000)
	c:/go/src/net/http/transport.go:1905 +0x178
created by net/http.(*Transport).dialConn
	c:/go/src/net/http/transport.go:1574 +0x8e8

goroutine 21 [IO wait]:
internal/poll.runtime_pollWait(0xa6ca8f68, 0x72, 0xffffffff)
	c:/go/src/runtime/netpoll.go:184 +0x44
internal/poll.(*pollDesc).wait(0x21f2294, 0x72, 0x1000, 0x1000, 0xffffffff)
	c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	c:/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x21f2280, 0x22dc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/internal/poll/fd_unix.go:169 +0x178
net.(*netFD).Read(0x21f2280, 0x22dc000, 0x1000, 0x1000, 0x394f01, 0x0, 0x2f30ec)
	c:/go/src/net/fd_unix.go:202 +0x38
net.(*conn).Read(0x21f6950, 0x22dc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/net/net.go:184 +0x58
net/http.(*connReader).Read(0x21f55a0, 0x22dc000, 0x1000, 0x1000, 0x1, 0x0, 0x8)
	c:/go/src/net/http/server.go:785 +0x15c
bufio.(*Reader).fill(0x21fa300)
	c:/go/src/bufio/bufio.go:100 +0x108
bufio.(*Reader).ReadSlice(0x21fa300, 0x529d0a, 0x1, 0xd0412, 0x21f2200, 0x0, 0x80)
	c:/go/src/bufio/bufio.go:359 +0x2c
bufio.(*Reader).ReadLine(0x21fa300, 0x2065c10, 0x2226000, 0xb6f2436c, 0x0, 0x2208280, 0x1)
	c:/go/src/bufio/bufio.go:388 +0x24
net/textproto.(*Reader).readLineSlice(0x21f55e0, 0x2216900, 0x2065e58, 0x21f2280, 0x60368, 0xc7718)
	c:/go/src/net/textproto/reader.go:57 +0x54
net/textproto.(*Reader).ReadLine(...)
	c:/go/src/net/textproto/reader.go:38
net/http.readRequest(0x21fa300, 0x0, 0x2216900, 0x0, 0x0)
	c:/go/src/net/http/request.go:1012 +0x5c
net/http.(*conn).readRequest(0x21f80c0, 0x604420, 0x21f5580, 0x0, 0x0, 0x0)
	c:/go/src/net/http/server.go:965 +0x1c8
net/http.(*conn).serve(0x21f80c0, 0x604420, 0x21f5580)
	c:/go/src/net/http/server.go:1817 +0x644
created by net/http.(*Server).Serve
	c:/go/src/net/http/server.go:2927 +0x2f0

goroutine 22 [IO wait]:
internal/poll.runtime_pollWait(0xa6ca8ee4, 0x72, 0xffffffff)
	c:/go/src/runtime/netpoll.go:184 +0x44
internal/poll.(*pollDesc).wait(0x21f22e4, 0x72, 0x1000, 0x1000, 0xffffffff)
	c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	c:/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x21f22d0, 0x22ee000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/internal/poll/fd_unix.go:169 +0x178
net.(*netFD).Read(0x21f22d0, 0x22ee000, 0x1000, 0x1000, 0x394f01, 0x0, 0x2f30ec)
	c:/go/src/net/fd_unix.go:202 +0x38
net.(*conn).Read(0x21f6958, 0x22ee000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/net/net.go:184 +0x58
net/http.(*connReader).Read(0x21f57e0, 0x22ee000, 0x1000, 0x1000, 0x1, 0x0, 0x8)
	c:/go/src/net/http/server.go:785 +0x15c
bufio.(*Reader).fill(0x21fa390)
	c:/go/src/bufio/bufio.go:100 +0x108
bufio.(*Reader).ReadSlice(0x21fa390, 0x529d0a, 0x1, 0xd0412, 0x21f2200, 0x0, 0x80)
	c:/go/src/bufio/bufio.go:359 +0x2c
bufio.(*Reader).ReadLine(0x21fa390, 0x2233c10, 0x2226000, 0xb6f2436c, 0x0, 0x20b8280, 0x1)
	c:/go/src/bufio/bufio.go:388 +0x24
net/textproto.(*Reader).readLineSlice(0x200a100, 0x2174080, 0x2233e58, 0x21f22d0, 0x60368, 0xc7718)
	c:/go/src/net/textproto/reader.go:57 +0x54
net/textproto.(*Reader).ReadLine(...)
	c:/go/src/net/textproto/reader.go:38
net/http.readRequest(0x21fa390, 0x0, 0x2174080, 0x0, 0x0)
	c:/go/src/net/http/request.go:1012 +0x5c
net/http.(*conn).readRequest(0x21f8120, 0x604420, 0x21f57c0, 0x0, 0x0, 0x0)
	c:/go/src/net/http/server.go:965 +0x1c8
net/http.(*conn).serve(0x21f8120, 0x604420, 0x21f57c0)
	c:/go/src/net/http/server.go:1817 +0x644
created by net/http.(*Server).Serve
	c:/go/src/net/http/server.go:2927 +0x2f0

goroutine 23 [IO wait]:
internal/poll.runtime_pollWait(0xa6ca8e60, 0x72, 0xffffffff)
	c:/go/src/runtime/netpoll.go:184 +0x44
internal/poll.(*pollDesc).wait(0x21f2334, 0x72, 0x1000, 0x1000, 0xffffffff)
	c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x30
internal/poll.(*pollDesc).waitRead(...)
	c:/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0x21f2320, 0x22da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/internal/poll/fd_unix.go:169 +0x178
net.(*netFD).Read(0x21f2320, 0x22da000, 0x1000, 0x1000, 0x394f01, 0x0, 0x2f30ec)
	c:/go/src/net/fd_unix.go:202 +0x38
net.(*conn).Read(0x21f6960, 0x22da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	c:/go/src/net/net.go:184 +0x58
net/http.(*connReader).Read(0x21f5500, 0x22da000, 0x1000, 0x1000, 0x1, 0x0, 0x8)
	c:/go/src/net/http/server.go:785 +0x15c
bufio.(*Reader).fill(0x21fa2d0)
	c:/go/src/bufio/bufio.go:100 +0x108
bufio.(*Reader).ReadSlice(0x21fa2d0, 0x529d0a, 0x1, 0xd0412, 0x21f2300, 0x0, 0x80)
	c:/go/src/bufio/bufio.go:359 +0x2c
bufio.(*Reader).ReadLine(0x21fa2d0, 0x2064c10, 0x992798, 0xb6f24008, 0x0, 0x2208200, 0x0)
	c:/go/src/bufio/bufio.go:388 +0x24
net/textproto.(*Reader).readLineSlice(0x21f4100, 0x2174a00, 0x2064e58, 0x21f2320, 0x60368, 0xc7718)
	c:/go/src/net/textproto/reader.go:57 +0x54
net/textproto.(*Reader).ReadLine(...)
	c:/go/src/net/textproto/reader.go:38
net/http.readRequest(0x21fa2d0, 0x0, 0x2174a00, 0x0, 0x0)
	c:/go/src/net/http/request.go:1012 +0x5c
net/http.(*conn).readRequest(0x21f8180, 0x604420, 0x21f54e0, 0x0, 0x0, 0x0)
	c:/go/src/net/http/server.go:965 +0x1c8
net/http.(*conn).serve(0x21f8180, 0x604420, 0x21f54e0)
	c:/go/src/net/http/server.go:1817 +0x644
created by net/http.(*Server).Serve
	c:/go/src/net/http/server.go:2927 +0x2f0

goroutine 28 [IO wait]:
internal/poll.runtime_pollWait(0xa6ca8d58, 0x72, 0xffffffff)
	c:/go/src/runtime/netpoll.go:184 +0x44

挂载多个目录时,通过webdav协议访问仅能获取第一个目录的内容

cli运行结果:


   CUTE HTTP FILE SERVER 2.0
   website: http://iscute.cn/chfs
   author: [email protected]

此时用RaiDrive或infuse的webdav方式挂载时,仅能显示第一个共享目录的内容(movie目录在E:\for_webdav目录下)。http访问可以显示所有文件夹内容。
image

当文件名存在+时,无法上传这个文件

我一共有六个文件需要上传,发现有三个文件一直卡住无法完成上传,经过排查发现这三个视频文件都带有“+”这个符号,我把文件重命名删除加号之后即可正常上传

安全性问题

可以通过http://192.168.3.2/#/123/../.. 这样的方式访问到根目录的上层文件夹,相当于将系统文件全部暴露,只是无法下载,但是仍可查看目录文件名等信息

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.