We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fatal error: concurrent map read and map write
goroutine 42364 [running]: runtime.throw(0x94428d, 0x21) /usr/local/go/src/runtime/panic.go:605 +0x95 fp=0xc426503970 sp=0xc426503950 pc=0x42bd65 runtime.mapaccess1_faststr(0x8af4e0, 0xc4201e39e0, 0xc42c48f100, 0x19, 0x14) /usr/local/go/src/runtime/hashmap_fast.go:217 +0x43a fp=0xc4265039c8 sp=0xc426503970 pc=0x40d47a github.com/terranodo/tegola/cache/filecache.(*Filecache).Set(0xc4201d7840, 0xc4201d7040, 0xc4266004e0, 0x185, 0x185, 0x0, 0x0) /home/zhl/go/src/github.com/terranodo/tegola/cache/filecache/filecache.go:184 +0x51b fp=0xc426503a90 sp=0xc4265039c8 pc=0x7c github.com/terranodo/tegola/server.TileCacheHandler.func1(0xba0060, 0xc42018c7e0, 0xc421245100) /home/zhl/go/src/github.com/terranodo/tegola/server/middleware_tile_cache.go:55 +0x37b fp=0xc426503b68 sp=0xc426503a90 pc=0x net/http.HandlerFunc.ServeHTTP(0xc4204bbea0, 0xba0060, 0xc42018c7e0, 0xc421245100) /usr/local/go/src/net/http/server.go:1918 +0x44 fp=0xc426503b90 sp=0xc426503b68 pc=0x66d3e4 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*ContextGroup).Handler.func1(0xba0060, 0xc42018c7e0, 0xc425c52900 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/context.go:62 +0xe8 fp=0xc426503bf0 sp=0x github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*TreeMux).ServeHTTP(0xc4200f6150, 0xba0060, 0xc42018c7e0, 0xc425c /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/router.go:252 +0x308 fp=0xc426503d18 sp=0 net/http.serverHandler.ServeHTTP(0xc420464820, 0xba0060, 0xc42018c7e0, 0xc425c52900) /usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc426503d48 sp=0xc426503d18 pc=0x66ff34 net/http.(*conn).serve(0xc4200886e0, 0xba0a20, 0xc429faf4c0) /usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc426503fc8 sp=0xc426503d48 pc=0x66c2bd runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc426503fd0 sp=0xc426503fc8 pc=0x459891 created by net/http.(*Server).Serve /usr/local/go/src/net/http/server.go:2720 +0x288 goroutine 1 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a6a6df0, 0x72, 0xffffffffffffffff) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc420132b18, 0x72, 0xc42004f700, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc420132b18, 0xffffffffffffff00, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Accept(0xc420132b00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:335 +0x1e2 net.(*netFD).accept(0xc420132b00, 0x9571d8, 0xc42004f978, 0x402e8b) /usr/local/go/src/net/fd_unix.go:238 +0x42 net.(*TCPListener).accept(0xc42000e678, 0x8a2740, 0xc42004f9a8, 0x401c27) /usr/local/go/src/net/tcpsock_posix.go:136 +0x2e net.(*TCPListener).AcceptTCP(0xc42000e678, 0xc42004f9f0, 0xc42004f9f8, 0xc42004f9e8) /usr/local/go/src/net/tcpsock.go:234 +0x49 net/http.tcpKeepAliveListener.Accept(0xc42000e678, 0x956b68, 0xc420089400, 0xba0ae0, 0xc4201a10b0) /usr/local/go/src/net/http/server.go:3120 +0x2f net/http.(*Server).Serve(0xc420464820, 0xba04a0, 0xc42000e678, 0x0, 0x0) /usr/local/go/src/net/http/server.go:2695 +0x1b2 net/http.(*Server).ListenAndServe(0xc420464820, 0xc420464820, 0xc420228040) /usr/local/go/src/net/http/server.go:2636 +0xa9 net/http.ListenAndServe(0xc420017038, 0x5, 0xb9a4e0, 0xc4200f6150, 0x6, 0xb9ade0) /usr/local/go/src/net/http/server.go:2882 +0x7f github.com/terranodo/tegola/server.Start(0xc420017038, 0x5) /home/zhl/go/src/github.com/terranodo/tegola/server/server.go:75 +0x8b1 main.main() /home/zhl/go/src/github.com/terranodo/tegola/cmd/tegola/main.go:86 +0x483 goroutine 42368 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a602670, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42155ac18, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42155ac18, 0xc426a1e000, 0x1000, 0x1000) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42155ac00, 0xc426a1e000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42155ac00, 0xc426a1e000, 0x1000, 0x1000, 0xc42bf758c8, 0x66682a, 0xc4278b11d8) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498578, 0xc426a1e000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).Read(0xc4278b11d0, 0xc426a1e000, 0x1000, 0x1000, 0xc429fafe00, 0xb982c8, 0x2) /usr/local/go/src/net/http/server.go:753 +0x105 bufio.(*Reader).fill(0xc4236bb7a0) /usr/local/go/src/bufio/bufio.go:97 +0x11a bufio.(*Reader).ReadSlice(0xc4236bb7a0, 0xc42bf75a0a, 0x411a96, 0x7fad9856e978, 0x1f, 0xff, 0xff) /usr/local/go/src/bufio/bufio.go:338 +0x2c bufio.(*Reader).ReadLine(0xc4236bb7a0, 0x100, 0xf8, 0x926180, 0x1, 0x1220029f36800, 0xf8) /usr/local/go/src/bufio/bufio.go:367 +0x34 net/textproto.(*Reader).readLineSlice(0xc4278b1350, 0xc42bf75b20, 0xc42bf75b20, 0x412688, 0x100, 0x926180) /usr/local/go/src/net/textproto/reader.go:55 +0x70 net/textproto.(*Reader).ReadLine(0xc4278b1350, 0xc4258f3f00, 0x0, 0xc42bf75b90, 0x490822) /usr/local/go/src/net/textproto/reader.go:36 +0x2b net/http.readRequest(0xc4236bb7a0, 0x0, 0xc4258f3f00, 0x0, 0x0) /usr/local/go/src/net/http/request.go:925 +0x99 net/http.(*conn).readRequest(0xc4200892c0, 0xba0a20, 0xc429fafdc0, 0x0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:933 +0x17c net/http.(*conn).serve(0xc4200892c0, 0xba0a20, 0xc429fafdc0) /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 47949 [runnable]: internal/poll.runtime_pollWait(0x7fad981bf778, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42b173398, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42b173398, 0xc42642c000, 0x1000, 0x1000) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42b173380, 0xc42642c000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42b173380, 0xc42642c000, 0x1000, 0x1000, 0x28, 0x0, 0x0) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc4201c22d0, 0xc42642c000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d bufio.(*Reader).Read(0xc42582eba0, 0xc42c4b7660, 0x5, 0x80, 0xc42c4b7130, 0xc42c4b7530, 0xc42c4b7530) /usr/local/go/src/bufio/bufio.go:213 +0x30b io.ReadAtLeast(0xb99e20, 0xc42582eba0, 0xc42c4b7660, 0x5, 0x80, 0x5, 0xc42f8d33bc, 0x4, 0x500013a94) /usr/local/go/src/io/io.go:309 +0x86 io.ReadFull(0xb99e20, 0xc42582eba0, 0xc42c4b7660, 0x5, 0x80, 0x8c5220, 0xc427ddfc4a, 0x40000000006) /usr/local/go/src/io/io.go:327 +0x58 github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*msgReader).rxMsg(0xc42c4b7658, 0x0, 0xc4200f8700, 0x7fad9a6f2000) /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/msg_reader.go:51 +0x83 github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*Conn).rxMsg(0xc42c4b7100, 0xc4202c11c0, 0xc427c2c830, 0xd6, 0x0) /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/conn.go:1042 +0x4d github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*Rows).Next(0xc4202c11c0, 0x956820) /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/query.go:165 +0xa9 github.com/terranodo/tegola/provider/postgis.(*Provider).ForEachFeature(0xc4227abd10, 0xba0ae0, 0xc422688660, 0xc4201ce9a4, 0xb, 0x1 /home/zhl/go/src/github.com/terranodo/tegola/provider/postgis/postgis_foreach.go:52 +0x602 github.com/terranodo/tegola/provider/postgis.Provider.MVTLayer(0xc420017140, 0x9, 0x1538, 0xc420017190, 0x6, 0xc4200171b0, 0x4, 0xc4 /home/zhl/go/src/github.com/terranodo/tegola/provider/postgis/postgis.go:331 +0x167 github.com/terranodo/tegola/provider/postgis.(*Provider).MVTLayer(0xc4200fd450, 0xba0ae0, 0xc422688660, 0xc4201ce9a4, 0xb, 0x14, 0x8 <autogenerated>:1 +0xfb github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP.func1(0xc425412620, 0xc421ffc100, 0xc4204cb7c0, 0xc421ae7500, 0x10, 0x10, /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:155 +0xf2 created by github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:150 +0x516 goroutine 18537 [IO wait, 1 minutes]: internal/poll.runtime_pollWait(0x7fad9a602c70, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc421e12098, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc421e12098, 0xc4201a0200, 0x1, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc421e12080, 0xc4201a0251, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc421e12080, 0xc4201a0251, 0x1, 0x1, 0xc427c76a20, 0xc427c76ba0, 0xc420302e80) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498058, 0xc4201a0251, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).backgroundRead(0xc4201a0240) /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 7519 [semacquire]: sync.runtime_Semacquire(0xc4218257fc) /usr/local/go/src/runtime/sema.go:56 +0x39 sync.(*WaitGroup).Wait(0xc4218257f0) /usr/local/go/src/sync/waitgroup.go:131 +0x72 github.com/terranodo/tegola/maths/makevalid/plyg.GenerateMultiPolygon(0xc42c4ba000, 0x8e7, 0x8e7, 0x0, 0xc4222835c0, 0x8e7) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:877 +0x29b github.com/terranodo/tegola/maths/makevalid.destructure5(0xba0ae0, 0xc4222835c0, 0xb9a4a0, 0xc4254a0000, 0xc42dc42ba8, 0xc4388cc000, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:340 +0x2981 github.com/terranodo/tegola/maths/makevalid.MakeValid(0xba0ae0, 0xc4222835c0, 0xb9a4a0, 0xc4254a0000, 0x40b0000000000000, 0xc4242380 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:350 +0x14e github.com/terranodo/tegola/maths/validate.makePolygonValid(0xba0ae0, 0xc4222835c0, 0xc429ae0320, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, /home/zhl/go/src/github.com/terranodo/tegola/maths/validate/validate.go:57 +0x3a5 github.com/terranodo/tegola/maths/validate.CleanGeometry(0xba0ae0, 0xc4222835c0, 0x8edc80, 0xc420d28c60, 0x40b0000000000000, 0xc420d /home/zhl/go/src/github.com/terranodo/tegola/maths/validate/validate.go:86 +0x660 github.com/terranodo/tegola/mvt.encodeGeometry(0xba0ae0, 0xc4222835c0, 0x8c9da0, 0xc42069f5e0, 0xc1631bf84570a3d7, 0x41531bf84570a3d /home/zhl/go/src/github.com/terranodo/tegola/mvt/feature.go:587 +0x1e5 github.com/terranodo/tegola/mvt.(*Feature).VTileFeature(0xc42dc43460, 0xba0ae0, 0xc4222835c0, 0xc420194250, 0x1, 0x1, 0xc4218c0000, /home/zhl/go/src/github.com/terranodo/tegola/mvt/feature.go:84 +0x1a2 github.com/terranodo/tegola/mvt.(*Layer).VTileLayer(0xc42dc43580, 0xba0ae0, 0xc4222835c0, 0xc1631bf84570a3d7, 0x41531bf84570a3d8, 0x /home/zhl/go/src/github.com/terranodo/tegola/mvt/layer.go:87 +0x35d github.com/terranodo/tegola/mvt.(*Tile).VTile(0xc4230437b8, 0xba0ae0, 0xc4222835c0, 0xc1631bf84570a3d7, 0x41531bf84570a3d8, 0xc15ca9 /home/zhl/go/src/github.com/terranodo/tegola/mvt/tile.go:47 +0x13f github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP(0xc4226f372a, 0x3, 0x4, 0x4, 0x6, 0xc4226f3734, 0x3, 0x0, 0xb9fd60, 0xc429 /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:199 +0x693 github.com/terranodo/tegola/server.(*HandleMapZXY).ServeHTTP(0xc4201d6bc0, 0xb9fd60, 0xc429bdf400, 0xc42548cc00) <autogenerated>:1 +0x6c github.com/terranodo/tegola/server.TileCacheHandler.func1(0xba0060, 0xc422d8f0a0, 0xc42548cc00) /home/zhl/go/src/github.com/terranodo/tegola/server/middleware_tile_cache.go:48 +0x2e0 net/http.HandlerFunc.ServeHTTP(0xc4204bbea0, 0xba0060, 0xc422d8f0a0, 0xc42548cc00) /usr/local/go/src/net/http/server.go:1918 +0x44 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*ContextGroup).Handler.func1(0xba0060, 0xc422d8f0a0, 0xc42548cb00 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/context.go:62 +0xe8 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*TreeMux).ServeHTTP(0xc4200f6150, 0xba0060, 0xc422d8f0a0, 0xc4254 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/router.go:252 +0x308 net/http.serverHandler.ServeHTTP(0xc420464820, 0xba0060, 0xc422d8f0a0, 0xc42548cb00) /usr/local/go/src/net/http/server.go:2619 +0xb4 net/http.(*conn).serve(0xc421e14140, 0xba0a20, 0xc424e80440) /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 45004 [runnable]: github.com/terranodo/tegola/maths/makevalid/plyg.(*Builder).AddPts(0xc42003ad70, 0x407ecaaaaaaaaa02, 0xc428195040, 0x1, 0x3c, 0xc428 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/builder.go:91 +0x809 github.com/terranodo/tegola/maths/makevalid/plyg.(*RingCol).addPts(0xc42003ae90, 0xb9a4a0, 0xc42175e000, 0xc42003ad70, 0xc428195040, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:148 +0x289 github.com/terranodo/tegola/maths/makevalid/plyg.BuildRingCol(0xba0ae0, 0xc4201b7e30, 0xb9a4a0, 0xc42175e000, 0xc428195000, 0x22, 0x /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:419 +0x345 github.com/terranodo/tegola/maths/makevalid.destructure5.func4(0x1, 0xba0ae0, 0xc4201b7e30) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:309 +0x216 created by github.com/terranodo/tegola/maths/makevalid.destructure5 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:323 +0x278c goroutine 45003 [runnable]: github.com/terranodo/tegola/maths/makevalid/plyg.(*Builder).AddPts(0xc42003bd70, 0x407e9aaaaaaaaa01, 0xc428194950, 0x1, 0x2b, 0xc428 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/builder.go:91 +0x809 github.com/terranodo/tegola/maths/makevalid/plyg.(*RingCol).addPts(0xc42003be90, 0xb9a4a0, 0xc42175e000, 0xc42003bd70, 0xc428194950, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:148 +0x289 github.com/terranodo/tegola/maths/makevalid/plyg.BuildRingCol(0xba0ae0, 0xc4201b7e30, 0xb9a4a0, 0xc42175e000, 0xc428194800, 0x21, 0x /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:419 +0x345 github.com/terranodo/tegola/maths/makevalid.destructure5.func4(0x0, 0xba0ae0, 0xc4201b7e30) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:309 +0x216 created by github.com/terranodo/tegola/maths/makevalid.destructure5 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:323 +0x278c goroutine 19890 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a6a6d30, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc421e12018, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc421e12018, 0xc4201a0100, 0x1, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc421e12000, 0xc4201a0101, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc421e12000, 0xc4201a0101, 0x1, 0x1, 0xc420341e60, 0xc4206a8000, 0xc4204cbf80) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498050, 0xc4201a0101, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).backgroundRead(0xc4201a00f0) /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 42369 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a6a6370, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42155af98, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42155af98, 0xc42496b000, 0x1000, 0x1000) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42155af80, 0xc42496b000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42155af80, 0xc42496b000, 0x1000, 0x1000, 0xc42bf718c8, 0x66682a, 0xc4278b0818) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498580, 0xc42496b000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).Read(0xc4278b0810, 0xc42496b000, 0x1000, 0x1000, 0xc429faf280, 0xb982c8, 0x2) /usr/local/go/src/net/http/server.go:753 +0x105 bufio.(*Reader).fill(0xc4236ba300) /usr/local/go/src/bufio/bufio.go:97 +0x11a bufio.(*Reader).ReadSlice(0xc4236ba300, 0xc429faf20a, 0xc42bf71a38, 0x0, 0x0, 0xff, 0xff) /usr/local/go/src/bufio/bufio.go:338 +0x2c bufio.(*Reader).ReadLine(0xc4236ba300, 0x100, 0xf8, 0x926180, 0x4, 0x220029f36800, 0xf8) /usr/local/go/src/bufio/bufio.go:367 +0x34 net/textproto.(*Reader).readLineSlice(0xc4278b13b0, 0xc42bf71b20, 0xc42bf71b20, 0x412688, 0x100, 0x926180) /usr/local/go/src/net/textproto/reader.go:55 +0x70 net/textproto.(*Reader).ReadLine(0xc4278b13b0, 0xc4225f9400, 0x0, 0xc42bf71b90, 0x490822) /usr/local/go/src/net/textproto/reader.go:36 +0x2b net/http.readRequest(0xc4236ba300, 0x0, 0xc4225f9400, 0x0, 0x0) /usr/local/go/src/net/http/request.go:925 +0x99 net/http.(*conn).readRequest(0xc420089400, 0xba0a20, 0xc429faf240, 0x0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:933 +0x17c net/http.(*conn).serve(0xc420089400, 0xba0a20, 0xc429faf240) /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 42367 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a6a6a30, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42155ab98, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42155ab98, 0xc42bc9e000, 0x1000, 0x1000) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42155ab80, 0xc42bc9e000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42155ab80, 0xc42bc9e000, 0x1000, 0x1000, 0xc42559b8c8, 0x66682a, 0xc4278b0ff8) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498570, 0xc42bc9e000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).Read(0xc4278b0ff0, 0xc42bc9e000, 0x1000, 0x1000, 0xc429fafbc0, 0xb982c8, 0x2) /usr/local/go/src/net/http/server.go:753 +0x105 bufio.(*Reader).fill(0xc4236bb500) /usr/local/go/src/bufio/bufio.go:97 +0x11a bufio.(*Reader).ReadSlice(0xc4236bb500, 0xc429fafb0a, 0xc42559ba38, 0x0, 0x0, 0xf3, 0x33) /usr/local/go/src/bufio/bufio.go:338 +0x2c bufio.(*Reader).ReadLine(0xc4236bb500, 0x100, 0xf8, 0x926180, 0xc42559ba98, 0x220000402d89, 0xf8) /usr/local/go/src/bufio/bufio.go:367 +0x34 net/textproto.(*Reader).readLineSlice(0xc422217c20, 0xc42559bb20, 0xc42559bb20, 0x412688, 0x100, 0x926180) /usr/local/go/src/net/textproto/reader.go:55 +0x70 net/textproto.(*Reader).ReadLine(0xc422217c20, 0xc421ffd200, 0x0, 0xc42559bb90, 0x490822) /usr/local/go/src/net/textproto/reader.go:36 +0x2b net/http.readRequest(0xc4236bb500, 0x0, 0xc421ffd200, 0x0, 0x0) /usr/local/go/src/net/http/request.go:925 +0x99 net/http.(*conn).readRequest(0xc420089180, 0xba0a20, 0xc429fafb80, 0x0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:933 +0x17c net/http.(*conn).serve(0xc420089180, 0xba0a20, 0xc429fafb80) /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 47950 [runnable]: internal/poll.runtime_pollWait(0x7fad981bf8f8, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42b173198, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42b173198, 0xc4210e2000, 0x1000, 0x1000) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42b173180, 0xc4210e2000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42b173180, 0xc4210e2000, 0x1000, 0x1000, 0x9341e1, 0xc4227a90a0, 0x4def54) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc427a6c060, 0xc4210e2000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d bufio.(*Reader).Read(0xc4254226c0, 0xc42c4b6860, 0x5, 0x80, 0xc42c4b6330, 0xc4227a9128, 0x490102) /usr/local/go/src/bufio/bufio.go:213 +0x30b io.ReadAtLeast(0xb99e20, 0xc4254226c0, 0xc42c4b6860, 0x5, 0x80, 0x5, 0x0, 0x0, 0xe0) /usr/local/go/src/io/io.go:309 +0x86 io.ReadFull(0xb99e20, 0xc4254226c0, 0xc42c4b6860, 0x5, 0x80, 0x400, 0xc00000000eb, 0x40) /usr/local/go/src/io/io.go:327 +0x58 github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*msgReader).rxMsg(0xc42c4b6858, 0xc4200f8700, 0x7fad9a6f2000, 0x0) /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/msg_reader.go:51 +0x83 github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*Conn).rxMsg(0xc42c4b6300, 0xc429b88280, 0xeb, 0x400, 0xeb) /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/conn.go:1042 +0x4d github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*Conn).PrepareEx(0xc42c4b6300, 0x0, 0x0, 0xc422b6b260, 0xd6, 0x0, 0xc429b88 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/conn.go:662 +0x98e github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*Conn).Prepare(0xc42c4b6300, 0x0, 0x0, 0xc422b6b260, 0xd6, 0x0, 0xc4227a954 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/conn.go:598 +0x5c github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*Conn).Query(0xc42c4b6300, 0xc422b6b260, 0xd6, 0x0, 0x0, 0x0, 0xc4204cad10, /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/query.go:448 +0x370 github.com/terranodo/tegola/vendor/github.com/jackc/pgx.(*ConnPool).Query(0xc4200b2f00, 0xc422b6b260, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x0, /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/jackc/pgx/conn_pool.go:352 +0x130 github.com/terranodo/tegola/provider/postgis.(*Provider).ForEachFeature(0xc4227a9d10, 0xba0ae0, 0xc422688660, 0xc4201cea64, 0xb, 0x1 /home/zhl/go/src/github.com/terranodo/tegola/provider/postgis/postgis_foreach.go:43 +0x404 github.com/terranodo/tegola/provider/postgis.Provider.MVTLayer(0xc420017140, 0x9, 0x1538, 0xc420017190, 0x6, 0xc4200171b0, 0x4, 0xc4 /home/zhl/go/src/github.com/terranodo/tegola/provider/postgis/postgis.go:331 +0x167 github.com/terranodo/tegola/provider/postgis.(*Provider).MVTLayer(0xc4200fd450, 0xba0ae0, 0xc422688660, 0xc4201cea64, 0xb, 0x14, 0x8 <autogenerated>:1 +0xfb github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP.func1(0xc425412620, 0xc421ffc100, 0xc4204cb7c0, 0xc421ae7500, 0x10, 0x10, /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:155 +0xf2 created by github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:150 +0x516 goroutine 47884 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a6025b0, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42155aa18, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42155aa18, 0xc4278b0a00, 0x1, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42155aa00, 0xc4278b0a31, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42155aa00, 0xc4278b0a31, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498558, 0xc4278b0a31, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).backgroundRead(0xc4278b0a20) /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 47952 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a602df0, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42155aa98, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42155aa98, 0xc4278b0c00, 0x1, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42155aa80, 0xc4278b0c11, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42155aa80, 0xc4278b0c11, 0x1, 0x1, 0xc429be50e0, 0xc429be5620, 0xc4201d6480) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498560, 0xc4278b0c11, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).backgroundRead(0xc4278b0c00) /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 7517 [select]: github.com/terranodo/tegola/maths/makevalid.destructure5(0xba0ae0, 0xc4201b7e30, 0xb9a4a0, 0xc42175e000, 0xc423786ba8, 0xc4313ec000, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:326 +0x28af github.com/terranodo/tegola/maths/makevalid.MakeValid(0xba0ae0, 0xc4201b7e30, 0xb9a4a0, 0xc42175e000, 0x40b0000000000000, 0xc4202121 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:350 +0x14e github.com/terranodo/tegola/maths/validate.makePolygonValid(0xba0ae0, 0xc4201b7e30, 0xc42022c2d0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, /home/zhl/go/src/github.com/terranodo/tegola/maths/validate/validate.go:57 +0x3a5 github.com/terranodo/tegola/maths/validate.CleanGeometry(0xba0ae0, 0xc4201b7e30, 0x8edc80, 0xc4228da040, 0x40b0000000000000, 0xc4228 /home/zhl/go/src/github.com/terranodo/tegola/maths/validate/validate.go:86 +0x660 github.com/terranodo/tegola/mvt.encodeGeometry(0xba0ae0, 0xc4201b7e30, 0x8c9da0, 0xc4226f0020, 0xc15ca9f46828f5c2, 0x415ca9f46828f5c /home/zhl/go/src/github.com/terranodo/tegola/mvt/feature.go:587 +0x1e5 github.com/terranodo/tegola/mvt.(*Feature).VTileFeature(0xc423787460, 0xba0ae0, 0xc4201b7e30, 0xc42014e5a0, 0x1, 0x1, 0xc4241fa000, /home/zhl/go/src/github.com/terranodo/tegola/mvt/feature.go:84 +0x1a2 github.com/terranodo/tegola/mvt.(*Layer).VTileLayer(0xc423787580, 0xba0ae0, 0xc4201b7e30, 0xc15ca9f46828f5c2, 0x415ca9f46828f5c2, 0x /home/zhl/go/src/github.com/terranodo/tegola/mvt/layer.go:87 +0x35d github.com/terranodo/tegola/mvt.(*Tile).VTile(0xc4230457b8, 0xba0ae0, 0xc4201b7e30, 0xc15ca9f46828f5c2, 0x415ca9f46828f5c2, 0xc1531b /home/zhl/go/src/github.com/terranodo/tegola/mvt/tile.go:47 +0x13f github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP(0xc420268aca, 0x3, 0x4, 0x5, 0x5, 0xc420268ad4, 0x3, 0x0, 0xb9fd60, 0xc423 /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:199 +0x693 github.com/terranodo/tegola/server.(*HandleMapZXY).ServeHTTP(0xc4201d6bc0, 0xb9fd60, 0xc4230029a0, 0xc4233a6000) <autogenerated>:1 +0x6c github.com/terranodo/tegola/server.TileCacheHandler.func1(0xba0060, 0xc4201fce00, 0xc4233a6000) /home/zhl/go/src/github.com/terranodo/tegola/server/middleware_tile_cache.go:48 +0x2e0 net/http.HandlerFunc.ServeHTTP(0xc4204bbea0, 0xba0060, 0xc4201fce00, 0xc4233a6000) /usr/local/go/src/net/http/server.go:1918 +0x44 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*ContextGroup).Handler.func1(0xba0060, 0xc4201fce00, 0xc429a3c100 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/context.go:62 +0xe8 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*TreeMux).ServeHTTP(0xc4200f6150, 0xba0060, 0xc4201fce00, 0xc429a /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/router.go:252 +0x308 net/http.serverHandler.ServeHTTP(0xc420464820, 0xba0060, 0xc4201fce00, 0xc429a3c100) /usr/local/go/src/net/http/server.go:2619 +0xb4 net/http.(*conn).serve(0xc421e14000, 0xba0a20, 0xc424e80180) /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 7520 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a6a6af0, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc421e12198, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc421e12198, 0xc423cec000, 0x1000, 0x1000) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc421e12180, 0xc423cec000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc421e12180, 0xc423cec000, 0x1000, 0x1000, 0xc429e518c8, 0x66682a, 0xc4201a0428) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498070, 0xc423cec000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).Read(0xc4201a0420, 0xc423cec000, 0x1000, 0x1000, 0xc424e803c0, 0x320000000003, 0x198) /usr/local/go/src/net/http/server.go:753 +0x105 bufio.(*Reader).fill(0xc4203dc540) /usr/local/go/src/bufio/bufio.go:97 +0x11a bufio.(*Reader).ReadSlice(0xc4203dc540, 0xc4226b670a, 0xc429e51a10, 0xc429e51a80, 0x470a2a, 0xc429e51ab8, 0x411f27) /usr/local/go/src/bufio/bufio.go:338 +0x2c bufio.(*Reader).ReadLine(0xc4203dc540, 0x100, 0xf8, 0x926180, 0x4, 0x220000c0d740, 0xf8) /usr/local/go/src/bufio/bufio.go:367 +0x34 net/textproto.(*Reader).readLineSlice(0xc4278b0e70, 0xc429e51b20, 0xc429e51b20, 0x412688, 0x100, 0x926180) /usr/local/go/src/net/textproto/reader.go:55 +0x70 net/textproto.(*Reader).ReadLine(0xc4278b0e70, 0xc42c3df300, 0x0, 0xc429e51b90, 0x490822) /usr/local/go/src/net/textproto/reader.go:36 +0x2b net/http.readRequest(0xc4203dc540, 0x0, 0xc42c3df300, 0x0, 0x0) /usr/local/go/src/net/http/request.go:925 +0x99 net/http.(*conn).readRequest(0xc421e141e0, 0xba0a20, 0xc424e80380, 0x0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:933 +0x17c net/http.(*conn).serve(0xc421e141e0, 0xba0a20, 0xc424e80380) /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 7518 [semacquire]: sync.runtime_Semacquire(0xc4225a6b4c) /usr/local/go/src/runtime/sema.go:56 +0x39 sync.(*WaitGroup).Wait(0xc4225a6b40) /usr/local/go/src/sync/waitgroup.go:131 +0x72 github.com/terranodo/tegola/maths/makevalid/plyg.GenerateMultiPolygon(0xc429c66000, 0x80a, 0x80a, 0x0, 0xc4218cc7e0, 0x80a) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:877 +0x29b github.com/terranodo/tegola/maths/makevalid.destructure5(0xba0ae0, 0xc4218cc7e0, 0xb9a4a0, 0xc439352000, 0xc429e4cba8, 0xc43044c000, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:340 +0x2981 github.com/terranodo/tegola/maths/makevalid.MakeValid(0xba0ae0, 0xc4218cc7e0, 0xb9a4a0, 0xc439352000, 0x40b0000000000000, 0xc424f080 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:350 +0x14e github.com/terranodo/tegola/maths/validate.makePolygonValid(0xba0ae0, 0xc4218cc7e0, 0xc43863c050, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, /home/zhl/go/src/github.com/terranodo/tegola/maths/validate/validate.go:57 +0x3a5 github.com/terranodo/tegola/maths/validate.CleanGeometry(0xba0ae0, 0xc4218cc7e0, 0x8edc80, 0xc42068c040, 0x40b0000000000000, 0xc4206 /home/zhl/go/src/github.com/terranodo/tegola/maths/validate/validate.go:86 +0x660 github.com/terranodo/tegola/mvt.encodeGeometry(0xba0ae0, 0xc4218cc7e0, 0x8c9da0, 0xc4299f1520, 0xc1631bf84570a3d7, 0x415ca9f46828f5c /home/zhl/go/src/github.com/terranodo/tegola/mvt/feature.go:587 +0x1e5 github.com/terranodo/tegola/mvt.(*Feature).VTileFeature(0xc429e4d460, 0xba0ae0, 0xc4218cc7e0, 0xc42044e3a0, 0x1, 0x1, 0xc4261a8000, /home/zhl/go/src/github.com/terranodo/tegola/mvt/feature.go:84 +0x1a2 github.com/terranodo/tegola/mvt.(*Layer).VTileLayer(0xc429e4d580, 0xba0ae0, 0xc4218cc7e0, 0xc1631bf84570a3d7, 0x415ca9f46828f5c2, 0x /home/zhl/go/src/github.com/terranodo/tegola/mvt/layer.go:87 +0x35d github.com/terranodo/tegola/mvt.(*Tile).VTile(0xc42329d7b8, 0xba0ae0, 0xc4218cc7e0, 0xc1631bf84570a3d7, 0x415ca9f46828f5c2, 0xc15ca9 /home/zhl/go/src/github.com/terranodo/tegola/mvt/tile.go:47 +0x13f github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP(0xc420fda52a, 0x3, 0x4, 0x4, 0x5, 0xc420fda534, 0x3, 0x0, 0xb9fd60, 0xc422 /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:199 +0x693 github.com/terranodo/tegola/server.(*HandleMapZXY).ServeHTTP(0xc4201d6bc0, 0xb9fd60, 0xc4220029e0, 0xc421ffd400) <autogenerated>:1 +0x6c github.com/terranodo/tegola/server.TileCacheHandler.func1(0xba0060, 0xc4201fddc0, 0xc421ffd400) /home/zhl/go/src/github.com/terranodo/tegola/server/middleware_tile_cache.go:48 +0x2e0 net/http.HandlerFunc.ServeHTTP(0xc4204bbea0, 0xba0060, 0xc4201fddc0, 0xc421ffd400) /usr/local/go/src/net/http/server.go:1918 +0x44 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*ContextGroup).Handler.func1(0xba0060, 0xc4201fddc0, 0xc4233aab00 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/context.go:62 +0xe8 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*TreeMux).ServeHTTP(0xc4200f6150, 0xba0060, 0xc4201fddc0, 0xc4233 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/router.go:252 +0x308 net/http.serverHandler.ServeHTTP(0xc420464820, 0xba0060, 0xc4201fddc0, 0xc4233aab00) /usr/local/go/src/net/http/server.go:2619 +0xb4 net/http.(*conn).serve(0xc421e140a0, 0xba0a20, 0xc424e80240) /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 45006 [runnable]: github.com/terranodo/tegola/maths/makevalid/plyg.(*Builder).AddPts(0xc42003fd70, 0x407eaaaaaaaaaa02, 0xc428194c60, 0x1, 0x3a, 0xc428 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/builder.go:91 +0x809 github.com/terranodo/tegola/maths/makevalid/plyg.(*RingCol).addPts(0xc42003fe90, 0xb9a4a0, 0xc42175e000, 0xc42003fd70, 0xc428194c60, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:148 +0x289 github.com/terranodo/tegola/maths/makevalid/plyg.BuildRingCol(0xba0ae0, 0xc4201b7e30, 0xb9a4a0, 0xc42175e000, 0xc428194c00, 0x23, 0x /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:419 +0x345 github.com/terranodo/tegola/maths/makevalid.destructure5.func4(0x3, 0xba0ae0, 0xc4201b7e30) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:309 +0x216 created by github.com/terranodo/tegola/maths/makevalid.destructure5 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:323 +0x278c goroutine 43317 [runnable]: github.com/terranodo/tegola/maths/makevalid/plyg.merge2AdjectRC(0xc425898000, 0x224, 0x400, 0xc030000000000000, 0x4099440000000000, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:640 +0x17b7 github.com/terranodo/tegola/maths/makevalid/plyg.MergeCols(0xc42c4ba000, 0x8e6, 0x8e7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:831 +0x101 github.com/terranodo/tegola/maths/makevalid/plyg.GenerateMultiPolygon.func1(0x1) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:845 +0x2e1 created by github.com/terranodo/tegola/maths/makevalid/plyg.GenerateMultiPolygon /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:856 +0x176 goroutine 42801 [runnable]: time.Now(0x8acde0, 0xc429e517e8, 0xc429e51198) /usr/local/go/src/time/time.go:1043 +0xb7 github.com/terranodo/tegola/maths/makevalid/plyg.merge2AdjectRC(0xc4261ca000, 0x155, 0x200, 0xc030000000000000, 0x40ae180000000000, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:594 +0x1978 github.com/terranodo/tegola/maths/makevalid/plyg.MergeCols(0xc429c66000, 0x80a, 0x80a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:831 +0x101 github.com/terranodo/tegola/maths/makevalid/plyg.GenerateMultiPolygon.func1(0x3) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:845 +0x2e1 created by github.com/terranodo/tegola/maths/makevalid/plyg.GenerateMultiPolygon /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:856 +0x176 goroutine 42366 [semacquire]: sync.runtime_Semacquire(0xc42541262c) /usr/local/go/src/runtime/sema.go:56 +0x39 sync.(*WaitGroup).Wait(0xc425412620) /usr/local/go/src/sync/waitgroup.go:131 +0x72 github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP(0xc4272e756a, 0x3, 0x14, 0x8510d, 0x55ff6, 0xc4272e757f, 0x3, 0x0, 0xb9fd6 /home/zhl/go/src/github.com/terranodo/tegola/server/handle_map_zxy.go:177 +0x54f github.com/terranodo/tegola/server.(*HandleMapZXY).ServeHTTP(0xc4201d6bc0, 0xb9fd60, 0xc420506860, 0xc421ffc100) <autogenerated>:1 +0x6c github.com/terranodo/tegola/server.TileCacheHandler.func1(0xba0060, 0xc422d8e620, 0xc421ffc100) /home/zhl/go/src/github.com/terranodo/tegola/server/middleware_tile_cache.go:48 +0x2e0 net/http.HandlerFunc.ServeHTTP(0xc4204bbea0, 0xba0060, 0xc422d8e620, 0xc421ffc100) /usr/local/go/src/net/http/server.go:1918 +0x44 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*ContextGroup).Handler.func1(0xba0060, 0xc422d8e620, 0xc42548dd00 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/context.go:62 +0xe8 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*TreeMux).ServeHTTP(0xc4200f6150, 0xba0060, 0xc422d8e620, 0xc4254 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/router.go:252 +0x308 net/http.serverHandler.ServeHTTP(0xc420464820, 0xba0060, 0xc422d8e620, 0xc42548dd00) /usr/local/go/src/net/http/server.go:2619 +0xb4 net/http.(*conn).serve(0xc420089040, 0xba0a20, 0xc429faf940) /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 42365 [runnable]: syscall.Syscall6(0x101, 0xffffffffffffff9c, 0xc4270a2200, 0x80242, 0x1b6, 0x0, 0x0, 0x42, 0x80242, 0x0) /usr/local/go/src/syscall/asm_linux_amd64.s:44 +0x5 syscall.openat(0xffffffffffffff9c, 0xc4265596e0, 0x30, 0x80242, 0x1b6, 0xc426559703, 0x6, 0xc42378b960) /usr/local/go/src/syscall/zsyscall_linux_amd64.go:38 +0xba syscall.Open(0xc4265596e0, 0x30, 0x80242, 0xc4000001b6, 0x0, 0xc42378b988, 0x2) /usr/local/go/src/syscall/syscall_linux.go:51 +0x50 os.OpenFile(0xc4265596e0, 0x30, 0x242, 0x1b6, 0xc42378b9c8, 0xc42378b9d0, 0xc437e567e0) /usr/local/go/src/os/file_unix.go:158 +0x7a os.Create(0xc4265596e0, 0x30, 0xc437e567e0, 0x0, 0x0) /usr/local/go/src/os/file.go:247 +0x46 github.com/terranodo/tegola/cache/filecache.(*Filecache).Set(0xc4201d7840, 0xc4204cb980, 0xc427a64d00, 0x185, 0x185, 0x0, 0x0) /home/zhl/go/src/github.com/terranodo/tegola/cache/filecache/filecache.go:196 +0x2b2 github.com/terranodo/tegola/server.TileCacheHandler.func1(0xba0060, 0xc422d8f180, 0xc421ffc300) /home/zhl/go/src/github.com/terranodo/tegola/server/middleware_tile_cache.go:55 +0x37b net/http.HandlerFunc.ServeHTTP(0xc4204bbea0, 0xba0060, 0xc422d8f180, 0xc421ffc300) /usr/local/go/src/net/http/server.go:1918 +0x44 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*ContextGroup).Handler.func1(0xba0060, 0xc422d8f180, 0xc42548dc00 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/context.go:62 +0xe8 github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*TreeMux).ServeHTTP(0xc4200f6150, 0xba0060, 0xc422d8f180, 0xc4254 /home/zhl/go/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/router.go:252 +0x308 net/http.serverHandler.ServeHTTP(0xc420464820, 0xba0060, 0xc422d8f180, 0xc42548dc00) /usr/local/go/src/net/http/server.go:2619 +0xb4 net/http.(*conn).serve(0xc420088f00, 0xba0a20, 0xc429faf700) /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 45005 [runnable]: github.com/terranodo/tegola/maths/makevalid/plyg.(*Builder).AddPts(0xc425667d70, 0x407ebaaaaaaaaa02, 0xc428193c10, 0x1, 0x1f, 0xc428 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/builder.go:91 +0x809 github.com/terranodo/tegola/maths/makevalid/plyg.(*RingCol).addPts(0xc425667e90, 0xb9a4a0, 0xc42175e000, 0xc425667d70, 0xc428193c10, /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:148 +0x289 github.com/terranodo/tegola/maths/makevalid/plyg.BuildRingCol(0xba0ae0, 0xc4201b7e30, 0xb9a4a0, 0xc42175e000, 0xc428193c00, 0x1e, 0x /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/plyg/ring.go:419 +0x345 github.com/terranodo/tegola/maths/makevalid.destructure5.func4(0x2, 0xba0ae0, 0xc4201b7e30) /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:309 +0x216 created by github.com/terranodo/tegola/maths/makevalid.destructure5 /home/zhl/go/src/github.com/terranodo/tegola/maths/makevalid/main.go:323 +0x278c goroutine 18594 [IO wait, 1 minutes]: internal/poll.runtime_pollWait(0x7fad9a602430, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc421e12118, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc421e12118, 0xc4201a0400, 0x1, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc421e12100, 0xc4201a04f1, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc421e12100, 0xc4201a04f1, 0x1, 0x1, 0xc421fcef60, 0x0, 0xb9a601) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498068, 0xc4201a04f1, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).backgroundRead(0xc4201a04e0) /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 47935 [IO wait]: internal/poll.runtime_pollWait(0x7fad9a6a6bb0, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:173 +0x57 internal/poll.(*pollDesc).wait(0xc42155ab18, 0x72, 0xffffffffffffff00, 0xb9cba0, 0xb986a8) /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae internal/poll.(*pollDesc).waitRead(0xc42155ab18, 0xc4278b0d00, 0x1, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d internal/poll.(*FD).Read(0xc42155ab00, 0xc4278b0df1, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a net.(*netFD).Read(0xc42155ab00, 0xc4278b0df1, 0x1, 0x1, 0xc423501320, 0xb9a4a0, 0xc4202717c0) /usr/local/go/src/net/fd_unix.go:202 +0x52 net.(*conn).Read(0xc422498568, 0xc4278b0df1, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:176 +0x6d net/http.(*connReader).backgroundRead(0xc4278b0de0) /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 [root@localhost ~/tegola-osm]./tegola -config=tegola.toml
The text was updated successfully, but these errors were encountered:
Thanks for the report. I have a fix on branch issue-188. I will merge to master and rollout a release today.
Sorry, something went wrong.
73795a7
ARolek
No branches or pull requests
fatal error: concurrent map read and map write
The text was updated successfully, but these errors were encountered: