Skip to content
This repository has been archived by the owner on Mar 17, 2024. It is now read-only.

[Bug]1.2.3-beta.1 在用 sockshttp 时会闪退 #98

Closed
ctermiii opened this issue May 16, 2022 · 20 comments
Closed

[Bug]1.2.3-beta.1 在用 sockshttp 时会闪退 #98

ctermiii opened this issue May 16, 2022 · 20 comments
Labels
bug Something isn't working

Comments

@ctermiii
Copy link

**Describe the bug【描述 bug】
监听本地sockshttp端口,wget失败
程序退出。

2022-05-16 08:13:08.890 INFO New Accepted Conn {"connid": 620932, "from": "127.0.0.1:49608", "handler": "tcp+socks5http://127.0.0.1:9089"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9a5882]

goroutine 21 [running]:
github.com/e1732a364fed/v2ray_simple/proxy/http.(*Server).Handshake(0xc0000d3738, {0xc7b980?, 0xc0000b4018})
github.com/e1732a364fed/v2ray_simple/proxy/http/server.go:140 +0x1e2
github.com/e1732a364fed/v2ray_simple/proxy/socks5http.(*Server).Handshake(0xc0000d3680, {0xc7b980?, 0xc0000b4018})
github.com/e1732a364fed/v2ray_simple/proxy/socks5http/server.go:62 +0x9f
github.com/e1732a364fed/v2ray_simple.handshakeInserver(0xc001842200)
github.com/e1732a364fed/v2ray_simple/main.go:381 +0xab
github.com/e1732a364fed/v2ray_simple.handshakeInserver_and_passToOutClient({0x97984, {0xc7b980, 0xc0000b4018}, {0xc7b980, 0xc0000b4018}, {0xc7d140, 0xc0000d3680}, {0xc7e060, 0xc0006ba200}, {0xc0003109c0, ...}, ...})
github.com/e1732a364fed/v2ray_simple/main.go:500 +0xbd
github.com/e1732a364fed/v2ray_simple.handleNewIncomeConnection({0xc7d140, 0xc0000d3680}, {0xc7e060, 0xc0006ba200}, {0xc7b980, 0xc0000b4018}, 0x109b180)
github.com/e1732a364fed/v2ray_simple/main.go:370 +0x1478
github.com/e1732a364fed/v2ray_simple.ListenSer.func2({0xc7b980?, 0xc0000b4018?})
github.com/e1732a364fed/v2ray_simple/main.go:140 +0x45
created by github.com/e1732a364fed/v2ray_simple/netLayer.loopAccept
github.com/e1732a364fed/v2ray_simple/netLayer/listen.go:56 +0x2ca

To Reproduce【如何复现该bug】

Expected behavior【预期的行为】

Envs (please complete the following information):【系统环境】

verysimple v1.2.3-beta.1, go1.18.1 linux amd64, with advLayer packages: [grpcSimple quic ws]

Config file 【配置文件,客户端服务端配置都提供】
[[listen]]
protocol = "socks5http"
host = "127.0.0.1"
port = 9089
sniffing.enabled = true

Debug Log 【Debug日志, 客户端 和 服务端 的 日志 都提供】

Other 【其他】

【注意,配置文件和客户端服务端配置 太长的话,前后加上三个 ```】

@ctermiii ctermiii added the bug Something isn't working label May 16, 2022
@e1732a364fed
Copy link
Owner

可能是我又犯愚蠢错误了,感谢指出,马上研究

@e1732a364fed
Copy link
Owner

明白了!最新版 支持 http和 socks5 的多用户时,又仅考虑了多用户的情况,忘记考虑没密码没用户的情况了。

马上修复。。。

@e1732a364fed
Copy link
Owner

ok 最新代码搞定了

@e1732a364fed e1732a364fed changed the title [Bug] [Bug]1.2.3-beta.1 在用 sockshttp 时会闪退 May 16, 2022
@ctermiii
Copy link
Author

已编译测试,socks5http 已没问题。

另:目前protocol单独设为socks5或者 http,均无法正常监听 :
2022-05-16 10:41:52.808 ERROR can not create local server: {"error": "invalid data"}

@e1732a364fed
Copy link
Owner

e1732a364fed commented May 16, 2022

已编译测试,socks5http 已没问题。

另:目前protocol单独设为socks5或者 http,均无法正常监听 : 2022-05-16 10:41:52.808 ERROR can not create local server: {"error": "invalid data"}

啊?又出错??不能吧.

我现在测试 示例配置文件没问题啊,比如 vlesss.client.toml 和 vlesss.server.toml

你这个报错应该是 配置文件格式写错了吧

@ctermiii
Copy link
Author

另外 tpoxy好像报错:
2022-05-16 11:37:55.841 INFO Start running Tproxy
2022-05-16 11:37:56.145 INFO TProxy loop read got new tcp {"->": "1.1.1.1:443"}
2022-05-16 11:37:56.146 INFO TProxy loop read got new tcp {"->": "8.8.4.4:443"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xd0 pc=0x9d440e]

goroutine 35 [running]:
github.com/e1732a364fed/v2ray_simple.passToOutClient({0x0, {0x0, 0x0}, {0xc82e80, 0xc00142e000}, {0x0, 0x0}, {0xc85560, 0xc0001ba200}, {0x0, ...}, ...}, ...)
/usr/src/v2ray_simple/main.go:724 +0x136e
github.com/e1732a364fed/v2ray_simple.startLoopTCP.func1({0xc82e80?, 0xc00142e000})
/usr/src/v2ray_simple/tproxy_linux.go:50 +0x32a
created by github.com/e1732a364fed/v2ray_simple/netLayer.loopAccept
/usr/src/v2ray_simple/netLayer/listen.go:63 +0x2cd

@e1732a364fed
Copy link
Owner

e1732a364fed commented May 16, 2022

另外 tpoxy好像报错: 2022-05-16 11:37:55.841 INFO Start running Tproxy 2022-05-16 11:37:56.145 INFO TProxy loop read got new tcp {"->": "1.1.1.1:443"} 2022-05-16 11:37:56.146 INFO TProxy loop read got new tcp {"->": "8.8.4.4:443"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0xd0 pc=0x9d440e]

goroutine 35 [running]: github.com/e1732a364fed/v2ray_simple.passToOutClient({0x0, {0x0, 0x0}, {0xc82e80, 0xc00142e000}, {0x0, 0x0}, {0xc85560, 0xc0001ba200}, {0x0, ...}, ...}, ...) /usr/src/v2ray_simple/main.go:724 +0x136e github.com/e1732a364fed/v2ray_simple.startLoopTCP.func1({0xc82e80?, 0xc00142e000}) /usr/src/v2ray_simple/tproxy_linux.go:50 +0x32a created by github.com/e1732a364fed/v2ray_simple/netLayer.loopAccept /usr/src/v2ray_simple/netLayer/listen.go:63 +0x2cd

啊,这又是一个新bug, 应该是1.2.2就有的,添加 sniffing时又忘了空指针问题。马上修。

我总是犯这个错误,这可如何是好。。。

@ctermiii
Copy link
Author

另外 tpoxy好像报错: 2022-05-16 11:37:55.841 INFO Start running Tproxy 2022-05-16 11:37:56.145 INFO TProxy loop read got new tcp {"->": "1.1.1.1:443"} 2022-05-16 11:37:56.146 INFO TProxy loop read got new tcp {"->": "8.8.4.4:443"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0xd0 pc=0x9d440e]
goroutine 35 [running]: github.com/e1732a364fed/v2ray_simple.passToOutClient({0x0, {0x0, 0x0}, {0xc82e80, 0xc00142e000}, {0x0, 0x0}, {0xc85560, 0xc0001ba200}, {0x0, ...}, ...}, ...) /usr/src/v2ray_simple/main.go:724 +0x136e github.com/e1732a364fed/v2ray_simple.startLoopTCP.func1({0xc82e80?, 0xc00142e000}) /usr/src/v2ray_simple/tproxy_linux.go:50 +0x32a created by github.com/e1732a364fed/v2ray_simple/netLayer.loopAccept /usr/src/v2ray_simple/netLayer/listen.go:63 +0x2cd

啊,这又是一个新bug, 应该是1.2.2就有的,添加 sniffing时又忘了空指针问题。马上修。

我总是犯这个错误,这可如何是好。。。

辛苦了,这么活跃 不用我都不好意思了。

@e1732a364fed
Copy link
Owner

另外 tpoxy好像报错: 2022-05-16 11:37:55.841 INFO Start running Tproxy 2022-05-16 11:37:56.145 INFO TProxy loop read got new tcp {"->": "1.1.1.1:443"} 2022-05-16 11:37:56.146 INFO TProxy loop read got new tcp {"->": "8.8.4.4:443"} panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0xd0 pc=0x9d440e]
goroutine 35 [running]: github.com/e1732a364fed/v2ray_simple.passToOutClient({0x0, {0x0, 0x0}, {0xc82e80, 0xc00142e000}, {0x0, 0x0}, {0xc85560, 0xc0001ba200}, {0x0, ...}, ...}, ...) /usr/src/v2ray_simple/main.go:724 +0x136e github.com/e1732a364fed/v2ray_simple.startLoopTCP.func1({0xc82e80?, 0xc00142e000}) /usr/src/v2ray_simple/tproxy_linux.go:50 +0x32a created by github.com/e1732a364fed/v2ray_simple/netLayer.loopAccept /usr/src/v2ray_simple/netLayer/listen.go:63 +0x2cd

啊,这又是一个新bug, 应该是1.2.2就有的,添加 sniffing时又忘了空指针问题。马上修。
我总是犯这个错误,这可如何是好。。。

辛苦了,这么活跃 不用我都不好意思了。

么事。那你那个 invalid data 的问题搞定了吗

@ctermiii
Copy link
Author

我配置成socks5http 可以正常使用 socks代理和http代理。 单独配置为socks5或者http还是不行。。。。。 还在各种测试中。

@e1732a364fed
Copy link
Owner

我配置成socks5http 可以正常使用 socks代理和http代理。 单独配置为socks5或者http还是不行。。。。。 还在各种测试中。

但是我测了示例文件好使啊,你直接用示例在内网测试试试

@e1732a364fed
Copy link
Owner

e1732a364fed commented May 16, 2022

啊,是不是你uuid写错了。你是填了uuid 还是填了 default_uuid?

最新的socks5 代码不让填uuid,否则就要填写正确(格式为 user:xxx\npass:xxx)

@e1732a364fed
Copy link
Owner

e1732a364fed commented May 16, 2022

实锤了,确实如此。

用 multi.client.toml 就可以复现。嗷嗷,看来还是要改一下代码。这个default_uuid 还是不要给socks5 用了。

@ctermiii
Copy link
Author

实锤了,确实如此。

用 multi.client.toml 就可以复现。嗷嗷,看来还是要改一下代码。这个default_uuid 还是不要给socks5 用了。

最新代码 上述问题均已修复。
辛苦了。

@ctermiii
Copy link
Author

ctermiii commented May 16, 2022

实锤了,确实如此。
用 multi.client.toml 就可以复现。嗷嗷,看来还是要改一下代码。这个default_uuid 还是不要给socks5 用了。

最新代码 上述问题均已修复。 辛苦了。

目前用ctrl+c 关闭程序时,2022-05-16 14:36:07.636 INFO Program got close signal.
好像要等很久都无法关闭 。linux下。

@ctermiii
Copy link
Author

ctermiii commented May 16, 2022

实锤了,确实如此。
用 multi.client.toml 就可以复现。嗷嗷,看来还是要改一下代码。这个default_uuid 还是不要给socks5 用了。

最新代码 上述问题均已修复。 辛苦了。

http代理 sniffing正常;tproxy不支持sniffing?

@e1732a364fed
Copy link
Owner

实锤了,确实如此。
用 multi.client.toml 就可以复现。嗷嗷,看来还是要改一下代码。这个default_uuid 还是不要给socks5 用了。

最新代码 上述问题均已修复。 辛苦了。

http代理 sniffing正常;tproxy不支持sniffing?

tproxy 理论上应该支持的,但是目前tproxy的代码稍微特殊,导致没有支持上,需要特殊设计一下。

@e1732a364fed
Copy link
Owner

实锤了,确实如此。
用 multi.client.toml 就可以复现。嗷嗷,看来还是要改一下代码。这个default_uuid 还是不要给socks5 用了。

最新代码 上述问题均已修复。 辛苦了。

目前用ctrl+c 关闭程序时,2022-05-16 14:36:07.636 INFO Program got close signal. 好像要等很久都无法关闭 。linux下。

什么配置呢,是tproxy吗。我研究一下

e1732a364fed added a commit that referenced this issue May 16, 2022
关联 #98 中 下面的评论中 ctermiii 所反映的两个问题
@e1732a364fed
Copy link
Owner

好了,最新代码 解决的 你报告的最新的两个问题。

@ctermiii
Copy link
Author

已测试ok,已全面切换到vs 。

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

No branches or pull requests

2 participants