usefathom / fathom

Fathom Lite. Simple, privacy-focused website analytics. Built with Golang & Preact.
https://usefathom.com/
MIT License
7.55k stars 368 forks source link

`SIGSEGV` using postgres driver #266

Closed RealOrangeOne closed 2 years ago

RealOrangeOne commented 5 years ago
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x47 pc=0x7faea0014178]
runtime stack:
runtime.throw(0xaf5bfc, 0x2a)
        /usr/lib/go/src/runtime/panic.go:608 +0x72
runtime.sigpanic()
        /usr/lib/go/src/runtime/signal_unix.go:374 +0x2f2
goroutine 68 [syscall]:
runtime.cgocall(0x86e470, 0xc00045fe00, 0x29)
        /usr/lib/go/src/runtime/cgocall.go:128 +0x5e fp=0xc00045fdc8 sp=0xc00045fd90 pc=0x404dde
net._C2func_getaddrinfo(0xc0000229f0, 0x0, 0xc0007d0ab0, 0xc00000e668, 0x0, 0x0, 0x0)
        _cgo_gotypes.go:92 +0x55 fp=0xc00045fe00 sp=0xc00045fdc8 pc=0x64c895
net.cgoLookupIPCNAME.func1(0xc0000229f0, 0x0, 0xc0007d0ab0, 0xc00000e668, 0xa, 0xa, 0x50)
        /usr/lib/go/src/net/cgo_unix.go:149 +0x131 fp=0xc00045fe48 sp=0xc00045fe00 pc=0x651fb1
net.cgoLookupIPCNAME(0xc0000229e0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go/src/net/cgo_unix.go:149 +0x153 fp=0xc00045ff38 sp=0xc00045fe48 pc=0x64de53
net.cgoIPLookup(0xc000072600, 0xc0000229e0, 0x9)
        /usr/lib/go/src/net/cgo_unix.go:201 +0x4d fp=0xc00045ffc8 sp=0xc00045ff38 pc=0x64e50d
runtime.goexit()
        /usr/lib/go/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc00045ffd0 sp=0xc00045ffc8 pc=0x459531
created by net.cgoLookupIP
        /usr/lib/go/src/net/cgo_unix.go:211 +0xad
goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7faea01ede30, 0x72, 0x0)
        /usr/lib/go/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc000020618, 0x72, 0xc000852500, 0x0, 0x0)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc000020618, 0xffffffffffffff00, 0x0, 0x0)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc000020600, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/lib/go/src/internal/poll/fd_unix.go:384 +0x1a0
net.(*netFD).accept(0xc000020600, 0x40daaf, 0xc000158460, 0xa0)
        /usr/lib/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc00000e600, 0xc00044f7c0, 0x89255f15, 0x2f35f5521a08965)
        /usr/lib/go/src/net/tcpsock_posix.go:139 +0x2e
net.(*TCPListener).AcceptTCP(0xc00000e600, 0xc00044f7e8, 0x489966, 0x5cdfeebb)
        /usr/lib/go/src/net/tcpsock.go:247 +0x47
net/http.tcpKeepAliveListener.Accept(0xc00000e600, 0xc00044f838, 0x18, 0xc000000300, 0x72aa45)
        /usr/lib/go/src/net/http/server.go:3232 +0x2f
net/http.(*Server).Serve(0xc000096680, 0x109a8e0, 0xc00000e600, 0x0, 0x0)
        /usr/lib/go/src/net/http/server.go:2826 +0x22f
net/http.(*Server).ListenAndServe(0xc000096680, 0x1d, 0xc00044fa00)
        /usr/lib/go/src/net/http/server.go:2764 +0xb6
github.com/usefathom/fathom/pkg/cli.server(0xc0003a6160, 0xc000166100, 0xc0003a6160)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/cli/server.go:88 +0x4be
github.com/usefathom/fathom/vendor/github.com/urfave/cli.HandleAction(0xa34a20, 0x102c610, 0xc0003a6160, 0x0, 0xc0001661e0)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/urfave/cli/app.go:501 +0xc8
github.com/usefathom/fathom/vendor/github.com/urfave/cli.Command.Run(0xae08ed, 0x6, 0x0, 0x0, 0x1432d20, 0x1, 0x1, 0xaec23d, 0x1b, 0x0, ...)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/urfave/cli/command.go:165 +0x459
github.com/usefathom/fathom/vendor/github.com/urfave/cli.(*App).Run(0xc000668000, 0xc00001e100, 0x4, 0x4, 0x0, 0x0)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/urfave/cli/app.go:259 +0x6bb
github.com/usefathom/fathom/pkg/cli.Run(0x10914bc, 0x5, 0x1099960, 0x28, 0x10951f0, 0x14, 0x0, 0x0)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/cli/cli.go:54 +0x5ec
main.main()
        /home/danny/Code/go/src/github.com/usefathom/fathom/main.go:17 +0x6d
goroutine 7 [select]:
database/sql.(*DB).connectionOpener(0xc00042a0c0, 0x109aa20, 0xc00001fbc0)
        /usr/lib/go/src/database/sql/sql.go:1001 +0xe8
created by database/sql.OpenDB
        /usr/lib/go/src/database/sql/sql.go:671 +0x15d
goroutine 8 [select]:
database/sql.(*DB).connectionResetter(0xc00042a0c0, 0x109aa20, 0xc00001fbc0)
        /usr/lib/go/src/database/sql/sql.go:1014 +0xfb
created by database/sql.OpenDB
        /usr/lib/go/src/database/sql/sql.go:672 +0x193
goroutine 67 [select]:
net.cgoLookupIP(0x109aa20, 0xc00001fe00, 0xc0000229e0, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc00045fcf0, 0x62f466)
        /usr/lib/go/src/net/cgo_unix.go:212 +0x17b
net.(*Resolver).lookupIP(0x14756c0, 0x109aa20, 0xc00001fe00, 0xc0000229e0, 0x9, 0x203000, 0xc000486780, 0xc00001fa40, 0x102c960, 0xc00045fe68)
        /usr/lib/go/src/net/lookup_unix.go:95 +0x166
net.(*Resolver).lookupIP-fm(0x109aa20, 0xc00001fe00, 0xc0000229e0, 0x9, 0x42b9b2, 0xc000000008, 0xc00001fa40, 0x50, 0xc00045fea0)
        /usr/lib/go/src/net/lookup.go:207 +0x56
net.glob..func1(0x109aa20, 0xc00001fe00, 0xc0007766f0, 0xc0000229e0, 0x9, 0x42eadc, 0xc00045fed0, 0x456420, 0xc000479200, 0x4)
        /usr/lib/go/src/net/hook.go:19 +0x52
net.(*Resolver).LookupIPAddr.func1(0x0, 0x0, 0x0, 0x0)
        /usr/lib/go/src/net/lookup.go:221 +0xd8
internal/singleflight.(*Group).doCall(0x14756d0, 0xc0006aa280, 0xc0000229e0, 0x9, 0xc0007d0a50)
        /usr/lib/go/src/internal/singleflight/singleflight.go:95 +0x2e
created by internal/singleflight.(*Group).DoChan
        /usr/lib/go/src/internal/singleflight/singleflight.go:88 +0x2a0
goroutine 50 [chan receive]:
github.com/usefathom/fathom/pkg/api.(*Collector).aggregate(0xc000166240)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/api/collect.go:115 +0x61
created by github.com/usefathom/fathom/pkg/api.NewCollector
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/api/collect.go:41 +0x17b
goroutine 51 [select]:
github.com/usefathom/fathom/pkg/api.(*Collector).worker(0xc000166240, 0x64, 0x3b9aca00)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/api/collect.go:125 +0xcf
created by github.com/usefathom/fathom/pkg/api.NewCollector
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/api/collect.go:42 +0x1af
goroutine 28 [select]:
net.(*Resolver).LookupIPAddr(0x14756c0, 0x109aa60, 0xc000022048, 0xc0000229e0, 0x9, 0xc0000229ea, 0x4, 0x1538, 0x0, 0x0)
        /usr/lib/go/src/net/lookup.go:227 +0x55f
net.(*Resolver).internetAddrList(0x14756c0, 0x109aa60, 0xc000022048, 0xadf851, 0x3, 0xc0000229e0, 0xe, 0x0, 0x0, 0x0, ...)
        /usr/lib/go/src/net/ipsock.go:279 +0x614
net.(*Resolver).resolveAddrList(0x14756c0, 0x109aa60, 0xc000022048, 0xadfb0c, 0x4, 0xadf851, 0x3, 0xc0000229e0, 0xe, 0x0, ...)
        /usr/lib/go/src/net/dial.go:202 +0x4fb
net.(*Dialer).DialContext(0xc0004550b8, 0x109aa60, 0xc000022048, 0xadf851, 0x3, 0xc0000229e0, 0xe, 0x0, 0x0, 0x0, ...)
        /usr/lib/go/src/net/dial.go:384 +0x201
net.(*Dialer).Dial(0xc0004550b8, 0xadf851, 0x3, 0xc0000229e0, 0xe, 0xc0004550d8, 0x446327, 0x0, 0xc0004550f0)
        /usr/lib/go/src/net/dial.go:329 +0x75
net.Dial(0xadf851, 0x3, 0xc0000229e0, 0xe, 0x7b1f18, 0x413eb6, 0xc0004551d8, 0xa18fd66)
        /usr/lib/go/src/net/dial.go:300 +0x90
github.com/usefathom/fathom/vendor/github.com/lib/pq.defaultDialer.Dial(0xadf851, 0x3, 0xc0000229e0, 0xe, 0xa6d3c0, 0xc0007c2d58, 0xc0007c2c60, 0xc0000e0480)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:95 +0x49
github.com/usefathom/fathom/vendor/github.com/lib/pq.dial(0x1099360, 0x149a518, 0xc0007d09f0, 0x0, 0xc0000e0658, 0x1, 0x0)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:393 +0x35a
github.com/usefathom/fathom/vendor/github.com/lib/pq.DialOpen(0x1099360, 0x149a518, 0xc0000b8001, 0xa6, 0x0, 0x0, 0x0, 0x0)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:338 +0x545
github.com/usefathom/fathom/vendor/github.com/lib/pq.Open(0xc0000b8001, 0xa6, 0x1, 0x0, 0x46f0eb, 0x1433a00)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:251 +0x4d
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*Driver).Open(0x149a518, 0xc0000b8001, 0xa6, 0x10, 0xc00005b840, 0x75a5f6, 0xc00005b850)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:45 +0x35
database/sql.dsnConnector.Connect(0xc0000b8001, 0xa6, 0x1095d20, 0x149a518, 0x109aa60, 0xc000022048, 0x0, 0x0, 0xa25f00, 0x0)
        /usr/lib/go/src/database/sql/sql.go:637 +0x45
database/sql.(*DB).conn(0xc00042a0c0, 0x109aa60, 0xc000022048, 0x7faea4c5e001, 0xc00005b780, 0x435bf3, 0x10)
        /usr/lib/go/src/database/sql/sql.go:1177 +0x135
database/sql.(*DB).query(0xc00042a0c0, 0x109aa60, 0xc000022048, 0xc000024880, 0x1a, 0x0, 0x0, 0x0, 0xffffff01, 0x0, ...)
        /usr/lib/go/src/database/sql/sql.go:1514 +0x66
database/sql.(*DB).QueryContext(0xc00042a0c0, 0x109aa60, 0xc000022048, 0xc000024880, 0x1a, 0x0, 0x0, 0x0, 0x7faea4c5e000, 0x0, ...)
        /usr/lib/go/src/database/sql/sql.go:1496 +0xd3
database/sql.(*DB).Query(0xc00042a0c0, 0xc000024880, 0x1a, 0x0, 0x0, 0x0, 0xc000024880, 0xc00005b970, 0x79ba7c)
        /usr/lib/go/src/database/sql/sql.go:1510 +0x82
github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx.(*DB).QueryRowx(0xc000095d70, 0xc000024880, 0x1a, 0x0, 0x0, 0x0, 0xc00004ca80)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx/sqlx.go:363 +0x70
github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx.Get(0x1099ea0, 0xc000095d70, 0xa0ffe0, 0xc0000226a8, 0xc000024880, 0x1a, 0x0, 0x0, 0x0, 0x8, ...)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx/sqlx.go:685 +0x6d
github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx.(*DB).Get(0xc000095d70, 0xa0ffe0, 0xc0000226a8, 0xc000024880, 0x1a, 0x0, 0x0, 0x0, 0xc000852240, 0x7faea4c5e000)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx/sqlx.go:328 +0x90
github.com/usefathom/fathom/pkg/datastore/sqlstore.(*sqlstore).CountUsers(0xc00000d8e0, 0x102c650, 0xc000226900, 0x40e338)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/datastore/sqlstore/users.go:82 +0x99
github.com/usefathom/fathom/pkg/api.(*API).Authorize.func1(0x1099e20, 0xc0006aa230, 0xc000226900)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/api/auth.go:104 +0x8d
net/http.HandlerFunc.ServeHTTP(0xc00084e080, 0x1099e20, 0xc0006aa230, 0xc000226900)
        /usr/lib/go/src/net/http/server.go:1964 +0x44
github.com/usefathom/fathom/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc0007d6e70, 0x1099e20, 0xc0006aa230, 0xc000226900)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/gorilla/mux/mux.go:162 +0xf1
github.com/usefathom/fathom/vendor/github.com/gorilla/handlers.CompressHandlerLevel.func1(0x109a4e0, 0xc00016e620, 0xc000226700)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/gorilla/handlers/compress.go:146 +0x18c
net/http.HandlerFunc.ServeHTTP(0xc00084e760, 0x109a4e0, 0xc00016e620, 0xc000226700)
        /usr/lib/go/src/net/http/server.go:1964 +0x44
net/http.serverHandler.ServeHTTP(0xc000096680, 0x109a4e0, 0xc00016e620, 0xc000226700)
        /usr/lib/go/src/net/http/server.go:2741 +0xab
net/http.(*conn).serve(0xc000158320, 0x109aa20, 0xc00001fd40)
        /usr/lib/go/src/net/http/server.go:1847 +0x646
created by net/http.(*Server).Serve
        /usr/lib/go/src/net/http/server.go:2851 +0x2f5
goroutine 66 [IO wait]:
internal/poll.runtime_pollWait(0x7faea01edd60, 0x72, 0xc000046e58)
        /usr/lib/go/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc000206498, 0x72, 0xffffffffffffff00, 0x1097260, 0x14438d0)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc000206498, 0xc0007d0800, 0x1, 0x1)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc000206480, 0xc0007d0851, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/lib/go/src/internal/poll/fd_unix.go:169 +0x179
net.(*netFD).Read(0xc000206480, 0xc0007d0851, 0x1, 0x1, 0xc0007a6098, 0xc000046f68, 0x46cf35)
        /usr/lib/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc000674000, 0xc0007d0851, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/lib/go/src/net/net.go:177 +0x68
net/http.(*connReader).backgroundRead(0xc0007d0840)
        /usr/lib/go/src/net/http/server.go:676 +0x5a
created by net/http.(*connReader).startBackgroundRead
        /usr/lib/go/src/net/http/server.go:672 +0xd2
goroutine 29 [IO wait]:
internal/poll.runtime_pollWait(0x7faea01edf00, 0x72, 0xc0000c8de8)
        /usr/lib/go/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc000020298, 0x72, 0xffffffffffffff00, 0x1097260, 0x14438d0)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc000020298, 0xc00013d000, 0x1000, 0x1000)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc000020280, 0xc00013d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/go/src/internal/poll/fd_unix.go:169 +0x179
net.(*netFD).Read(0xc000020280, 0xc00013d000, 0x1000, 0x1000, 0x10000c0000c8f00, 0x4569f0, 0xc0000c8ecf)
        /usr/lib/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e498, 0xc00013d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/lib/go/src/net/net.go:177 +0x68
bufio.(*Reader).Read(0xc000072c60, 0xc0000ac020, 0x5, 0x200, 0xc0000c8fc8, 0xc0005ea000, 0xc0000c8fe8)
        /usr/lib/go/src/bufio/bufio.go:216 +0x22f
io.ReadAtLeast(0x1095780, 0xc000072c60, 0xc0000ac020, 0x5, 0x200, 0x5, 0x40daaf, 0xc0005ea000, 0x20)
        /usr/lib/go/src/io/io.go:310 +0x88
io.ReadFull(0x1095780, 0xc000072c60, 0xc0000ac020, 0x5, 0x200, 0x0, 0xc00016aa80, 0x3e)
        /usr/lib/go/src/io/io.go:329 +0x58
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*conn).recvMessage(0xc0000ac000, 0xc0005ea000, 0xa28180, 0xc0000ac001, 0x149a518)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:961 +0xf9
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*conn).recv1Buf(0xc0000ac000, 0xc0005ea000, 0xc0007104d9)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:1011 +0x39
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*conn).recv1(0xc0000ac000, 0xc00000e498, 0xc0000ac020)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:1032 +0x7b
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*conn).readParseResponse(0xc0000ac000)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:1593 +0x2f
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*conn).prepareTo(0xc0000ac000, 0xc000710450, 0x29, 0x0, 0x0, 0xc000022048)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:797 +0x4e7
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*conn).query(0xc0000ac000, 0xc000710450, 0x29, 0xc00077a8f0, 0x1, 0x1, 0x0, 0x0, 0x0)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn.go:868 +0x26b
github.com/usefathom/fathom/vendor/github.com/lib/pq.(*conn).QueryContext(0xc0000ac000, 0x109aa60, 0xc000022048, 0xc000710450, 0x29, 0xc00070a420, 0x1, 0x1, 0xc0000d8140, 0xc00077a700, ...)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/lib/pq/conn_go18.go:19 +0x1a9
database/sql.ctxDriverQuery(0x109aa60, 0xc000022048, 0x7fae983ff060, 0xc0000ac000, 0x0, 0x0, 0xc000710450, 0x29, 0xc00070a420, 0x1, ...)
        /usr/lib/go/src/database/sql/ctxutil.go:48 +0x236
database/sql.(*DB).queryDC.func1()
        /usr/lib/go/src/database/sql/sql.go:1541 +0x1db
database/sql.withLock(0x1097ce0, 0xc000020300, 0xc0000c9668)
        /usr/lib/go/src/database/sql/sql.go:3076 +0x63
database/sql.(*DB).queryDC(0xc00042a0c0, 0x109aa60, 0xc000022048, 0x0, 0x0, 0xc000020300, 0xc00077a8b0, 0xc000710450, 0x29, 0xc00077a870, ...)
        /usr/lib/go/src/database/sql/sql.go:1536 +0x5f8
database/sql.(*DB).query(0xc00042a0c0, 0x109aa60, 0xc000022048, 0xc000710450, 0x29, 0xc00077a870, 0x1, 0x1, 0x40d601, 0x7faea01f3a88, ...)
        /usr/lib/go/src/database/sql/sql.go:1519 +0x136
database/sql.(*DB).QueryContext(0xc00042a0c0, 0x109aa60, 0xc000022048, 0xc000710450, 0x29, 0xc00077a870, 0x1, 0x1, 0x7faea4c5f440, 0x0, ...)
        /usr/lib/go/src/database/sql/sql.go:1496 +0xd3
database/sql.(*DB).Query(0xc00042a0c0, 0xc000710450, 0x29, 0xc00077a870, 0x1, 0x1, 0xc000710450, 0xc0000c9948, 0xc0000c9960)
        /usr/lib/go/src/database/sql/sql.go:1510 +0x82
github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx.(*DB).QueryRowx(0xc000095d70, 0xc000710450, 0x29, 0xc00077a870, 0x1, 0x1, 0xc00016aa80)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx/sqlx.go:363 +0x70
github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx.Get(0x1099ea0, 0xc000095d70, 0xa57260, 0xc00070a3f0, 0xc000710450, 0x29, 0xc00077a870, 0x1, 0x1, 0x0, ...)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx/sqlx.go:685 +0x6d
github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx.(*DB).Get(0xc000095d70, 0xa57260, 0xc00070a3f0, 0xc000710450, 0x29, 0xc00077a870, 0x1, 0x1, 0x40f706, 0xc0000c9a88)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/jmoiron/sqlx/sqlx.go:328 +0x90
github.com/usefathom/fathom/pkg/datastore/sqlstore.(*sqlstore).GetUser(0xc00000d8e0, 0x1, 0xc0000c9a88, 0xc0000a8508, 0xc000208001)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/datastore/sqlstore/users.go:13 +0x135
github.com/usefathom/fathom/pkg/api.(*API).Authorize.func1(0x1099e20, 0xc0000a24b0, 0xc0002b6f00)
        /home/danny/Code/go/src/github.com/usefathom/fathom/pkg/api/auth.go:125 +0x295
net/http.HandlerFunc.ServeHTTP(0xc0005e7ac0, 0x1099e20, 0xc0000a24b0, 0xc0002b6f00)
        /usr/lib/go/src/net/http/server.go:1964 +0x44
github.com/usefathom/fathom/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc0007d6e70, 0x1099e20, 0xc0000a24b0, 0xc0002b6f00)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/gorilla/mux/mux.go:162 +0xf1
github.com/usefathom/fathom/vendor/github.com/gorilla/handlers.CompressHandlerLevel.func1(0x109a4e0, 0xc0007ba2a0, 0xc0002b6d00)
        /home/danny/Code/go/src/github.com/usefathom/fathom/vendor/github.com/gorilla/handlers/compress.go:146 +0x18c
net/http.HandlerFunc.ServeHTTP(0xc00084e760, 0x109a4e0, 0xc0007ba2a0, 0xc0002b6d00)
        /usr/lib/go/src/net/http/server.go:1964 +0x44
net/http.serverHandler.ServeHTTP(0xc000096680, 0x109a4e0, 0xc0007ba2a0, 0xc0002b6d00)
        /usr/lib/go/src/net/http/server.go:2741 +0xab
net/http.(*conn).serve(0xc000158460, 0x109aa20, 0xc0008522c0)
        /usr/lib/go/src/net/http/server.go:1847 +0x646
created by net/http.(*Server).Serve
        /usr/lib/go/src/net/http/server.go:2851 +0x2f5
goroutine 30 [IO wait]:
internal/poll.runtime_pollWait(0x7faea01edc90, 0x72, 0xc000474e58)
        /usr/lib/go/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc000206518, 0x72, 0xffffffffffffff00, 0x1097260, 0x14438d0)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc000206518, 0xc000538900, 0x1, 0x1)
        /usr/lib/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc000206500, 0xc0005389a1, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/lib/go/src/internal/poll/fd_unix.go:169 +0x179
net.(*netFD).Read(0xc000206500, 0xc0005389a1, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/lib/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc000674008, 0xc0005389a1, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/lib/go/src/net/net.go:177 +0x68
net/http.(*connReader).backgroundRead(0xc000538990)
        /usr/lib/go/src/net/http/server.go:676 +0x5a
created by net/http.(*connReader).startBackgroundRead
        /usr/lib/go/src/net/http/server.go:672 +0xd2

Configuration

FATHOM_GZIP=true
FATHOM_DEBUG=false
FATHOM_DATABASE_DRIVER="postgres"
FATHOM_DATABASE_NAME="fathom"
FATHOM_DATABASE_USER="fathom"
FATHOM_DATABASE_PASSWORD="***"
FATHOM_DATABASE_HOST="localhost"
FATHOM_SECRET="***"
FATHOM_SERVER_ADDR="127.0.0.1:32846"
FATHOM_DATABASE_SSLMODE="disable"

Switching the driver to sqlite or mysql removes the issue, so I suspect the issue comes from the PostgreSQL driver.

I'm running postgres 11.2 on linux.

deanpcmad commented 5 years ago

I've got the same issue running with MariaDB - issue #265

RealOrangeOne commented 5 years ago

Interesting. I ended up switching to MariaDB and it's working fine.

stenvdb commented 4 years ago

I'm having the same issue.. Sticking with SQLite solves the issue. Mysql is not working, I'm running Fathom on a Digital Ocean Server configured with Runcloud which, if I'm correct, uses MariaDB.

I'll stick to SQLite for now.. but would love to switch to MariaDB/Mysql.. Any support / feedback would be appreciated.