studygolang
studygolang copied to clipboard
runtime error: invalid memory address or nil pointer dereference goroutine
搭建完本地开发环境,在管理后台添加主题节点信息后,点击发布主题时,web界面报Internal Server Error错误。
panic.log信息如下:
[xorm] [info] 2018/10/24 20:36:08.504511 [SQL] UPDATE user_login
SET login_time
= ?, login_ip
= ? WHERE username=? []interface {}{time.Time{wall:0xbeec37ae1e10c376, ext:2207013450788, loc:(*time.Location)(0x11a1620)}, "192.168.200.9", "admin"}
[xorm] [info] 2018/10/24 20:36:08.504525 [SQL] UPDATE user_active
SET weight
= weight
+ ? WHERE uid=? []interface {}{1, 1}
[PANIC RECOVER] runtime error: invalid memory address or nil pointer dereference goroutine 293 [running]:
vendor/github.com/labstack/echo/middleware.RecoverWithConfig.func1.1.1(0x1000, 0xc0096a0000, 0xca6620, 0xc0096a4f80)
/root/studygolang/src/vendor/github.com/labstack/echo/middleware/recover.go:64 +0x11d
panic(0xb0d4c0, 0x118dff0)
/usr/local/go/src/runtime/panic.go:513 +0x1b9
vendor/github.com/garyburd/redigo/redis.(*Pool).get(0x0, 0x110, 0x110, 0xc00937e5a0, 0x0)
/root/studygolang/src/vendor/github.com/garyburd/redigo/redis/pool.go:198 +0x3a
vendor/github.com/garyburd/redigo/redis.(*Pool).Get(0x0, 0x48dc36, 0x5bd06738)
/root/studygolang/src/vendor/github.com/garyburd/redigo/redis/pool.go:154 +0x2f
vendor/github.com/polaris1119/nosql.NewRedisFromPool(0x0)
/root/studygolang/src/vendor/github.com/polaris1119/nosql/redis.go:56 +0x31
logic.NeedCaptcha(0xc006e4c270, 0xc00ebc1a00)
/root/studygolang/src/logic/common.go:223 +0xda
http/controller.TopicController.Create(0xca6620, 0xc0096a4f80, 0xbc95a5, 0x4)
/root/studygolang/src/http/controller/topic.go:202 +0x2fc
http/controller.TopicController.Create-fm(0xca6620, 0xc0096a4f80, 0x3, 0xab2ce0)
/root/studygolang/src/http/controller/topic.go:44 +0x3b
http/middleware.CheckCaptcha.func1.1(0xca6620, 0xc0096a4f80, 0x10, 0x0)
/root/studygolang/src/http/middleware/captcha.go:36 +0xd2
http/middleware.PublishNotice.func1.1(0xca6620, 0xc0096a4f80, 0xacce00, 0xc009495200)
/root/studygolang/src/http/middleware/notice.go:21 +0x3d
http/middleware.BalanceCheck.func1.1(0xca6620, 0xc0096a4f80, 0x0, 0x0)
/root/studygolang/src/http/middleware/balance_check.go:41 +0x69
http/middleware.Sensivite.func1.1(0xca6620, 0xc0096a4f80, 0x4, 0xab2ce0)
/root/studygolang/src/http/middleware/sensitive.go:64 +0x49d
http/middleware.NeedLogin.func1.1(0xca6620, 0xc0096a4f80, 0xc006f5a020, 0xc0096a4f80)
/root/studygolang/src/http/middleware/login.go:112 +0x1a3
vendor/github.com/labstack/echo.(*Echo).add.func1(0xca6620, 0xc0096a4f80, 0xc006acd970, 0xc00937e3f8)
/root/studygolang/src/vendor/github.com/labstack/echo/echo.go:471 +0x8a
http/middleware.AutoLogin.func1.1(0xca6620, 0xc0096a4f80, 0x0, 0x0)
/root/studygolang/src/http/middleware/login.go:71 +0x1d9
http/middleware.HTTPError.func1.1(0xca6620, 0xc0096a4f80, 0xbd2173, 0xc)
/root/studygolang/src/http/middleware/http_error.go:22 +0x40
http/middleware.Installed.func1.1(0xca6620, 0xc0096a4f80, 0x1000, 0xc0096a0000)
/root/studygolang/src/http/middleware/installed.go:38 +0xf1
vendor/github.com/labstack/echo/middleware.RecoverWithConfig.func1.1(0xca6620, 0xc0096a4f80, 0x0, 0x0)
/root/studygolang/src/vendor/github.com/labstack/echo/middleware/recover.go:71 +0x98
vendor/github.com/polaris1119/middleware.EchoLogger.func1.1(0xca6620, 0xc0096a4f80, 0x0, 0x0)
/root/studygolang/src/vendor/github.com/polaris1119/middleware/logger.go:72 +0x48d
vendor/github.com/labstack/echo.(*Echo).ServeHTTP.func1(0xca6620, 0xc0096a4f80, 0xc0096a4f80, 0xb17ee0)
/root/studygolang/src/vendor/github.com/labstack/echo/echo.go:553 +0x153
vendor/github.com/labstack/echo.(*Echo).ServeHTTP(0xc00025c460, 0xca1c40, 0xc00009dc40, 0xca0480, 0xc009517260)
/root/studygolang/src/vendor/github.com/labstack/echo/echo.go:562 +0x182
vendor/github.com/labstack/echo/engine/standard.(*Server).ServeHTTP(0xc000226d00, 0xc9cb00, 0xc006f70ee0, 0xc006ba6e00)
/root/studygolang/src/vendor/github.com/labstack/echo/engine/standard/server.go:138 +0x316
net/http.serverHandler.ServeHTTP(0xc000255110, 0xc9cb00, 0xc006f70ee0, 0xc006ba6e00)
/usr/local/go/src/net/http/server.go:2741 +0xab
net/http.(*conn).serve(0xc0000cc000, 0xc9d680, 0xc0001e4440)
/usr/local/go/src/net/http/server.go:1847 +0x646
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2851 +0x2f5
goroutine 1 [select, 36 minutes]: vendor/github.com/facebookgo/grace/gracehttp.Serve(0xc000220850, 0x1, 0x1, 0x0, 0x0) /root/studygolang/src/vendor/github.com/facebookgo/grace/gracehttp/http.go:162 +0x3fd main.gracefulRun(0xc000226d00) /root/studygolang/src/server/studygolang/graceful_unix.go:13 +0x65 main.main() /root/studygolang/src/server/studygolang/main.go:86 +0x9d5
goroutine 19 [syscall, 36 minutes]:
{"time":"2018-10-24T20:36:08+08:00","level":"ERROR","prefix":"echo","file":"echo.go","line":"230","message":"runtime error: invalid memory address or nil pointer dereference"}
看这一句错误好像是连接redis的问题
vendor/github.com/garyburd/redigo/redis.(*Pool).get(0x0, 0x110, 0x110, 0xc00937e5a0, 0x0)
添加完后,重启下程序在发布试试