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

When using boto3's get_object_attributes request to the main branch of s3gateway, a panic occurred #4433

Open
zhijian-pro opened this issue Feb 28, 2024 · 0 comments
Labels
priority/normal The default priority

Comments

@zhijian-pro
Copy link
Contributor

2024-02-28 17:50:57.023654 I | http: panic serving 127.0.0.1:57637: runtime error: invalid memory address or nil pointer dereference
goroutine 521 [running]:
net/http.(*conn).serve.func1()
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:1868 +0x118
panic({0x104b014e0?, 0x1065a9750?})
        /Users/zhijian/sdk/go1.21.4/src/runtime/panic.go:920 +0x254
github.com/minio/minio/cmd.criticalErrorHandler.ServeHTTP.func1()
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:685 +0x158
panic({0x104b014e0?, 0x1065a9750?})
        /Users/zhijian/sdk/go1.21.4/src/runtime/panic.go:920 +0x254
github.com/minio/minio/cmd.(*expiryState).queueExpiryTask(_, {{0x140020c8875, 0xb}, {0x140020c8881, 0x5}, {0x1b83caf0, 0xedd70ddfd, 0x106bd6aa0}, 0x3, 0x0, ...}, ...)
        /Users/zhijian/GolandProjects/minio/cmd/bucket-lifecycle.go:79 +0x2c
github.com/minio/minio/cmd.objectAPIHandlers.GetObjectHandler({0x105001528, 0x105001518}, {0x1050270e0, 0x14000ea8280}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/object-handlers.go:461 +0x1a3c
net/http.HandlerFunc.ServeHTTP(0x140024b9758, {0x1050270e0, 0x14000ea8280}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.httpTraceHdrs.func1({0x1050270e0, 0x14000ea8280}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/handler-utils.go:371 +0x60
net/http.HandlerFunc.ServeHTTP(0x14002536150, {0x1050270e0, 0x14000ea8280}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.maxClients.func1({0x1050270e0, 0x14000ea8280}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/handler-api.go:148 +0x1e4
net/http.HandlerFunc.ServeHTTP(0x14002536160, {0x1050270e0, 0x14000ea8280}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.collectAPIStats.func1({0x1050270e0, 0x14000ea8140}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/handler-utils.go:386 +0x110
net/http.HandlerFunc.ServeHTTP(0x14002501a80, {0x1050270e0, 0x14000ea8140}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setRedirectHandler.func1({0x1050270e0, 0x14000ea8140}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:135 +0x134
net/http.HandlerFunc.ServeHTTP(0x140020ac2a0, {0x1050270e0, 0x14000ea8140}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.addCustomHeaders.func1({0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:660 +0xc8
net/http.HandlerFunc.ServeHTTP(0x140020ac2b8, {0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.addSecurityHeaders.func1({0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:669 +0xb0
net/http.HandlerFunc.ServeHTTP(0x140020ac2d0, {0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setBucketForwardingHandler.func1({0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:543 +0x198
net/http.HandlerFunc.ServeHTTP(0x140020ac2e8, {0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setRequestValidityHandler.func1({0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:531 +0x280
net/http.HandlerFunc.ServeHTTP(0x140020ac300, {0x105027110, 0x1400114c090}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setHTTPStatsHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:465 +0x1b8
net/http.HandlerFunc.ServeHTTP(0x140020ac318, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setRequestSizeLimitHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:49 +0xc0
net/http.HandlerFunc.ServeHTTP(0x140020ac330, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setRequestHeaderSizeLimitHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:68 +0x118
net/http.HandlerFunc.ServeHTTP(0x140020ac348, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.crossDomainPolicy.ServeHTTP({{0x10500dba8, 0x140020ac348}}, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/crossdomain-xml-handler.go:51 +0x27c
github.com/minio/minio/cmd.setBrowserRedirectHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:161 +0xf8
net/http.HandlerFunc.ServeHTTP(0x140020ac360, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setReservedBucketHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:293 +0x258
net/http.HandlerFunc.ServeHTTP(0x140020ac378, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setBrowserCacheControlHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:262 +0x2bc
net/http.HandlerFunc.ServeHTTP(0x140020ac390, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setTimeValidityHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:357 +0x2f4
net/http.HandlerFunc.ServeHTTP(0x140020ac3a8, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setIgnoreResourcesHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:452 +0x2ac
net/http.HandlerFunc.ServeHTTP(0x140020ac3c0, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setAuthHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/auth-handler.go:495 +0x78
net/http.HandlerFunc.ServeHTTP(0x1400257eb58, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.setSSETLSHandler.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:703 +0x29c
net/http.HandlerFunc.ServeHTTP(0x1400257eb70, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.filterReservedMetadata.func1({0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:108 +0x118
net/http.HandlerFunc.ServeHTTP(0x1400257eb88, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/gorilla/mux.(*Router).ServeHTTP(0x1400238a000, {0x105026c20, 0x1400236e000}, 0x140025fa100)
        /Users/zhijian/go/pkg/mod/github.com/gorilla/mux@v1.8.0/mux.go:210 +0x254
github.com/rs/cors.(*Cors).Handler.func1({0x105026c20, 0x1400236e000}, 0x14000be4100)
        /Users/zhijian/go/pkg/mod/github.com/rs/cors@v1.7.0/cors.go:219 +0x2cc
net/http.HandlerFunc.ServeHTTP(0x14002580620, {0x105026c20, 0x1400236e000}, 0x14000be4100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
github.com/minio/minio/cmd.criticalErrorHandler.ServeHTTP({{0x10500dba8, 0x14002580620}}, {0x105026c20, 0x1400236e000}, 0x14000be4100)
        /Users/zhijian/GolandProjects/minio/cmd/generic-handlers.go:688 +0xac
github.com/minio/minio/cmd/http.(*Server).Start.func1({0x105026c20, 0x1400236e000}, 0x14000be4100)
        /Users/zhijian/GolandProjects/minio/cmd/http/server.go:101 +0x214
net/http.HandlerFunc.ServeHTTP(0x14002165ae0, {0x105026c20, 0x1400236e000}, 0x14000be4100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2136 +0x44
net/http.serverHandler.ServeHTTP({0x14002362c60}, {0x105026c20, 0x1400236e000}, 0x14000be4100)
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2938 +0x2a0
net/http.(*conn).serve(0x14000dc6f30, {0x1050336e8, 0x140011bcd70})
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:2009 +0x155c
created by net/http.(*Server).Serve in goroutine 285
        /Users/zhijian/sdk/go1.21.4/src/net/http/server.go:3086 +0x7f8

The program panic is because https://github.com/juicedata/minio/blob/72c1005a404c08f7debe3431781f68d751fca312/cmd/object-handlers.go#L461
should set globalExpiryState

@zhijian-pro zhijian-pro added kind/bug Something isn't working and removed kind/bug Something isn't working labels Feb 28, 2024
@SandyXSD SandyXSD added the priority/normal The default priority label May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority/normal The default priority
Projects
None yet
Development

No branches or pull requests

2 participants