Comments (5)
提供一下操作流程及崩溃栈信息吧
from gin-admin.
我也碰到这个问题了,以下是崩溃栈信息:
fatal error: concurrent map writes
fatal error: concurrent map writes
goroutine 60 [running]:
runtime.throw(0xede3e2, 0x15)
c:/go/src/runtime/panic.go:774 +0x79 fp=0xc000422c58 sp=0xc000422c28 pc=0x434189
runtime.mapassign_faststr(0xddcc80, 0xc0003ea420, 0xece0ae, 0x1, 0xc0002b4b38)
c:/go/src/runtime/map_faststr.go:291 +0x405 fp=0xc000422cc0 sp=0xc000422c58 pc=0x415515
github.com/casbin/casbin/v2.(*Enforcer).enforce(0xc0003c7ce0, 0x0, 0x0, 0xc0003de270, 0x3, 0x3, 0xd, 0x0, 0x1)
<~>/Go//pkg/mod/github.com/casbin/casbin/[email protected]/enforcer.go:343 +0x1b2 fp=0xc000423020 sp=0xc000422cc0 pc=0x8d2142
github.com/casbin/casbin/v2.(*Enforcer).Enforce(...)
<~>/Go//pkg/mod/github.com/casbin/casbin/[email protected]/enforcer.go:486
github.com/casbin/casbin/v2.(*SyncedEnforcer).Enforce(0xc0003e5da0, 0xc0003de270, 0x3, 0x3, 0xc0003bee00, 0x0, 0x0)
<~>/Go//pkg/mod/github.com/casbin/casbin/[email protected]/enforcer_synced.go:111 +0xd7 fp=0xc0004230b0 sp=0xc000423020 pc=0x8d4817
go-mybase/internal/app/middleware.CasbinMiddleware.func1(0xc0003ce370)
<Gin-Admin>/internal/app/middleware/mw_casbin.go:26 +0x1ea fp=0xc000423138 sp=0xc0004230b0 pc=0xbe938a
github.com/gin-gonic/gin.(*Context).Next(0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000423158 sp=0xc000423138 pc=0xbcbff2
go-mybase/internal/app/middleware.UserAuthMiddleware.func1(0xc0003ce370)
<Gin-Admin>/internal/app/middleware/mw_auth.go:27 +0x561 fp=0xc000423630 sp=0xc000423158 pc=0xbe9131
github.com/gin-gonic/gin.(*Context).Next(0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000423650 sp=0xc000423630 pc=0xbcbff2
github.com/gin-contrib/gzip.Gzip.func2(0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-contrib/[email protected]/gzip.go:47 +0x24e fp=0xc000423720 sp=0xc000423650 pc=0xbdf1be
github.com/gin-gonic/gin.(*Context).Next(0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000423740 sp=0xc000423720 pc=0xbcbff2
go-mybase/internal/app/middleware.RecoveryMiddleware.func1(0xc0003ce370)
<Gin-Admin>/internal/app/middleware/mw_recover.go:32 +0x62 fp=0xc000423790 sp=0xc000423740 pc=0xbeadc2
github.com/gin-gonic/gin.(*Context).Next(0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc0004237b0 sp=0xc000423790 pc=0xbcbff2
go-mybase/internal/app/middleware.LoggerMiddleware.func1(0xc0003ce370)
<Gin-Admin>/internal/app/middleware/mw_logger.go:53 +0x630 fp=0xc000423a78 sp=0xc0004237b0 pc=0xbe9b10
github.com/gin-gonic/gin.(*Context).Next(0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000423a98 sp=0xc000423a78 pc=0xbcbff2
go-mybase/internal/app/middleware.TraceMiddleware.func1(0xc0003ce370)
<Gin-Admin>/internal/app/middleware/mw_trace.go:23 +0x11f fp=0xc000423ad8 sp=0xc000423a98 pc=0xbeaf0f
github.com/gin-gonic/gin.(*Context).Next(0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000423af8 sp=0xc000423ad8 pc=0xbcbff2
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc000144000, 0xc0003ce370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/gin.go:389 +0x5b9 fp=0xc000423be0 sp=0xc000423af8 pc=0xbd59e9github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc000144000, 0x10087c0, 0xc000150700, 0xc00013e100)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/gin.go:351 +0x13b fp=0xc000423c18 sp=0xc000423be0 pc=0xbd520bnet/http.serverHandler.ServeHTTP(0xc00017a000, 0x10087c0, 0xc000150700, 0xc00013e100)
c:/go/src/net/http/server.go:2802 +0xab fp=0xc000423c48 sp=0xc000423c18 pc=0x6e02db
net/http.(*conn).serve(0xc0001600a0, 0x100ab00, 0xc0001301c0)
c:/go/src/net/http/server.go:1890 +0x87c fp=0xc000423fc8 sp=0xc000423c48 pc=0x6dbaac
runtime.goexit()
c:/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc000423fd0 sp=0xc000423fc8 pc=0x462e91
created by net/http.(*Server).Serve
c:/go/src/net/http/server.go:2927 +0x395
goroutine 1 [chan receive, 876 minutes]:
main.main()
<Gin-Admin>/cmd/server/main.go:64 +0x440
goroutine 6 [syscall, 876 minutes]:
os/signal.signal_recv(0x0)
c:/go/src/runtime/sigqueue.go:147 +0xa3
os/signal.loop()
c:/go/src/os/signal/signal_unix.go:23 +0x29
created by os/signal.init.0
c:/go/src/os/signal/signal_unix.go:29 +0x48
goroutine 34 [runnable]:
github.com/tidwall/buntdb.(*DB).backgroundManager(0xc000334000)
<~>/Go//pkg/mod/github.com/tidwall/[email protected]/buntdb.go:548 +0xdb
created by github.com/tidwall/buntdb.Open
<~>/Go//pkg/mod/github.com/tidwall/[email protected]/buntdb.go:171 +0x2c4
goroutine 35 [select, 876 minutes]:
database/sql.(*DB).connectionOpener(0xc0002fa0c0, 0x100ab00, 0xc0002ace80)
c:/go/src/database/sql/sql.go:1052 +0xef
created by database/sql.OpenDB
c:/go/src/database/sql/sql.go:722 +0x164
goroutine 36 [select, 876 minutes]:
database/sql.(*DB).connectionResetter(0xc0002fa0c0, 0x100ab00, 0xc0002ace80)
c:/go/src/database/sql/sql.go:1065 +0x102
created by database/sql.OpenDB
c:/go/src/database/sql/sql.go:723 +0x19a
goroutine 42 [IO wait]:
internal/poll.runtime_pollWait(0x1d90ee8, 0x72, 0xff8fc0)
c:/go/src/runtime/netpoll.go:184 +0x5c
internal/poll.(*pollDesc).wait(0xc0001dc1c8, 0x72, 0xcaf500, 0x0, 0x0)
c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x4c
internal/poll.(*ioSrv).ExecIO(0x15cb698, 0xc0001dc018, 0xc0003304c0, 0x1, 0x0, 0x248)
c:/go/src/internal/poll/fd_windows.go:228 +0x121
internal/poll.(*FD).acceptOne(0xc0001dc000, 0x248, 0xc00009e000, 0x2, 0x2, 0xc0001dc018, 0xc, 0x0, 0x0, 0xc00022dca4)
c:/go/src/internal/poll/fd_windows.go:896 +0xa9
internal/poll.(*FD).Accept(0xc0001dc000, 0xc00022dcb8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
c:/go/src/internal/poll/fd_windows.go:930 +0x17a
net.(*netFD).accept(0xc0001dc000, 0xc00022dd50, 0x6e12ab, 0xc00017a0a0)
c:/go/src/net/fd_windows.go:193 +0x7b
net.(*TCPListener).accept(0xc00011a620, 0x6e1255, 0x0, 0x499a6d)
c:/go/src/net/tcpsock_posix.go:139 +0x39
net.(*TCPListener).Accept(0xc00011a620, 0xc00022dda0, 0x18, 0xc00033a300, 0x6e07b5)
c:/go/src/net/tcpsock.go:261 +0x4e
net/http.(*Server).Serve(0xc00017a000, 0x1008540, 0xc00011a620, 0x0, 0x0)
c:/go/src/net/http/server.go:2896 +0x28d
net/http.(*Server).ListenAndServe(0xc00017a000, 0xc00029e9f0, 0xef2a4a)
c:/go/src/net/http/server.go:2825 +0xbe
go-mybase/internal/app.InitHTTPServer.func1(0x100abc0, 0xc00029e9f0, 0xc00011f380, 0xf, 0xc00017a000)
<Gin-Admin>/internal/app/web.go:78 +0xbb
created by go-mybase/internal/app.InitHTTPServer
<Gin-Admin>/internal/app/web.go:76 +0x209
goroutine 56 [select, 1 minutes]:
database/sql.(*DB).connectionCleaner(0xc0002fa0c0, 0x68c61714000)
c:/go/src/database/sql/sql.go:950 +0x377
created by database/sql.(*DB).startCleanerLocked
c:/go/src/database/sql/sql.go:937 +0xae
goroutine 12 [running]:
goroutine running on other thread; stack unavailable
created by net/http.(*Server).Serve
c:/go/src/net/http/server.go:2927 +0x395
goroutine 22 [chan receive]:
github.com/LyricTian/captcha/store.(*memoryStore).gc(0xc000131040)
<~>/Go//pkg/mod/github.com/!lyric!tian/[email protected]/store/memory.go:39 +0x214
created by github.com/LyricTian/captcha/store.NewMemoryStore
<~>/Go//pkg/mod/github.com/!lyric!tian/[email protected]/store/memory.go:18 +0xe8
goroutine 13 [IO wait]:
internal/poll.runtime_pollWait(0x1d90d48, 0x72, 0xff8fc0)
c:/go/src/runtime/netpoll.go:184 +0x5c
internal/poll.(*pollDesc).wait(0xc0001af0c8, 0x72, 0xcaf500, 0x0, 0x0)
c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x4c
internal/poll.(*ioSrv).ExecIO(0x15cb698, 0xc0001aef18, 0xf07350, 0xfddb60, 0x1869200, 0x4)
c:/go/src/internal/poll/fd_windows.go:228 +0x121
internal/poll.(*FD).Read(0xc0001aef00, 0xc0003a6ac1, 0x1, 0x1, 0x0, 0x0, 0x0)
c:/go/src/internal/poll/fd_windows.go:527 +0x31c
net.(*netFD).Read(0xc0001aef00, 0xc0003a6ac1, 0x1, 0x1, 0xc0002acd58, 0xc000343f68, 0x471e03)
c:/go/src/net/fd_windows.go:152 +0x56
net.(*conn).Read(0xc000006368, 0xc0003a6ac1, 0x1, 0x1, 0x0, 0x0, 0x0)
c:/go/src/net/net.go:184 +0x6f
net/http.(*connReader).backgroundRead(0xc0003a6ab0)
c:/go/src/net/http/server.go:677 +0x5f
created by net/http.(*connReader).startBackgroundRead
c:/go/src/net/http/server.go:673 +0xdb
goroutine 61 [IO wait]:
internal/poll.runtime_pollWait(0x1d90e18, 0x72, 0xff8fc0)
c:/go/src/runtime/netpoll.go:184 +0x5c
internal/poll.(*pollDesc).wait(0xc000171ac8, 0x72, 0xcaf500, 0x0, 0x0)
c:/go/src/internal/poll/fd_poll_runtime.go:87 +0x4c
internal/poll.(*ioSrv).ExecIO(0x15cb698, 0xc000171918, 0xf07350, 0x101000000000000, 0x10101, 0x0)
c:/go/src/internal/poll/fd_windows.go:228 +0x121
internal/poll.(*FD).Read(0xc000171900, 0xc000378251, 0x1, 0x1, 0x0, 0x0, 0x0)
c:/go/src/internal/poll/fd_windows.go:527 +0x31c
net.(*netFD).Read(0xc000171900, 0xc000378251, 0x1, 0x1, 0x10000010000, 0x0, 0x0)
c:/go/src/net/fd_windows.go:152 +0x56
net.(*conn).Read(0xc000118018, 0xc000378251, 0x1, 0x1, 0x0, 0x0, 0x0)
c:/go/src/net/net.go:184 +0x6f
net/http.(*connReader).backgroundRead(0xc000378240)
c:/go/src/net/http/server.go:677 +0x5f
created by net/http.(*connReader).startBackgroundRead
c:/go/src/net/http/server.go:673 +0xdb
goroutine 12 [running]:
runtime.throw(0xede3e2, 0x15)
c:/go/src/runtime/panic.go:774 +0x79 fp=0xc000304c58 sp=0xc000304c28 pc=0x434189
runtime.mapassign_faststr(0xddcc80, 0xc0003ea420, 0xece0ae, 0x1, 0xc0002b4b38)
c:/go/src/runtime/map_faststr.go:291 +0x405 fp=0xc000304cc0 sp=0xc000304c58 pc=0x415515
github.com/casbin/casbin/v2.(*Enforcer).enforce(0xc0003c7ce0, 0x0, 0x0, 0xc0003a6fc0, 0x3, 0x3, 0x12, 0x0, 0x1)
<~>/Go//pkg/mod/github.com/casbin/casbin/[email protected]/enforcer.go:343 +0x1b2 fp=0xc000305020 sp=0xc000304cc0 pc=0x8d2142
github.com/casbin/casbin/v2.(*Enforcer).Enforce(...)
<~>/Go//pkg/mod/github.com/casbin/casbin/[email protected]/enforcer.go:486
github.com/casbin/casbin/v2.(*SyncedEnforcer).Enforce(0xc0003e5da0, 0xc0003a6fc0, 0x3, 0x3, 0xc000154300, 0x0, 0x0)
<~>/Go//pkg/mod/github.com/casbin/casbin/[email protected]/enforcer_synced.go:111 +0xd7 fp=0xc0003050b0 sp=0xc000305020 pc=0x8d4817
go-mybase/internal/app/middleware.CasbinMiddleware.func1(0xc0000ba370)
<Gin-Admin>/internal/app/middleware/mw_casbin.go:26 +0x1ea fp=0xc000305138 sp=0xc0003050b0 pc=0xbe938a
github.com/gin-gonic/gin.(*Context).Next(0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000305158 sp=0xc000305138 pc=0xbcbff2
go-mybase/internal/app/middleware.UserAuthMiddleware.func1(0xc0000ba370)
<Gin-Admin>/internal/app/middleware/mw_auth.go:27 +0x561 fp=0xc000305630 sp=0xc000305158 pc=0xbe9131
github.com/gin-gonic/gin.(*Context).Next(0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000305650 sp=0xc000305630 pc=0xbcbff2
github.com/gin-contrib/gzip.Gzip.func2(0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-contrib/[email protected]/gzip.go:47 +0x24e fp=0xc000305720 sp=0xc000305650 pc=0xbdf1be
github.com/gin-gonic/gin.(*Context).Next(0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000305740 sp=0xc000305720 pc=0xbcbff2
go-mybase/internal/app/middleware.RecoveryMiddleware.func1(0xc0000ba370)
<Gin-Admin>/internal/app/middleware/mw_recover.go:32 +0x62 fp=0xc000305790 sp=0xc000305740 pc=0xbeadc2
github.com/gin-gonic/gin.(*Context).Next(0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc0003057b0 sp=0xc000305790 pc=0xbcbff2
go-mybase/internal/app/middleware.LoggerMiddleware.func1(0xc0000ba370)
<Gin-Admin>/internal/app/middleware/mw_logger.go:53 +0x630 fp=0xc000305a78 sp=0xc0003057b0 pc=0xbe9b10
github.com/gin-gonic/gin.(*Context).Next(0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000305a98 sp=0xc000305a78 pc=0xbcbff2
go-mybase/internal/app/middleware.TraceMiddleware.func1(0xc0000ba370)
<Gin-Admin>/internal/app/middleware/mw_trace.go:23 +0x11f fp=0xc000305ad8 sp=0xc000305a98 pc=0xbeaf0f
github.com/gin-gonic/gin.(*Context).Next(0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/context.go:124 +0x42 fp=0xc000305af8 sp=0xc000305ad8 pc=0xbcbff2
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc000144000, 0xc0000ba370)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/gin.go:389 +0x5b9 fp=0xc000305be0 sp=0xc000305af8 pc=0xbd59e9github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc000144000, 0x10087c0, 0xc00017a0e0, 0xc0002ae200)
<~>/Go//pkg/mod/github.com/gin-gonic/[email protected]/gin.go:351 +0x13b fp=0xc000305c18 sp=0xc000305be0 pc=0xbd520bnet/http.serverHandler.ServeHTTP(0xc00017a000, 0x10087c0, 0xc00017a0e0, 0xc0002ae200)
c:/go/src/net/http/server.go:2802 +0xab fp=0xc000305c48 sp=0xc000305c18 pc=0x6e02db
net/http.(*conn).serve(0xc00016a140, 0x100ab00, 0xc0001e8240)
c:/go/src/net/http/server.go:1890 +0x87c fp=0xc000305fc8 sp=0xc000305c48 pc=0x6dbaac
runtime.goexit()
c:/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc000305fd0 sp=0xc000305fc8 pc=0x462e91
created by net/http.(*Server).Serve
c:/go/src/net/http/server.go:2927 +0x395
exit status 2
from gin-admin.
应当是 casbin 的问题: casbin/casbin#323
from gin-admin.
已经修复,升级casbin版本至2.1.1
from gin-admin.
对于已有项目,更新一下casbin依赖就可以了:
go get -u github.com/casbin/casbin/v2
from gin-admin.
Related Issues (20)
- Start failed - sonyflake not created HOT 2
- ParseJSON 建议优化一下
- 有人在生产中使用吗
- swagger 报错:No operations defined in spec!
- 有人遇到过程序偶尔自己退出的问题吗
- 问个不关代码的,V10什么时候发 HOT 7
- Injector结构体的CasbinEnforcer、Auth字段是否多余 HOT 1
- TablePrefix没有生效 HOT 3
- jwtauth store service is not working ?
- Failed to read configuration file
- rbac_model.conf should use keyMatch3 HOT 1
- gin-admin-cli生成的项目有问题 HOT 3
- 感觉启动速度有点慢
- 有交流群吗 HOT 1
- gin-admin-cli生成代码报错 HOT 1
- /api/v1/loggers?current=1&pageSize=10 ERROR: column b.id does not exist (SQLSTATE 42703) HOT 1
- [功能建议] Module 是不是可以考虑使用接口 ?
- Error while generate a new module
- 移动前端api 怎么实现 HOT 1
- is there a way to generate ReactJS files from Swagger?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gin-admin.