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

Alist的MAC桌面版挂载后,用Plex刮削一段时间后报错 #5163

Closed
4 tasks done
hfoi589 opened this issue Sep 4, 2023 · 3 comments
Closed
4 tasks done

Alist的MAC桌面版挂载后,用Plex刮削一段时间后报错 #5163

hfoi589 opened this issue Sep 4, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@hfoi589
Copy link

hfoi589 commented Sep 4, 2023

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 or Operational).
    我确定是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

@hfoi589 hfoi589 added the bug Something isn't working label Sep 4, 2023
@welcome
Copy link

welcome bot commented Sep 4, 2023

Thanks for opening your first issue here! Be sure to follow the issue template!

@xhofe xhofe closed this as completed in f2f312b Sep 5, 2023
@hfoi589
Copy link
Author

hfoi589 commented Sep 7, 2023

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。

总之,这个报错信息是一个起点,你需要进一步分析代码和运行时的行为,以找到问题的具体原因并解决它。

@zhlx2835
Copy link

解决 了吗?我最近也一直出现

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants