Coder Social home page Coder Social logo

Comments (5)

LyricTian avatar LyricTian commented on June 23, 2024

提供一下操作流程及崩溃栈信息吧

from gin-admin.

venliong avatar venliong commented on June 23, 2024

我也碰到这个问题了,以下是崩溃栈信息:

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.

venliong avatar venliong commented on June 23, 2024

应当是 casbin 的问题: casbin/casbin#323

from gin-admin.

LyricTian avatar LyricTian commented on June 23, 2024

已经修复,升级casbin版本至2.1.1

from gin-admin.

venliong avatar venliong commented on June 23, 2024

@LyricTian 👍

对于已有项目,更新一下casbin依赖就可以了:

go get -u  github.com/casbin/casbin/v2

from gin-admin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.