-
-
Notifications
You must be signed in to change notification settings - Fork 8k
Alist的MAC桌面版挂载后,用Plex刮削一段时间后报错 #5163
Description
Please make sure of the following things
-
I have read the documentation.
我已经阅读了文档。 -
I'm sure there are no duplicate issues or discussions.
我确定没有重复的issue或讨论。 -
I'm sure it's due to
AListand not something else(such as Network ,DependenciesorOperational).
我确定是AList的问题,而不是其他原因(例如网络,依赖或操作)。 -
I'm sure this issue is not fixed in the latest version.
我确定这个问题在最新版本中没有被修复。
AList Version / AList 版本
V3.26.0
Driver used / 使用的存储驱动
115
Describe the bug / 问题描述
一、刮削的过程中,经常出现ERROR write: broken pipe,但是建立媒体库和播放都正常
[GIN] 2023/09/04 - 18:25:40 | 206 | 445.902458ms | 127.0.0.1 | GET "/dav/115/MUSIC/中文音乐/许巍/许巍 - 巍力十足 (2014)/CD2/许巍 - 故乡.flac"
ERRO[2023-09-04 18:25:41] webdav proxy error: write tcp 127.0.0.1:5244->127.0.0.1:58099: write: broken pipe
ERRO[2023-09-04 18:25:41] GET /dav/115/MUSIC/中文音乐/许巍/许巍 - 巍力十足 (2014)/CD1/许巍 - 时光.flac write tcp 127.0.0.1:5244->127.0.0.1:58099: write: broken pipe
二、刮削一段时间后,主页的服务停止,出现以下报错,点击重启服务后又正常。不停复现。
详见底部logs
Reproduction / 复现链接
alist Mac桌面版挂载115+plex meaid server mac版
Config / 配置
{
"force": false,
"site_url": "",
"cdn": "",
"jwt_secret": "脱敏",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "/Users/wilson/Library/Application Support/ci.nn.alist/data.db",
"table_prefix": "x_",
"ssl_mode": ""
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": ""
},
"temp_dir": "/Users/wilson/Library/Application Support/ci.nn.alist/temp",
"bleve_dir": "/Users/wilson/Library/Application Support/ci.nn.alist/bleve",
"log": {
"enable": true,
"name": "/Users/wilson/Library/Application Support/ci.nn.alist/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false
},
"delayed_start": 0,
"max_connections": 0,
"tls_insecure_skip_verify": true
}
Logs / 日志
一、刮削的过程中,经常出现ERROR write: broken pipe,但是建立媒体库和播放都正常
[GIN] 2023/09/04 - 18:25:40 | 206 | 445.902458ms | 127.0.0.1 | GET "/dav/115/MUSIC/中文音乐/许巍/许巍 - 巍力十足 (2014)/CD2/许巍 - 故乡.flac"
ERRO[2023-09-04 18:25:41] webdav proxy error: write tcp 127.0.0.1:5244->127.0.0.1:58099: write: broken pipe
ERRO[2023-09-04 18:25:41] GET /dav/115/MUSIC/中文音乐/许巍/许巍 - 巍力十足 (2014)/CD1/许巍 - 时光.flac write tcp 127.0.0.1:5244->127.0.0.1:58099: write: broken pipe
二、刮削一段时间后,主页的服务停止,出现以下报错,点击重启服务后又正常。不停复现。
goroutine 75783 [IO wait]:
internal/poll.runtime_pollWait(0x12f45e0d0, 0x72)
/usr/local/go/src/runtime/netpoll.go:343 +0xa0
internal/poll.(*pollDesc).wait(0x14000b5ce00?, 0x14000826e21?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x28
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0x14000b5ce00, {0x14000826e21, 0x1, 0x1})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x200
net.(*netFD).Read(0x14000b5ce00, {0x14000826e21?, 0x104f2be20?, 0x1400079a060?})
/usr/local/go/src/net/fd_posix.go:55 +0x28
net.(*conn).Read(0x140001b48a0, {0x14000826e21?, 0x140012cf7a8?, 0x140012cf778?})
/usr/local/go/src/net/net.go:179 +0x34
net/http.(*connReader).backgroundRead(0x14000826e10)
/usr/local/go/src/net/http/server.go:683 +0x40
created by net/http.(*connReader).startBackgroundRead in goroutine 75726
/usr/local/go/src/net/http/server.go:679 +0xc8
goroutine 74524 [select]:
net/http.(*persistConn).writeLoop(0x140006f5560)
/usr/local/go/src/net/http/transport.go:2421 +0x9c
created by net/http.(*Transport).dialConn in goroutine 74509
/usr/local/go/src/net/http/transport.go:1777 +0x118c
goroutine 75784 [runnable]:
net/url.parseHost({0x14000fab328, 0x12})
/usr/local/go/src/net/url/url.go:616 +0x4b4
net/url.parseAuthority({0x14000fab328, 0x12})
/usr/local/go/src/net/url/url.go:582 +0x7c
net/url.parse({0x14000fab320, 0x11b}, 0x0)
/usr/local/go/src/net/url/url.go:559 +0x418
net/url.Parse({0x14000fab320, 0x11b})
/usr/local/go/src/net/url/url.go:469 +0x48
net/http.NewRequestWithContext({0x1070fc510?, 0x107eb71e0}, {0x140011fe0f0?, 0x14000568360?}, {0x14000fab320?, 0x11b?}, {0x0, 0x0?})
/usr/local/go/src/net/http/request.go:856 +0xc8
net/http.NewRequest(...)
/usr/local/go/src/net/http/request.go:818
github.com/alist-org/alist/v3/internal/net.RequestHttp({0x140011fe0f0?, 0x5d?}, 0x14000568360, {0x14000fab320?, 0x10538f220?})
/source/internal/net/serve.go:213 +0x5c
github.com/alist-org/alist/v3/server/common.Proxy({0x12f521bc0, 0x14000d36000}, 0x140011b6c00, 0x14001331f80, {0x1070ff7e8, 0x140009d61e0})
/source/server/common/proxy.go:78 +0x24c
github.com/alist-org/alist/v3/server/webdav.(*Handler).handleGetHeadPost(0x140005e6660, {0x12f521bc0, 0x14000d36000}, 0x140011b6c00)
/source/server/webdav/webdav.go:243 +0x518
github.com/alist-org/alist/v3/server/webdav.(*Handler).ServeHTTP(0x140005e6660, {0x12f521bc0, 0x14000d36000}, 0x140011b6c00)
/source/server/webdav/webdav.go:59 +0x198
github.com/alist-org/alist/v3/server.ServeWebDAV(0x14000d36000)
/source/server/webdav.go:46 +0x170
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/alist-org/alist/v3/server.WebDAVAuth(0x14000d36000)
/source/server/webdav.go:66 +0x668
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/alist-org/alist/v3/server/middlewares.StoragesLoaded(0x14000d36000)
/source/server/middlewares/check.go:14 +0xa8
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1(0x14000d36000)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/recovery.go:102 +0x80
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.LoggerWithConfig.func1(0x14000d36000)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/logger.go:240 +0xb0
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0x14000623380, 0x14000d36000)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x524
github.com/gin-gonic/gin.(*Engine).ServeHTTP(0x14000623380, {0x1070f82a0?, 0x14000276460}, 0x140011b6b00)
/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1a0
net/http.serverHandler.ServeHTTP({0x1400092b500?}, {0x1070f82a0?, 0x14000276460?}, 0x6?)
/usr/local/go/src/net/http/server.go:2938 +0xbc
net/http.(*conn).serve(0x140010125a0, {0x1070fc5b8, 0x140009a21b0})
/usr/local/go/src/net/http/server.go:2009 +0x518
created by net/http.(*Server).Serve in goroutine 44
/usr/local/go/src/net/http/server.go:3086 +0x4cc
goroutine 75800 [IO wait]:
internal/poll.runtime_pollWait(0x12f4fe280, 0x72)
/usr/local/go/src/runtime/netpoll.go:343 +0xa0
internal/poll.(*pollDesc).wait(0x14000b5c180?, 0x14000826d01?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x28
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0x14000b5c180, {0x14000826d01, 0x1, 0x1})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x200
net.(*netFD).Read(0x14000b5c180, {0x14000826d01?, 0x4?, 0x140008103c0?})
/usr/local/go/src/net/fd_posix.go:55 +0x28
net.(*conn).Read(0x140009820d8, {0x14000826d01?, 0x104f2be20?, 0x140013a0360?})
/usr/local/go/src/net/net.go:179 +0x34
net/http.(*connReader).backgroundRead(0x14000826cf0)
/usr/local/go/src/net/http/server.go:683 +0x40
created by net/http.(*connReader).startBackgroundRead in goroutine 75799
/usr/local/go/src/net/http/server.go:679 +0xc8
goroutine 75409 [select]:
net/http.(*persistConn).writeLoop(0x1400065c360)
/usr/local/go/src/net/http/transport.go:2421 +0x9c
created by net/http.(*Transport).dialConn in goroutine 75008
/usr/local/go/src/net/http/transport.go:1777 +0x118c
command finished with code 2 and signal null