Skip to content
New issue

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

panic in "concurrent map read and map write" #1547

Open
wiselike opened this issue Jan 27, 2022 · 3 comments
Open

panic in "concurrent map read and map write" #1547

wiselike opened this issue Jan 27, 2022 · 3 comments
Assignees
Labels
effort-unknown Needs more planning to determine priority-should sooner rather than later resolved status-needs-testing Code complete, needs peer verification type-bug

Comments

@wiselike
Copy link

when I was running an server, error occured:

fatal error: concurrent map read and map write

goroutine 164 [running]:
runtime.throw(0x8e60fd, 0x21)
        /home/jim/golang/go/src/runtime/panic.go:1117 +0x54 fp=0x4000b2ad40 sp=0x4000b2ad10 pc=0x49434
runtime.mapaccess2_faststr(0x80c720, 0x4000358b40, 0x79e468, 0x7, 0x9dda38, 0x4000456050)
        /home/jim/golang/go/src/runtime/map_faststr.go:116 +0x630 fp=0x4000b2ade0 sp=0x4000b2ad40 pc=0x26010
github.com/revel/revel.(*Controller).SetTypeAction(0x40004612b0, 0x4000ad6000, 0xb, 0x400016cc88, 0x8, 0x0, 0x0, 0x0)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/controller.go:414 +0x480 fp=0x4000b2b000 sp=0x4000b2ade0 pc=0x4c4390
github.com/revel/revel.(*Controller).SetAction(0x40004612b0, 0x4000ad6000, 0xb, 0x400016cc88, 0x8, 0x0, 0x0)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/controller.go:385 +0x50 fp=0x4000b2b060 sp=0x4000b2b000 pc=0x4c3ee0
github.com/leanote/leanote/app/lea/route.RouterFilter(0x40004612b0, 0x40003cdf38, 0x9, 0x9)
        /home/jim/leanote/leanote-of-unofficial-nolicensed/app/lea/route/Route.go:76 +0x388 fp=0x4000b2b240 sp=0x4000b2b060 pc=0x706178
github.com/revel/revel.PanicFilter(0x40004612b0, 0x40003cdf30, 0xa, 0xa)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/panic.go:21 +0xc4 fp=0x4000b2b2e0 sp=0x4000b2b240 pc=0x4d5d34
github.com/revel/revel.glob..func33(0x40004612b0, 0x40003cdf28, 0xb, 0xb)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/watcher.go:298 +0x13c fp=0x4000b2b350 sp=0x4000b2b2e0 pc=0x507b5c
github.com/revel/revel.handleInternal(0x9d2878, 0x400035d878)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server-engine.go:193 +0x4f8 fp=0x4000b2b590 sp=0x4000b2b350 pc=0x4eac18
github.com/revel/revel.(*GoHttpServer).handleMux(0x40005b3360, 0x9d7430, 0x40006a2d20, 0x40006ae600)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:158 +0x474 fp=0x4000b2b6c0 sp=0x4000b2b590 pc=0x4edda4
github.com/revel/revel.(*GoHttpServer).Handle(0x40005b3360, 0x9d7430, 0x40006a2d20, 0x40006ae600)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:104 +0xa8 fp=0x4000b2b710 sp=0x4000b2b6c0 pc=0x4ed1c8
github.com/revel/revel.(*GoHttpServer).Init.func3(0x9d7430, 0x40006a2d20, 0x40006ae600)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:57 +0x44 fp=0x4000b2b750 sp=0x4000b2b710 pc=0x50b6a4
net/http.HandlerFunc.ServeHTTP(0x400038a980, 0x9d7430, 0x40006a2d20, 0x40006ae600)
        /home/jim/golang/go/src/net/http/server.go:2049 +0x40 fp=0x4000b2b780 sp=0x4000b2b750 pc=0x371600
net/http.serverHandler.ServeHTTP(0x400006a000, 0x9d7430, 0x40006a2d20, 0x40006ae600)
        /home/jim/golang/go/src/net/http/server.go:2867 +0x244 fp=0x4000b2b7d0 sp=0x4000b2b780 pc=0x3752a4
net/http.(*conn).serve(0x40001d6140, 0x9d87a8, 0x4000814000)
        /home/jim/golang/go/src/net/http/server.go:1932 +0x1670 fp=0x4000b2bfc0 sp=0x4000b2b7d0 pc=0x3707f0
runtime.goexit()
        /home/jim/golang/go/src/runtime/asm_arm64.s:1130 +0x4 fp=0x4000b2bfc0 sp=0x4000b2bfc0 pc=0x7eeb4
created by net/http.(*Server).Serve
        /home/jim/golang/go/src/net/http/server.go:2993 +0x78c

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7f087c25d0, 0x72, 0x0)
        /home/jim/golang/go/src/runtime/netpoll.go:222 +0x50
internal/poll.(*pollDesc).wait(0x4000438018, 0x72, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:87 +0x90
internal/poll.(*pollDesc).waitRead(0x4000438018, 0xffffffffffffff00, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:92 +0x3c
internal/poll.(*FD).Accept(0x4000438000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_unix.go:401 +0x340
net.(*netFD).accept(0x4000438000, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/fd_unix.go:172 +0x4c
net.(*TCPListener).accept(0x40005b4198, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/tcpsock_posix.go:139 +0x44
net.(*TCPListener).Accept(0x40005b4198, 0x0, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/tcpsock.go:261 +0x58
net/http.(*Server).Serve(0x400006a000, 0x9d7220, 0x40005b4198, 0x0, 0x0)
        /home/jim/golang/go/src/net/http/server.go:2961 +0x374
github.com/revel/revel.(*GoHttpServer).Start(0x40005b3360)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:94 +0x518
github.com/revel/revel.Run(0x0)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server.go:88 +0x1ec
github.com/leanote/leanote/app/tmp/run.Run(0x0)
        /home/jim/leanote/leanote-of-unofficial-nolicensed/app/tmp/run/run.go:36 +0x2c
main.main()
        /home/jim/leanote/leanote-of-unofficial-nolicensed/app/tmp/main.go:24 +0xcc

goroutine 21 [chan receive]:
gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun(0x4000092c60)
        /home/jim/go/pkg/mod/gopkg.in/natefinch/lumberjack.v2@v2.0.0/lumberjack.go:379 +0x44
created by gopkg.in/natefinch/lumberjack%2ev2.(*Logger).mill.func1
        /home/jim/go/pkg/mod/gopkg.in/natefinch/lumberjack.v2@v2.0.0/lumberjack.go:390 +0x8c

goroutine 28 [select]:
gopkg.in/mgo%2ev2.(*mongoCluster).syncServersLoop(0x400012c300)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/cluster.go:394 +0x408
created by gopkg.in/mgo%2ev2.newCluster
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/cluster.go:78 +0x220

goroutine 150 [syscall]:
syscall.Syscall6(0x16, 0x9, 0x400098fa08, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/syscall/asm_linux_arm64.s:35 +0x10
golang.org/x/sys/unix.EpollWait(0x9, 0x400098fa08, 0x7, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0)
        /home/jim/go/pkg/mod/golang.org/x/sys@v0.0.0-20211205182925-97ca703d548d/unix/zsyscall_linux_arm64.go:56 +0x94
github.com/fsnotify/fsnotify.(*fdPoller).wait(0x40001b49a0, 0x0, 0x0, 0x0)
        /home/jim/go/pkg/mod/github.com/fsnotify/fsnotify@v1.5.1/inotify_poller.go:87 +0xa4
github.com/fsnotify/fsnotify.(*Watcher).readEvents(0x40003d8780)
        /home/jim/go/pkg/mod/github.com/fsnotify/fsnotify@v1.5.1/inotify.go:193 +0x268
created by github.com/fsnotify/fsnotify.NewWatcher
        /home/jim/go/pkg/mod/github.com/fsnotify/fsnotify@v1.5.1/inotify.go:60 +0x344

goroutine 5 [sleep]:
time.Sleep(0x37e11d600)
        /home/jim/golang/go/src/runtime/time.go:193 +0xcc
gopkg.in/mgo%2ev2.(*mongoServer).pinger(0x40006a2000, 0x59ff01)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/server.go:301 +0x170
created by gopkg.in/mgo%2ev2.newServer
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/server.go:89 +0x1f0

goroutine 7 [IO wait]:
internal/poll.runtime_pollWait(0x7f087c26b8, 0x72, 0x4000b2f9c8)
        /home/jim/golang/go/src/runtime/netpoll.go:222 +0x50
internal/poll.(*pollDesc).wait(0x40005ac298, 0x72, 0xffffffffffffff00, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:87 +0x90
internal/poll.(*pollDesc).waitRead(0x40005ac298, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:92 +0x3c
internal/poll.(*FD).Read(0x40005ac280, 0x4000352180, 0x24, 0x24, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_unix.go:166 +0x320
net.(*netFD).Read(0x40005ac280, 0x4000352180, 0x24, 0x24, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/fd_posix.go:55 +0x54
net.(*conn).Read(0x400026a038, 0x4000352180, 0x24, 0x24, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/net.go:183 +0x78
gopkg.in/mgo%2ev2.fill(0x9dc010, 0x400026a038, 0x4000352180, 0x24, 0x24, 0x0, 0x0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/socket.go:535 +0x5c
gopkg.in/mgo%2ev2.(*mongoSocket).readLoop(0x40006a20e0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/socket.go:551 +0xd0
created by gopkg.in/mgo%2ev2.newSocket
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/socket.go:194 +0x2e8

goroutine 163 [runnable]:
github.com/revel/revel.(*SessionCookieEngine).Decode(0x4000308068, 0x4000461380)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/session_adapter_cookie.go:56 +0xb8
github.com/revel/revel.SessionFilter(0x4000461380, 0x40003cdf50, 0x6, 0x6)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/session_filter.go:11 +0x4c
github.com/revel/revel.ParamsFilter(0x4000461380, 0x40003cdf48, 0x7, 0x7)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/params.go:179 +0xf4
github.com/revel/revel.FilterConfiguringFilter(0x4000461380, 0x40003cdf40, 0x8, 0x8)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/filterconfig.go:211 +0x178
github.com/leanote/leanote/app/lea/route.RouterFilter(0x4000461380, 0x40003cdf38, 0x9, 0x9)
        /home/jim/leanote/leanote-of-unofficial-nolicensed/app/lea/route/Route.go:99 +0x658
github.com/revel/revel.PanicFilter(0x4000461380, 0x40003cdf30, 0xa, 0xa)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/panic.go:21 +0xc4
github.com/revel/revel.glob..func33(0x4000461380, 0x40003cdf28, 0xb, 0xb)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/watcher.go:298 +0x13c
github.com/revel/revel.handleInternal(0x9d2878, 0x400035d908)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server-engine.go:193 +0x4f8
github.com/revel/revel.(*GoHttpServer).handleMux(0x40005b3360, 0x9d7430, 0x400056e700, 0x4000938b00)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:158 +0x474
github.com/revel/revel.(*GoHttpServer).Handle(0x40005b3360, 0x9d7430, 0x400056e700, 0x4000938b00)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:104 +0xa8
github.com/revel/revel.(*GoHttpServer).Init.func3(0x9d7430, 0x400056e700, 0x4000938b00)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:57 +0x44
net/http.HandlerFunc.ServeHTTP(0x400038a980, 0x9d7430, 0x400056e700, 0x4000938b00)
        /home/jim/golang/go/src/net/http/server.go:2049 +0x40
net/http.serverHandler.ServeHTTP(0x400006a000, 0x9d7430, 0x400056e700, 0x4000938b00)
        /home/jim/golang/go/src/net/http/server.go:2867 +0x244
net/http.(*conn).serve(0x40001d6000, 0x9d87a8, 0x4000156080)
        /home/jim/golang/go/src/net/http/server.go:1932 +0x1670
created by net/http.(*Server).Serve
        /home/jim/golang/go/src/net/http/server.go:2993 +0x78c

goroutine 178 [syscall]:
os/signal.signal_recv(0x0)
        /home/jim/golang/go/src/runtime/sigqueue.go:168 +0xcc
os/signal.loop()
        /home/jim/golang/go/src/os/signal/signal_unix.go:23 +0x28
created by os/signal.Notify.func1.1
        /home/jim/golang/go/src/os/signal/signal.go:151 +0x48

goroutine 179 [chan receive]:
github.com/revel/revel.(*GoHttpServer).Event.func1(0x40005b3360)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:221 +0x44
created by github.com/revel/revel.(*GoHttpServer).Event
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:220 +0x108

goroutine 225 [IO wait]:
internal/poll.runtime_pollWait(0x7f087c2400, 0x72, 0x4000144468)
        /home/jim/golang/go/src/runtime/netpoll.go:222 +0x50
internal/poll.(*pollDesc).wait(0x4000438318, 0x72, 0xffffffffffffff00, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:87 +0x90
internal/poll.(*pollDesc).waitRead(0x4000438318, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:92 +0x3c
internal/poll.(*FD).Read(0x4000438300, 0x4000813631, 0x1, 0x1, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_unix.go:166 +0x320
net.(*netFD).Read(0x4000438300, 0x4000813631, 0x1, 0x1, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/fd_posix.go:55 +0x54
net.(*conn).Read(0x40000c4040, 0x4000813631, 0x1, 0x1, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/net.go:183 +0x78
net/http.(*connReader).backgroundRead(0x4000813620)
        /home/jim/golang/go/src/net/http/server.go:672 +0x84
created by net/http.(*connReader).startBackgroundRead
        /home/jim/golang/go/src/net/http/server.go:668 +0x100

goroutine 154 [runnable]:
net/http.(*connReader).backgroundRead(0x4000470360)
        /home/jim/golang/go/src/net/http/server.go:671
created by net/http.(*connReader).startBackgroundRead
        /home/jim/golang/go/src/net/http/server.go:668 +0x100

goroutine 274 [IO wait]:
internal/poll.runtime_pollWait(0x7f087c24e8, 0x72, 0x4000146c68)
        /home/jim/golang/go/src/runtime/netpoll.go:222 +0x50
internal/poll.(*pollDesc).wait(0x4000438098, 0x72, 0xffffffffffffff00, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:87 +0x90
internal/poll.(*pollDesc).waitRead(0x4000438098, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_poll_runtime.go:92 +0x3c
internal/poll.(*FD).Read(0x4000438080, 0x4000154251, 0x1, 0x1, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/internal/poll/fd_unix.go:166 +0x320
net.(*netFD).Read(0x4000438080, 0x4000154251, 0x1, 0x1, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/fd_posix.go:55 +0x54
net.(*conn).Read(0x40000c4038, 0x4000154251, 0x1, 0x1, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/net.go:183 +0x78
net/http.(*connReader).backgroundRead(0x4000154240)
        /home/jim/golang/go/src/net/http/server.go:672 +0x84
created by net/http.(*connReader).startBackgroundRead
        /home/jim/golang/go/src/net/http/server.go:668 +0x100

goroutine 275 [runnable]:
gopkg.in/mgo%2ev2.(*mongoSocket).Query(0x40006a20e0, 0x400097cb80, 0x1, 0x1, 0x0, 0x0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/socket.go:387 +0x1b8
gopkg.in/mgo%2ev2.(*mongoSocket).SimpleQuery(0x40006a20e0, 0x40009740e0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/socket.go:363 +0x288
gopkg.in/mgo%2ev2.(*Database).run(0x40003d4018, 0x40006a20e0, 0x80a260, 0x40003d4030, 0x0, 0x0, 0x0, 0x0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/session.go:3261 +0x2cc
gopkg.in/mgo%2ev2.(*Database).Run(0x40003d4018, 0x7e4c20, 0x9c1438, 0x0, 0x0, 0x0, 0x0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/session.go:656 +0x110
gopkg.in/mgo%2ev2.(*Session).Run(0x400021f040, 0x7e4c20, 0x9c1438, 0x0, 0x0, 0x0, 0x0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/session.go:2014 +0x70
gopkg.in/mgo%2ev2.(*Session).Ping(0x400021f040, 0x0, 0x0)
        /home/jim/go/pkg/mod/gopkg.in/mgo.v2@v2.0.0-20190816093944-a6b53ec6cb22/session.go:2043 +0x48
github.com/leanote/leanote/app/db.CheckMongoSessionLost()
        /home/jim/leanote/leanote-of-unofficial-nolicensed/app/db/Mgo.go:382 +0x30
github.com/leanote/leanote/app/lea/route.RouterFilter(0x40004611e0, 0x40003cdf38, 0x9, 0x9)
        /home/jim/leanote/leanote-of-unofficial-nolicensed/app/lea/route/Route.go:52 +0x1d4
github.com/revel/revel.PanicFilter(0x40004611e0, 0x40003cdf30, 0xa, 0xa)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/panic.go:21 +0xc4
github.com/revel/revel.glob..func33(0x40004611e0, 0x40003cdf28, 0xb, 0xb)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/watcher.go:298 +0x13c
github.com/revel/revel.handleInternal(0x9d2878, 0x400035d7e8)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server-engine.go:193 +0x4f8
github.com/revel/revel.(*GoHttpServer).handleMux(0x40005b3360, 0x9d7430, 0x4000974000, 0x4000726000)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:158 +0x474
github.com/revel/revel.(*GoHttpServer).Handle(0x40005b3360, 0x9d7430, 0x4000974000, 0x4000726000)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:104 +0xa8
github.com/revel/revel.(*GoHttpServer).Init.func3(0x9d7430, 0x4000974000, 0x4000726000)
        /home/jim/go/pkg/mod/github.com/revel/revel@v1.0.0/server_adapter_go.go:57 +0x44
net/http.HandlerFunc.ServeHTTP(0x400038a980, 0x9d7430, 0x4000974000, 0x4000726000)
        /home/jim/golang/go/src/net/http/server.go:2049 +0x40
net/http.serverHandler.ServeHTTP(0x400006a000, 0x9d7430, 0x4000974000, 0x4000726000)
        /home/jim/golang/go/src/net/http/server.go:2867 +0x244
net/http.(*conn).serve(0x40001d6280, 0x9d87a8, 0x4000a3c7c0)
        /home/jim/golang/go/src/net/http/server.go:1932 +0x1670
created by net/http.(*Server).Serve
        /home/jim/golang/go/src/net/http/server.go:2993 +0x78c

goroutine 276 [runnable]:
net/textproto.(*Reader).ReadMIMEHeader(0x4000b0fe30, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/textproto/reader.go:531 +0x554
net/http.readRequest(0x40009275c0, 0x101000, 0x40007f2b00, 0x0, 0x0)
        /home/jim/golang/go/src/net/http/request.go:1074 +0x5b8
net/http.(*conn).readRequest(0x40001d63c0, 0x9d87a8, 0x4000b010c0, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/http/server.go:966 +0x3dc
net/http.(*conn).serve(0x40001d63c0, 0x9d87a8, 0x4000b010c0)
        /home/jim/golang/go/src/net/http/server.go:1858 +0xaf0
created by net/http.(*Server).Serve
        /home/jim/golang/go/src/net/http/server.go:2993 +0x78c

goroutine 277 [runnable]:
vendor/golang.org/x/net/http/httpguts.isCTL(0x25, 0x0)
        /home/jim/golang/go/src/vendor/golang.org/x/net/http/httpguts/httplex.go:183 +0x6c
vendor/golang.org/x/net/http/httpguts.ValidHeaderFieldValue(0x40009e9200, 0x210, 0x4000897700)
        /home/jim/golang/go/src/vendor/golang.org/x/net/http/httpguts/httplex.go:307 +0x68
net/http.(*conn).readRequest(0x40001d6500, 0x9d87a8, 0x4000b01000, 0x0, 0x0, 0x0)
        /home/jim/golang/go/src/net/http/server.go:997 +0x95c
net/http.(*conn).serve(0x40001d6500, 0x9d87a8, 0x4000b01000)
        /home/jim/golang/go/src/net/http/server.go:1858 +0xaf0
created by net/http.(*Server).Serve
        /home/jim/golang/go/src/net/http/server.go:2993 +0x78c
@brendensoares brendensoares added effort-unknown Needs more planning to determine priority-should sooner rather than later status-needs-testing Code complete, needs peer verification labels Feb 2, 2022
@brendensoares
Copy link
Member

Thanks for creating this issue.

Are you able to reproduce this in your app? If so, any idea how I can reproduce it from a new revel app?

@wiselike
Copy link
Author

wiselike commented Feb 5, 2022

Are you able to reproduce this in your app

Sorry, this is an occasional bug. But it is prone to appear when client visiting the wrong web page(404).

As error msg showed fatal error: concurrent map read and map write, I think it should be easier to sure the bug is RevelConfig.Controller.CachedMap, which variable of map type.

@brendensoares
Copy link
Member

We'll defer this for the next release pending testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort-unknown Needs more planning to determine priority-should sooner rather than later resolved status-needs-testing Code complete, needs peer verification type-bug
Projects
None yet
Development

No branches or pull requests

3 participants