mandiant/gocrack

Gocrack crashing on task upload

WW-build opened this issue · 1 comments

Hi everyone,
I'm facing some strange issues with uploading task files to the gocrack.
I have test.txt files with next text inside
7C4A8D09CA3762AF61E59520943DC26494F8941B

While uploading it to the task list gocrack service crashing with next error in the Web interface

An unknown server error occured. Please contact your site administrator

and such output from the service in the console:

{"time":"2018-12-23T16:05:32+02:00","level":"info","client_ip":"x.x.x.x","method":"OPTIONS","path":"/api/v2/files/task/test.txt?engine=1&filetype=100","status":200,"latency":"714.213µs","message":"Processed HTTP Request"}
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7f6f93ad06a3]

runtime stack:
runtime.throw(0xc3a88b, 0x2a)
/usr/local/go/src/runtime/panic.go:605 +0x95
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:351 +0x2b8

goroutine 39 [syscall, locked to thread]:
runtime.cgocall(0xa67d63, 0xc42048cfc8, 0xc42017c4b0)
/usr/local/go/src/runtime/cgocall.go:132 +0xe4 fp=0xc42048cf98 sp=0xc42048cf58 pc=0x4041a4
github.com/fireeye/gocrack/gocat._Cfunc_hashes_init_stage2(0xc42017c4b0, 0xc400000000)
github.com/fireeye/gocrack/gocat/_obj/_cgo_gotypes.go:1538 +0x49 fp=0xc42048cfc8 sp=0xc42048cf98 pc=0x9d5c49
github.com/fireeye/gocrack/gocat.ValidateHashes.func6(0xc42017c4b0, 0x0)
/go/src/github.com/fireeye/gocrack/gocat/validator.go:66 +0xa4 fp=0xc42048d008 sp=0xc42048cfc8 pc=0x9dce94
github.com/fireeye/gocrack/gocat.ValidateHashes(0xc420062480, 0x54, 0x64, 0x0, 0x0, 0x0)
/go/src/github.com/fireeye/gocrack/gocat/validator.go:66 +0x4ee fp=0xc42048d228 sp=0xc42048d008 pc=0x9db56e
github.com/fireeye/gocrack/server/web.(*Server).webUploadTaskFile(0xc4201d3130, 0xc42028a000, 0x0)
/go/src/github.com/fireeye/gocrack/server/web/file_management_task.go:155 +0x9d1 fp=0xc42048d468 sp=0xc42048d228 pc=0xa02881
github.com/fireeye/gocrack/server/web.(*Server).(github.com/fireeye/gocrack/server/web.webUploadTaskFile)-fm(0xc42028a000, 0x44cd08)
/go/src/github.com/fireeye/gocrack/server/web/server.go:153 +0x34 fp=0xc42048d490 sp=0xc42048d468 pc=0xa13834
github.com/fireeye/gocrack/server/web.WrapAPIForError.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/server/web/server.go:81 +0x33 fp=0xc42048d4d8 sp=0xc42048d490 pc=0xa12243
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048d4f8 sp=0xc42048d4d8 pc=0x9024e3
github.com/fireeye/gocrack/shared.RecordAPIMetrics.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/shared/http_server_metrics.go:18 +0x99 fp=0xc42048d608 sp=0xc42048d4f8 pc=0x948749
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048d628 sp=0xc42048d608 pc=0x9024e3
github.com/fireeye/gocrack/server/web.setXSRFTokenIfNecessary.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/server/web/middlewares.go:94 +0x1bc fp=0xc42048d708 sp=0xc42048d628 pc=0xa11cac
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048d728 sp=0xc42048d708 pc=0x9024e3
github.com/fireeye/gocrack/server/web.(*Server).requestHasValidAuth.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/server/web/auth.go:69 +0x40a fp=0xc42048d7d8 sp=0xc42048d728 pc=0xa10c0a
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048d7f8 sp=0xc42048d7d8 pc=0x9024e3
github.com/fireeye/gocrack/shared.RecordAPIMetrics.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/shared/http_server_metrics.go:18 +0x99 fp=0xc42048d908 sp=0xc42048d7f8 pc=0x948749
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048d928 sp=0xc42048d908 pc=0x9024e3
github.com/fireeye/gocrack/vendor/github.com/tankbusta/gzip.Gzip.func2(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/tankbusta/gzip/gzip.go:47 +0x216 fp=0xc42048d980 sp=0xc42048d928 pc=0x9ce3a6
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048d9a0 sp=0xc42048d980 pc=0x9024e3
github.com/fireeye/gocrack/shared/ginlog.LogRequests.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/shared/ginlog/ginlog.go:16 +0xfc fp=0xc42048da80 sp=0xc42048d9a0 pc=0x9cd7dc
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048daa0 sp=0xc42048da80 pc=0x9024e3
github.com/fireeye/gocrack/server/web.setSecureHeaders.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/server/web/middlewares.go:60 +0xd7 fp=0xc42048dad8 sp=0xc42048daa0 pc=0xa11ad7
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048daf8 sp=0xc42048dad8 pc=0x9024e3
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.RecoveryWithWriter.func1(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/recovery.go:45 +0x5a fp=0xc42048db28 sp=0xc42048daf8 pc=0x91365a
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43 fp=0xc42048db48 sp=0xc42048db28 pc=0x9024e3
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc420276480, 0xc42028a000)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/gin.go:339 +0x5ba fp=0xc42048dc50 sp=0xc42048db48 pc=0x90b1fa
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc420276480, 0x11f2b80, 0xc4202482a0, 0xc420118400)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/gin.go:303 +0x16b fp=0xc42048dc88 sp=0xc42048dc50 pc=0x90a98b
github.com/fireeye/gocrack/vendor/github.com/gorilla/csrf.(*csrf).ServeHTTP(0xc42026c140, 0x11f2b80, 0xc4202482a0, 0xc420118200)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gorilla/csrf/csrf.go:267 +0x323 fp=0xc42048dd18 sp=0xc42048dc88 pc=0x9e7123
net/http.serverHandler.ServeHTTP(0xc4202088f0, 0x11f2b80, 0xc4202482a0, 0xc420118600)
/usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc42048dd48 sp=0xc42048dd18 pc=0x6fa984
net/http.(*conn).serve(0xc42018a0a0, 0x11f3a80, 0xc4201a0600)
/usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc42048dfc8 sp=0xc42048dd48 pc=0x6f6a6d
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42048dfd0 sp=0xc42048dfc8 pc=0x45ba31
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288

goroutine 1 [chan receive]:
main.main()
/go/src/github.com/fireeye/gocrack/cmd/gocrack_server/server.go:81 +0x2a9

goroutine 19 [syscall]:
os/signal.signal_recv(0x0)
/usr/local/go/src/runtime/sigqueue.go:131 +0xa6
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
/usr/local/go/src/os/signal/signal_unix.go:28 +0x41

goroutine 34 [chan receive]:
main.main.func2(0xc420240f60, 0xc4201a1140)
/go/src/github.com/fireeye/gocrack/cmd/gocrack_server/server.go:69 +0x31
created by main.main
/go/src/github.com/fireeye/gocrack/cmd/gocrack_server/server.go:66 +0x1cc

goroutine 33 [select, locked to thread]:
runtime.gopark(0xc4cea8, 0x0, 0xc20d85, 0x6, 0x18, 0x1)
/usr/local/go/src/runtime/proc.go:287 +0x12c
runtime.selectgo(0xc420036f50, 0xc420062780)
/usr/local/go/src/runtime/select.go:395 +0x1149
runtime.ensureSigM.func1()
/usr/local/go/src/runtime/signal_unix.go:511 +0x220
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1

goroutine 32 [select]:
github.com/fireeye/gocrack/server.(*Server).Start(0xc4201a1140, 0x0, 0x0)
/go/src/github.com/fireeye/gocrack/server/server.go:173 +0x384
main.main.func1(0xc4201a1140)
/go/src/github.com/fireeye/gocrack/cmd/gocrack_server/server.go:56 +0x2f
created by main.main
/go/src/github.com/fireeye/gocrack/cmd/gocrack_server/server.go:55 +0xf0

goroutine 9 [select]:
github.com/fireeye/gocrack/server/notifications.(*CacheLastPasswordSent).cleanup(0xc420278520)
/go/src/github.com/fireeye/gocrack/server/notifications/cache.go:40 +0x22b
created by github.com/fireeye/gocrack/server/notifications.NewCache
/go/src/github.com/fireeye/gocrack/server/notifications/cache.go:27 +0x114

goroutine 10 [IO wait]:
internal/poll.runtime_pollWait(0x7f6f9410af70, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201d4318, 0x72, 0xc420038c00, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc4201d4318, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4201d4300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:335 +0x1e2
net.(*netFD).accept(0xc4201d4300, 0xc4cf60, 0xc420038df8, 0xfc0000c420056bc0)
/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc42000e090, 0x403cdb, 0xc420038e00, 0x403c81)
/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc42000e090, 0x43654b, 0xc420038e38, 0x6fade8, 0x458170)
/usr/local/go/src/net/tcpsock.go:247 +0x49
crypto/tls.(*listener).Accept(0xc42000de00, 0xc4c8c0, 0xc42026c280, 0x11f3b40, 0xc4201d1ec0)
/usr/local/go/src/crypto/tls/tls.go:52 +0x37
net/http.(*Server).Serve(0xc420208820, 0x11f2300, 0xc42000de00, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2695 +0x1b2
github.com/fireeye/gocrack/server/rpc.(*RPCServer).Start(0xc4201d4380, 0xc2a572, 0x14)
/go/src/github.com/fireeye/gocrack/server/rpc/rpc_server.go:90 +0x41
github.com/fireeye/gocrack/server.(*Server).Start.func1(0xc4201a1140, 0xc4201d4380, 0xc42027a900)
/go/src/github.com/fireeye/gocrack/server/server.go:148 +0xd3
created by github.com/fireeye/gocrack/server.(*Server).Start
/go/src/github.com/fireeye/gocrack/server/server.go:144 +0x264

goroutine 11 [IO wait]:
internal/poll.runtime_pollWait(0x7f6f9410aeb0, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201d4418, 0x72, 0xc42038cc00, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc4201d4418, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc4201d4400, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:335 +0x1e2
net.(*netFD).accept(0xc4201d4400, 0xc42038ce30, 0x402a77, 0xc42008c080)
/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc42000e100, 0x6fade8, 0x458170, 0xc42038ce78)
/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).Accept(0xc42000e100, 0xc4c8c0, 0xc42008c000, 0x11f3b40, 0xc4201d1e00)
/usr/local/go/src/net/tcpsock.go:247 +0x49
net/http.(*Server).Serve(0xc4202088f0, 0x11f2900, 0xc42000e100, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2695 +0x1b2
github.com/fireeye/gocrack/server/web.(*Server).Start(0xc4201d3130, 0xc2b155, 0x15)
/go/src/github.com/fireeye/gocrack/server/web/api.go:62 +0x41
github.com/fireeye/gocrack/server.(*Server).Start.func2(0xc4201a1140, 0xc4201d3130, 0xc42027a900)
/go/src/github.com/fireeye/gocrack/server/server.go:162 +0xd3
created by github.com/fireeye/gocrack/server.(*Server).Start
/go/src/github.com/fireeye/gocrack/server/server.go:158 +0x2a3

goroutine 12 [IO wait]:
internal/poll.runtime_pollWait(0x7f6f9410adf0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201d4598, 0x72, 0xffffffffffffff00, 0x11eed80, 0x11e9bc0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc4201d4598, 0xc420296800, 0x800, 0x800)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4201d4580, 0xc420296800, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a
net.(*netFD).Read(0xc4201d4580, 0xc420296800, 0x800, 0x800, 0x101, 0x7fb, 0x413e56)
/usr/local/go/src/net/fd_unix.go:202 +0x52
net.(*conn).Read(0xc42000e368, 0xc420296800, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d
crypto/tls.(*block).readFromUntil(0xc4201d1fb0, 0x7f6f940ca120, 0xc42000e368, 0x5, 0xc42000e368, 0x30)
/usr/local/go/src/crypto/tls/conn.go:488 +0x95
crypto/tls.(*Conn).readRecord(0xc42002d500, 0xc4cf17, 0xc42002d620, 0xc42004db00)
/usr/local/go/src/crypto/tls/conn.go:590 +0xe0
crypto/tls.(*Conn).Read(0xc42002d500, 0xc420299000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/crypto/tls/conn.go:1134 +0x110
net/http.(*connReader).Read(0xc420286360, 0xc420299000, 0x1000, 0x1000, 0xc42004dbc0, 0x44cd08, 0x41cda2e8010)
/usr/local/go/src/net/http/server.go:753 +0x105
bufio.(*Reader).fill(0xc42027ac00)
/usr/local/go/src/bufio/bufio.go:97 +0x11a
bufio.(*Reader).Peek(0xc42027ac00, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:129 +0x3a
net/http.(*conn).readRequest(0xc42026c280, 0x11f3a80, 0xc420056ec0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:930 +0xc77
net/http.(*conn).serve(0xc42026c280, 0x11f3a80, 0xc420056ec0)
/usr/local/go/src/net/http/server.go:1739 +0x50e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288

goroutine 50 [select]:
github.com/fireeye/gocrack/server/web.(*RealtimeServer).ServeStream.func2(0xc420058840, 0x11f3a80, 0xc4200762c0, 0xc420076300, 0x11f7d20, 0xc4200bac60, 0x7f6f940ca8d0, 0xc4200bac60)
/go/src/github.com/fireeye/gocrack/server/web/sse_endpoint.go:228 +0x160
created by github.com/fireeye/gocrack/server/web.(*RealtimeServer).ServeStream
/go/src/github.com/fireeye/gocrack/server/web/sse_endpoint.go:224 +0x4e9

goroutine 36 [select]:
github.com/fireeye/gocrack/server/web.(*RealtimeServer).ServeStream(0xc420058840, 0xc4200bac60)
/go/src/github.com/fireeye/gocrack/server/web/sse_endpoint.go:244 +0x6a9
github.com/fireeye/gocrack/server/web.(*RealtimeServer).ServeStream-fm(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/server/web/server.go:170 +0x34
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/server/web.(*Server).requestHasValidAuth.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/server/web/auth.go:69 +0x40a
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/shared.RecordAPIMetrics.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/shared/http_server_metrics.go:18 +0x99
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/server/web.setXSRFTokenIfNecessary.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/server/web/middlewares.go:94 +0x1bc
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/server/web.(*Server).requestHasValidAuth.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/server/web/auth.go:69 +0x40a
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/shared.RecordAPIMetrics.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/shared/http_server_metrics.go:18 +0x99
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/shared/ginlog.LogRequests.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/shared/ginlog/ginlog.go:16 +0xfc
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/server/web.setSecureHeaders.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/server/web/middlewares.go:60 +0xd7
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.RecoveryWithWriter.func1(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/recovery.go:45 +0x5a
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Context).Next(0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/context.go:111 +0x43
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc420276480, 0xc4200bac60)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/gin.go:339 +0x5ba
github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc420276480, 0x11f2b80, 0xc4202481c0, 0xc420118300)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gin-gonic/gin/gin.go:303 +0x16b
github.com/fireeye/gocrack/vendor/github.com/gorilla/csrf.(*csrf).ServeHTTP(0xc42026c140, 0x11f2b80, 0xc4202481c0, 0xc420118200)
/go/src/github.com/fireeye/gocrack/vendor/github.com/gorilla/csrf/csrf.go:267 +0x323
net/http.serverHandler.ServeHTTP(0xc4202088f0, 0x11f2b80, 0xc4202481c0, 0xc420118100)
/usr/local/go/src/net/http/server.go:2619 +0xb4
net/http.(*conn).serve(0xc42018bc20, 0x11f3a80, 0xc4201a1400)
/usr/local/go/src/net/http/server.go:1801 +0x71d
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288

goroutine 16 [IO wait]:
internal/poll.runtime_pollWait(0x7f6f9410ad30, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42009f698, 0x72, 0xffffffffffffff00, 0x11eed80, 0x11e9bc0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc42009f698, 0xc420203a00, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42009f680, 0xc420203a51, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a
net.(*netFD).Read(0xc42009f680, 0xc420203a51, 0x1, 0x1, 0xc4202411a0, 0x0, 0xc4201a14e8)
/usr/local/go/src/net/fd_unix.go:202 +0x52
net.(*conn).Read(0xc420072658, 0xc420203a51, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d
net/http.(*connReader).backgroundRead(0xc420203a40)
/usr/local/go/src/net/http/server.go:660 +0x62
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8

goroutine 52 [IO wait]:
internal/poll.runtime_pollWait(0x7f6f9410aaf0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42009e098, 0x72, 0xffffffffffffff00, 0x11eed80, 0x11e9bc0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc42009e098, 0xc42013a000, 0x1000, 0x1000)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42009e080, 0xc42013a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a
net.(*netFD).Read(0xc42009e080, 0xc42013a000, 0x1000, 0x1000, 0xc42003b8c8, 0x6f100b, 0xb927e0)
/usr/local/go/src/net/fd_unix.go:202 +0x52
net.(*conn).Read(0xc420072018, 0xc42013a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d
net/http.(*connReader).Read(0xc420068450, 0xc42013a000, 0x1000, 0x1000, 0xc, 0x3, 0x0)
/usr/local/go/src/net/http/server.go:753 +0x105
bufio.(*Reader).fill(0xc420240060)
/usr/local/go/src/bufio/bufio.go:97 +0x11a
bufio.(*Reader).ReadSlice(0xc420240060, 0xc42003ba0a, 0x412996, 0x7f6f9416d998, 0x0, 0xc42003bab8, 0x412e27)
/usr/local/go/src/bufio/bufio.go:338 +0x2c
bufio.(*Reader).ReadLine(0xc420240060, 0x100, 0xf8, 0xc07920, 0x1, 0x122002002c700, 0xf8)
/usr/local/go/src/bufio/bufio.go:367 +0x34
net/textproto.(*Reader).readLineSlice(0xc420068480, 0xc42003bb20, 0xc42003bb20, 0x413588, 0x100, 0xc07920)
/usr/local/go/src/net/textproto/reader.go:55 +0x70
net/textproto.(*Reader).ReadLine(0xc420068480, 0xc420118000, 0x0, 0xc42003bb90, 0x492712)
/usr/local/go/src/net/textproto/reader.go:36 +0x2b
net/http.readRequest(0xc420240060, 0x0, 0xc420118000, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:925 +0x99
net/http.(*conn).readRequest(0xc42008c000, 0x11f3a80, 0xc420076080, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:933 +0x17c
net/http.(*conn).serve(0xc42008c000, 0x11f3a80, 0xc420076080)
/usr/local/go/src/net/http/server.go:1739 +0x50e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288

goroutine 53 [IO wait]:
internal/poll.runtime_pollWait(0x7f6f9410ac70, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201d4018, 0x72, 0xffffffffffffff00, 0x11eed80, 0x11e9bc0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc4201d4018, 0xc420198300, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4201d4000, 0xc420198371, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a
net.(*netFD).Read(0xc4201d4000, 0xc420198371, 0x1, 0x1, 0xc420082360, 0x0, 0x11ec701)
/usr/local/go/src/net/fd_unix.go:202 +0x52
net.(*conn).Read(0xc42000e008, 0xc420198371, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d
net/http.(*connReader).backgroundRead(0xc420198360)
/usr/local/go/src/net/http/server.go:660 +0x62
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8

goroutine 43 [IO wait]:
internal/poll.runtime_pollWait(0x7f6f9410abb0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc4201d4118, 0x72, 0xffffffffffffff00, 0x11eed80, 0x11e9bc0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae
internal/poll.(*pollDesc).waitRead(0xc4201d4118, 0xc420298000, 0x1000, 0x1000)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc4201d4100, 0xc420298000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a
net.(*netFD).Read(0xc4201d4100, 0xc420298000, 0x1000, 0x1000, 0xc42038e8c8, 0x6f0fda, 0xc420198518)
/usr/local/go/src/net/fd_unix.go:202 +0x52
net.(*conn).Read(0xc42000e038, 0xc420298000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d
net/http.(*connReader).Read(0xc420198510, 0xc420298000, 0x1000, 0x1000, 0xc4201a0800, 0x11e97b2, 0x2)
/usr/local/go/src/net/http/server.go:753 +0x105
bufio.(*Reader).fill(0xc4200580c0)
/usr/local/go/src/bufio/bufio.go:97 +0x11a
bufio.(*Reader).ReadSlice(0xc4200580c0, 0xc42038ea0a, 0x7fffc1764c52, 0xc42038ea38, 0x300000002, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:338 +0x2c
bufio.(*Reader).ReadLine(0xc4200580c0, 0x100, 0xf8, 0xc07920, 0xc42038ea98, 0x220000403bd9, 0xf8)
/usr/local/go/src/bufio/bufio.go:367 +0x34
net/textproto.(*Reader).readLineSlice(0xc420198690, 0xc42038eb20, 0xc42038eb20, 0x413588, 0x100, 0xc07920)
/usr/local/go/src/net/textproto/reader.go:55 +0x70
net/textproto.(*Reader).ReadLine(0xc420198690, 0xc4201dee00, 0x0, 0xc42038eb90, 0x492712)
/usr/local/go/src/net/textproto/reader.go:36 +0x2b
net/http.readRequest(0xc4200580c0, 0x0, 0xc4201dee00, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:925 +0x99
net/http.(*conn).readRequest(0xc42018a1e0, 0x11f3a80, 0xc4201a0740, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:933 +0x17c
net/http.(*conn).serve(0xc42018a1e0, 0x11f3a80, 0xc4201a0740)
/usr/local/go/src/net/http/server.go:1739 +0x50e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288

PS: Folder permissions set to 777 for:
task
temp
engine
import

task file is uploading succesfully to the server file system.

Althought there are no issues with upload of the dictionary files.

This has been fixed and pushed feat/support_hc5. This will be merged/released to master next week