singbox panic
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38.2k
- Forks
- 4.6k
- Avg merge
- 19d 15h
- Merged PRs (30d)
- 1
Description
操作系统
OpenWrt
系统版本
OpenWrt 23.05.4, r24012-d8dd03c46f
安装类型
sing-box 原始命令行程序
如果您使用图形客户端程序,请提供该程序版本。
无
版本
root@OpenWrt2:~# sing-box version
sing-box version 1.11.1
Environment: go1.23.5 linux/amd64
Tags: with_gvisor,with_quic,with_dhcp,with_wireguard,with_ech,with_utls,with_reality_server,with_acme,with_clash_api
Revision: 92d245ad040cbda2f84b21c2a847a470e532c179
CGO: disabled
描述
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x60d621]
goroutine 5771 [running]:
github.com/sagernet/sing/common/bufio.(*ExtendedWriterWrapper).WriteBuffer(0x7f78fe4b7801?, 0x0?)
github.com/sagernet/sing@v0.6.0-beta.12/common/bufio/conn.go:110 +0x61
github.com/sagernet/sing/common/bufio.copyWaitWithPool({0x7f78fe4d6780, 0xc00055ae08}, {0x1847950, 0xc000dd47d0}, {0x7f78fe4dc090, 0xc000affd40}, {0xc0002be160, 0x1, 0xc0013d8d90?}, {0x0, ...})
github.com/sagernet/sing@v0.6.0-beta.12/common/bufio/copy_direct.go:42 +0xb8
github.com/sagernet/sing/common/bufio.CopyExtended({0x7f78fe4d6780, 0xc00055ae08}, {0x1847950, 0xc000dd47d0}, {0x1847978, 0xc000dd47e0}, {0xc0002be160, 0x1, 0x1}, {0x0, ...})
github.com/sagernet/sing@v0.6.0-beta.12/common/bufio/copy.go:77 +0x1e5
github.com/sagernet/sing/common/bufio.CopyWithCounters({0x0, 0x0}, {0x7f78fe4b7818, 0xc000affd40}, {0x7f78fe4d6780, 0xc00055ae08}, {0xc0002be160, 0x1, 0x1}, {0x0, ...})
github.com/sagernet/sing@v0.6.0-beta.12/common/bufio/copy.go:62 +0x319
github.com/sagernet/sing-box/route.(*ConnectionManager).connectionCopy(0xc000168780, {0x1854bd8, 0xc000bab950}, {0x7f78fe4d6780, 0xc00055ae08}, {0x0, 0x0}, 0x0, 0xc000527a3c, 0xc000ed54a0)
github.com/sagernet/sing-box/route/conn.go:239 +0x685
created by github.com/sagernet/sing-box/route.(*ConnectionManager).NewConnection in goroutine 5768
github.com/sagernet/sing-box/route/conn.go:87 +0x92d
重现方式
未知。
日志
支持我们
- 我已经 赞助
完整性要求
- 我保证阅读了文档,了解所有我编写的配置文件项的含义,而不是大量堆砌看似有用的选项或默认值。
- 我保证提供了可以在本地重现该问题的服务器、客户端配置文件与流程,而不是一个脱敏的复杂客户端配置文件。
- 我保证提供了可用于重现我报告的错误的最简配置,而不是依赖远程服务器、TUN、图形界面客户端或者其他闭源软件。
- 我保证提供了完整的配置文件与日志,而不是出于对自身智力的自信而仅提供了部分认为有用的部分。
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the panic stack and inspect sing-box/route/conn.go around connectionCopy at line 239, then compare the called sing/common/bufio code at conn.go:110. Look for a way to reproduce the nil buffer or writer condition on OpenWrt with sing-box 1.11.1. Done means the failure is understood and the panic no longer occurs under a reproducible scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100