SagerNet / SagerNet/sing-box

singbox panic

Open
#2,590 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug not following template
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.