mihomo
mihomo copied to clipboard
[Bug] DIRECT访问http网站时,很容易闪退
Verify steps
- [X] 确保你使用的是本仓库最新的的 mihomo 或 mihomo Alpha 版本 Ensure you are using the latest version of Mihomo or Mihomo Alpha from this repository.
- [ ] 如果你可以自己 debug 并解决的话,提交 PR 吧 Is this something you can debug and fix? Send a pull request! Bug fixes and documentation fixes are welcome.
- [X] 我已经在 Issue Tracker 中找过我要提出的问题 I have searched on the issue tracker for a related issue.
- [X] 我已经使用 Alpha 分支版本测试过,问题依旧存在 I have tested using the dev branch, and the issue still exists.
- [X] 我已经仔细看过 Documentation 并无法自行解决问题 I have read the documentation and was unable to solve the issue.
- [X] 这是 Mihomo 核心的问题,并非我所使用的 Mihomo 衍生版本(如 OpenMihomo、KoolMihomo 等)的特定问题 This is an issue of the Mihomo core per se, not to the derivatives of Mihomo, like OpenMihomo or KoolMihomo.
Mihomo version
Mihomo Meta alpha-23e3f12 windows amd64 with go1.22.0 Fri Feb 16 03:30:19 UTC 2024 Use tags: with_gvisor
What OS are you seeing the problem on?
Windows
Mihomo config
mixed-port: 7890
mode: rule
log-level: info
proxies:
--------
rules:
- MATCH,DIRECT
Mihomo log
No response
Description
试过多种mihomo版本,包括以前的clash.meta,都是这样,有时第一次不闪退,再访问几次就退了,闪退之前窗口快速刷大量出错信息。 当然现在http网站已经很少。 如果直连https网站或者使用代理访问http网站都正常。
@stoneaw 如果是"闪退",请提供panic log,没有panic log是无意义的
@stoneaw 如果是"闪退",请提供panic log,没有panic log是无意义的
访问的是http://www.weather.com.cn/
log-level: debug
下面是出错信息后面的,前面太多了,刷不见了,似乎都是重复的goroutine...:
goroutine 1123 gp=0xc0006e8700 m=nil [IO wait]: runtime.gopark(0x0?, 0xc00037e520?, 0xd0?, 0xe5?, 0xc00037e550?) runtime/proc.go:402 +0xce fp=0xc000439a28 sp=0xc000439a08 pc=0x7f24e runtime.netpollblock(0x3c8?, 0x456a6?, 0x0?) runtime/netpoll.go:573 +0xf7 fp=0xc000439a60 sp=0xc000439a28 pc=0x76597 internal/poll.runtime_pollWait(0x1996b5b7730, 0x72) runtime/netpoll.go:345 +0x85 fp=0xc000439a80 sp=0xc000439a60 pc=0xaf605 internal/poll.(*pollDesc).wait(0x10?, 0x10?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000439aa8 sp=0xc000439a80 pc=0x120a47 internal/poll.execIO(0xc00037e520, 0xe2d4c0) internal/poll/fd_windows.go:175 +0xe6 fp=0xc000439b18 sp=0xc000439aa8 pc=0x121aa6 internal/poll.(*FD).RawRead(0xc00037e508, 0xc000565380) internal/poll/fd_windows.go:1088 +0x125 fp=0xc000439b80 sp=0xc000439b18 pc=0x126be5 net.(*rawConn).Read(0xc000070390, 0x4c7ff?) net/rawconn.go:44 +0x36 fp=0xc000439bb8 sp=0xc000439b80 pc=0x17e936 github.com/sagernet/sing/common/bufio.(*syscallReadWaiter).WaitReadBuffer(0xc000563540) github.com/sagernet/[email protected]/common/bufio/copy_direct_windows.go:95 +0x34 fp=0xc000439c10 sp=0xc000439bb8 pc=0x3e9f14 github.com/sagernet/sing/common/bufio.copyWaitWithPool({0x1996ce1b258, 0xc00028e840}, {0xf6c190, 0xc000565360}, {0xf6d918, 0xc000563540}, {0x0, 0x0, 0xc000439cf8?}, {0xc000070378, ...}) github.com/sagernet/[email protected]/common/bufio/copy_direct.go:33 +0x83 fp=0xc000439c78 sp=0xc000439c10 pc=0x3e97a3 github.com/sagernet/sing/common/bufio.CopyExtended({0x1996ce1b258, 0xc00028e840}, {0xf6c190, 0xc000565360}, {0xf6c398, 0xc000565370}, {0x0, 0x0, 0x0}, {0xc000070378, ...}) github.com/sagernet/[email protected]/common/bufio/copy.go:97 +0x1e5 fp=0xc000439d08 sp=0xc000439c78 pc=0x3e8245 github.com/sagernet/sing/common/bufio.Copy({0x1996ce1bb50?, 0xc000366cf0?}, {0x1996ce1b258, 0xc00028e840}) github.com/sagernet/[email protected]/common/bufio/copy.go:80 +0x7c5 fp=0xc000439ec0 sp=0xc000439d08 pc=0x3e7825 github.com/sagernet/sing/common/bufio.CopyConnContextList.func1({0xf7cd48?, 0xc00028e840?}) github.com/sagernet/[email protected]/common/bufio/copy.go:195 +0x77 fp=0xc000439f38 sp=0xc000439ec0 pc=0x3e9517 github.com/sagernet/sing/common/task.(*Group).RunContextList.func1() github.com/sagernet/[email protected]/common/task/task.go:84 +0xd7 fp=0xc000439fe0 sp=0xc000439f38 pc=0x3e2ef7 runtime.goexit({}) runtime/asm_amd64.s:1695 +0x1 fp=0xc000439fe8 sp=0xc000439fe0 pc=0xb6001 created by github.com/sagernet/sing/common/task.(*Group).RunContextList in goroutine 1091 github.com/sagernet/[email protected]/common/task/task.go:75 +0x198
goroutine 1124 gp=0xc0006e88c0 m=nil [IO wait]: runtime.gopark(0x0?, 0xc0004567a0?, 0x50?, 0x68?, 0xc0004567d0?) runtime/proc.go:402 +0xce fp=0xc0006a1a28 sp=0xc0006a1a08 pc=0x7f24e runtime.netpollblock(0x5a0?, 0x456a6?, 0x0?) runtime/netpoll.go:573 +0xf7 fp=0xc0006a1a60 sp=0xc0006a1a28 pc=0x76597 internal/poll.runtime_pollWait(0x199460b5ef0, 0x72) runtime/netpoll.go:345 +0x85 fp=0xc0006a1a80 sp=0xc0006a1a60 pc=0xaf605 internal/poll.(*pollDesc).wait(0xc0002ea000?, 0xc0006a1af8?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0006a1aa8 sp=0xc0006a1a80 pc=0x120a47 internal/poll.execIO(0xc0004567a0, 0xe2d4c0) internal/poll/fd_windows.go:175 +0xe6 fp=0xc0006a1b18 sp=0xc0006a1aa8 pc=0x121aa6 internal/poll.(*FD).RawRead(0xc000456788, 0xc00059bf60) internal/poll/fd_windows.go:1088 +0x125 fp=0xc0006a1b80 sp=0xc0006a1b18 pc=0x126be5 net.(*rawConn).Read(0xc00023e4d8, 0x4c7ff?) net/rawconn.go:44 +0x36 fp=0xc0006a1bb8 sp=0xc0006a1b80 pc=0x17e936 github.com/sagernet/sing/common/bufio.(*syscallReadWaiter).WaitReadBuffer(0xc00027c3c0) github.com/sagernet/[email protected]/common/bufio/copy_direct_windows.go:95 +0x34 fp=0xc0006a1c10 sp=0xc0006a1bb8 pc=0x3e9f14 github.com/sagernet/sing/common/bufio.copyWaitWithPool({0x1996ce1b540, 0xc000366cf0}, {0xf6c190, 0xc00059bf40}, {0xf6d918, 0xc00027c3c0}, {0xc00023e4c0, 0x1, 0xc0006a1cf8?}, {0x0, ...}) github.com/sagernet/[email protected]/common/bufio/copy_direct.go:33 +0x83 fp=0xc0006a1c78 sp=0xc0006a1c10 pc=0x3e97a3 github.com/sagernet/sing/common/bufio.CopyExtended({0x1996ce1b540, 0xc000366cf0}, {0xf6c190, 0xc00059bf40}, {0xf6c398, 0xc00059bf50}, {0xc00023e4c0, 0x1, 0x1}, {0x0, ...}) github.com/sagernet/[email protected]/common/bufio/copy.go:97 +0x1e5 fp=0xc0006a1d08 sp=0xc0006a1c78 pc=0x3e8245 github.com/sagernet/sing/common/bufio.Copy({0xf6a320?, 0xc00028e840?}, {0x1996ce1b540, 0xc000366cf0}) github.com/sagernet/[email protected]/common/bufio/copy.go:80 +0x7c5 fp=0xc0006a1ec0 sp=0xc0006a1d08 pc=0x3e7825 github.com/sagernet/sing/common/bufio.CopyConnContextList.func3({0xf7cd48?, 0xc000095b20?}) github.com/sagernet/[email protected]/common/bufio/copy.go:211 +0x77 fp=0xc0006a1f38 sp=0xc0006a1ec0 pc=0x3e9117 github.com/sagernet/sing/common/task.(*Group).RunContextList.func1() github.com/sagernet/[email protected]/common/task/task.go:84 +0xd7 fp=0xc0006a1fe0 sp=0xc0006a1f38 pc=0x3e2ef7 runtime.goexit({}) runtime/asm_amd64.s:1695 +0x1 fp=0xc0006a1fe8 sp=0xc0006a1fe0 pc=0xb6001 created by github.com/sagernet/sing/common/task.(*Group).RunContextList in goroutine 1091 github.com/sagernet/[email protected]/common/task/task.go:75 +0x198 rax 0x3c99dff668 rbx 0x1996cea14b0 rcx 0x1996ceb4f40 rdx 0x3c99dff6f0 rdi 0x1996cea827c rsi 0x1996ceb4f00 rbp 0x0 rsp 0x3c99dff520 r8 0x0 r9 0x0 r10 0x0 r11 0x1996ceb4f08 r12 0x3c99dff6f0 r13 0x1996cea14b0 r14 0xc0003f8b01 r15 0x1996ceb4f00 rip 0x18000632b rflags 0x10202 cs 0x33 fs 0x53 gs 0x2b
尝试重定向日志至文本,然后发送文本文件