We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Learn more about funding links in repositories.
Report abuse
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
I have read the documentation. 我已经阅读了文档。
I'm sure there are no duplicate issues or discussions. 我确定没有重复的issue或讨论。
I'm sure it's due to AList and not something else(such as Network ,Dependencies or Operational). 我确定是AList的问题,而不是其他原因(例如网络,依赖或操作)。
AList
Dependencies
Operational
依赖
操作
I'm sure this issue is not fixed in the latest version. 我确定这个问题在最新版本中没有被修复。
V3.26.0
115
一、刮削的过程中,经常出现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
alist Mac桌面版挂载115+plex meaid server mac版
{ "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 }
二、刮削一段时间后,主页的服务停止,出现以下报错,点击重启服务后又正常。不停复现。 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
The text was updated successfully, but these errors were encountered:
Thanks for opening your first issue here! Be sure to follow the issue template!
Sorry, something went wrong.
f2f312b
Alist version:3.27.0 Go version:1.20.7 linux/amd64 问了chatgpt答复如下: 2023/9/6 18:33:55
这个报错信息看起来是一个 Go 语言程序的堆栈跟踪,描述了一些 goroutines(Go 语言中的轻量级线程)的运行状态和调用栈信息。这个报错信息主要包括以下几个部分:
第一个 goroutine(goroutine 75783)正在等待IO操作完成,根据报错信息的路径,可能是在等待网络IO操作完成。 第二个 goroutine(goroutine 74524)处于select语句中,可能在等待某个通道的数据。 第三个 goroutine(goroutine 75784)在解析URL的时候出错,可能涉及到URL的处理逻辑。 还有其他一些 goroutines 在执行不同的任务,但在这个堆栈信息中没有提供太多关于它们的信息。 这个报错信息并没有明确指出问题的原因,但它提供了应用程序中的不同 goroutines 的调用堆栈信息,这些信息可以用于定位问题的根本原因。要解决问题,你可能需要进一步分析应用程序的代码,检查每个 goroutine 在做什么以及为什么会导致错误。可能需要查看与网络通信、URL 解析或其他相关操作有关的代码,以找到问题的根本原因。
另外,有一些与网络IO和通道操作相关的 goroutines 处于等待状态,这可能需要进一步检查你的应用程序的并发逻辑,确保它们没有被阻塞在某个地方。可以考虑使用 Go 语言提供的调试工具来帮助定位问题,例如 go trace 或 go pprof。
总之,这个报错信息是一个起点,你需要进一步分析代码和运行时的行为,以找到问题的具体原因并解决它。
解决 了吗?我最近也一直出现
No branches or pull requests
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
AList
and not something else(such as Network ,Dependencies
orOperational
).我确定是
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
The text was updated successfully, but these errors were encountered: