[GH-ISSUE #776] 0.19.0 invalid memory address or nil pointer dereference #606

Closed
opened 2026-05-05 12:23:32 -06:00 by gitea-mirror · 7 comments
Owner

Originally created by @justwezzz on GitHub (May 17, 2018).
Original GitHub issue: https://github.com/fatedier/frp/issues/776

Issue is only used for submiting bug report and documents typo. If there are same issues or answers can be found in documents, we will close it directly.
(为了节约时间,提高处理问题的效率,不按照格式填写的 issue 将会直接关闭。)

Use the commands below to provide key information from your environment:
You do NOT have to include this information if this is a FEATURE REQUEST

What version of frp are you using (./frpc -v or ./frps -v)?
0.19.0

What operating system and processor architecture are you using (go env)?
client:
win10x64 1803

server:
aliyun win server 2016x64 1607

Configures you used:
client:
[common]
server_addr = x.x.x
server_port = 7000

[web]
type = http
local_port = 81
custom_domains = x.x.x

server:
[common]
bind_port = 7000
vhost_http_port = 8080

Steps to reproduce the issue:
1.open server
2.open client
3.show error

Describe the results you received:
client error:
2018/05/17 17:59:33 [I] [control.go:246] [3ece580083712f6c] login to server success, get run id [3ece580083712f6c], server udp port [0]
2018/05/17 17:59:33 [I] [control.go:308] [3ece580083712f6c] control writer is closing
2018/05/17 17:59:33 [E] [control.go:152] [3ece580083712f6c] work connection closed, EOF
2018/05/17 17:59:33 [I] [control.go:407] [3ece580083712f6c] try to reconnect to server...

server error:
2018/05/17 17:59:32 [I] [control.go:220] [3ece580083712f6c] control writer is closing
2018/05/17 17:59:32 [I] [control.go:292] [3ece580083712f6c] client exit success
2018/05/17 17:59:32 [I] [service.go:299] client login info: ip [27.18.96.54:24833] version [0.19.0] hostname [] os [windows] arch [amd64]
2018/05/17 17:59:32 [I] [control.go:196] [3ece580083712f6c] Replaced by client [3ece580083712f6c]
2018/05/17 17:59:32 [E] [control.go:300] [3ece580083712f6c] panic error: runtime error: invalid memory address or nil pointer dereference
2018/05/17 17:59:32 [E] [control.go:301] [3ece580083712f6c] goroutine 147 [running]:
runtime/debug.Stack(0xc042273e60, 0x89cc4e, 0xf)
/home/wcl/.gvm/gos/go1.10.2/src/runtime/debug/stack.go:24 +0xae
github.com/fatedier/frp/server.(*Control).manager.func1(0xc0429fe180)
/home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:301 +0xd9
panic(0x81a240, 0xb7fc90)
/home/wcl/.gvm/gos/go1.10.2/src/runtime/panic.go:502 +0x237
github.com/fatedier/frp/utils/vhost.(*HttpReverseProxy).Register(0x0, 0xc0422b68e0, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/wcl/go_projects/src/github.com/fatedier/frp/utils/vhost/newhttp.go:96 +0x84
github.com/fatedier/frp/server.(*HttpProxy).Run(0xc042097100, 0x95ed80, 0xc042055e10, 0x960940, 0xc042097100)
/home/wcl/go_projects/src/github.com/fatedier/frp/server/proxy.go:243 +0x2e5
github.com/fatedier/frp/server.(*Control).RegisterProxy(0xc0429fe180, 0xc04227fb80, 0x0, 0x0, 0x0, 0x0)
/home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:386 +0xe6
github.com/fatedier/frp/server.(*Control).manager(0xc0429fe180)
/home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:326 +0x45e
created by github.com/fatedier/frp/server.(*Control).Start
/home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:120 +0x1c1

Describe the results you expected:
6

Additional information you deem important (e.g. issue happens only occasionally):
6

Can you point out what caused this issue (optional)
6

Originally created by @justwezzz on GitHub (May 17, 2018). Original GitHub issue: https://github.com/fatedier/frp/issues/776 Issue is only used for submiting bug report and documents typo. If there are same issues or answers can be found in documents, we will close it directly. (为了节约时间,提高处理问题的效率,不按照格式填写的 issue 将会直接关闭。) Use the commands below to provide key information from your environment: You do NOT have to include this information if this is a FEATURE REQUEST **What version of frp are you using (./frpc -v or ./frps -v)?** 0.19.0 **What operating system and processor architecture are you using (`go env`)?** client: win10x64 1803 server: aliyun win server 2016x64 1607 **Configures you used:** client: [common] server_addr = x.x.x server_port = 7000 [web] type = http local_port = 81 custom_domains = x.x.x server: [common] bind_port = 7000 vhost_http_port = 8080 **Steps to reproduce the issue:** 1.open server 2.open client 3.show error **Describe the results you received:** client error: 2018/05/17 17:59:33 [I] [control.go:246] [3ece580083712f6c] login to server success, get run id [3ece580083712f6c], server udp port [0] 2018/05/17 17:59:33 [I] [control.go:308] [3ece580083712f6c] control writer is closing 2018/05/17 17:59:33 [E] [control.go:152] [3ece580083712f6c] work connection closed, EOF 2018/05/17 17:59:33 [I] [control.go:407] [3ece580083712f6c] try to reconnect to server... server error: 2018/05/17 17:59:32 [I] [control.go:220] [3ece580083712f6c] control writer is closing 2018/05/17 17:59:32 [I] [control.go:292] [3ece580083712f6c] client exit success 2018/05/17 17:59:32 [I] [service.go:299] client login info: ip [27.18.96.54:24833] version [0.19.0] hostname [] os [windows] arch [amd64] 2018/05/17 17:59:32 [I] [control.go:196] [3ece580083712f6c] Replaced by client [3ece580083712f6c] 2018/05/17 17:59:32 [E] [control.go:300] [3ece580083712f6c] panic error: runtime error: invalid memory address or nil pointer dereference 2018/05/17 17:59:32 [E] [control.go:301] [3ece580083712f6c] goroutine 147 [running]: runtime/debug.Stack(0xc042273e60, 0x89cc4e, 0xf) /home/wcl/.gvm/gos/go1.10.2/src/runtime/debug/stack.go:24 +0xae github.com/fatedier/frp/server.(*Control).manager.func1(0xc0429fe180) /home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:301 +0xd9 panic(0x81a240, 0xb7fc90) /home/wcl/.gvm/gos/go1.10.2/src/runtime/panic.go:502 +0x237 github.com/fatedier/frp/utils/vhost.(*HttpReverseProxy).Register(0x0, 0xc0422b68e0, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /home/wcl/go_projects/src/github.com/fatedier/frp/utils/vhost/newhttp.go:96 +0x84 github.com/fatedier/frp/server.(*HttpProxy).Run(0xc042097100, 0x95ed80, 0xc042055e10, 0x960940, 0xc042097100) /home/wcl/go_projects/src/github.com/fatedier/frp/server/proxy.go:243 +0x2e5 github.com/fatedier/frp/server.(*Control).RegisterProxy(0xc0429fe180, 0xc04227fb80, 0x0, 0x0, 0x0, 0x0) /home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:386 +0xe6 github.com/fatedier/frp/server.(*Control).manager(0xc0429fe180) /home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:326 +0x45e created by github.com/fatedier/frp/server.(*Control).Start /home/wcl/go_projects/src/github.com/fatedier/frp/server/control.go:120 +0x1c1 **Describe the results you expected:** 6 **Additional information you deem important (e.g. issue happens only occasionally):** 6 **Can you point out what caused this issue (optional)** 6
gitea-mirror 2026-05-05 12:23:32 -06:00
Author
Owner

@fatedier commented on GitHub (May 17, 2018):

client 端的日志有更详细的吗?最好是程序开始运行开始的日志。

<!-- gh-comment-id:389899286 --> @fatedier commented on GitHub (May 17, 2018): client 端的日志有更详细的吗?最好是程序开始运行开始的日志。
Author
Owner

@fatedier commented on GitHub (May 17, 2018):

vhost_http_port = 8080 这个参数确认配置正确吗?
frps 启动日志里有绑定 http service 的日志吗?

<!-- gh-comment-id:389924412 --> @fatedier commented on GitHub (May 17, 2018): `vhost_http_port = 8080` 这个参数确认配置正确吗? frps 启动日志里有绑定 http service 的日志吗?
Author
Owner

@fatedier commented on GitHub (May 17, 2018):

我发现 vhost_http_port 不配置,或者配置出错时会有这种情况,已修复。
使用你给的配置,我本地无法复现你的问题,需要确认下是否和我说的情况是一致的。

<!-- gh-comment-id:389926368 --> @fatedier commented on GitHub (May 17, 2018): 我发现 `vhost_http_port` 不配置,或者配置出错时会有这种情况,已修复。 使用你给的配置,我本地无法复现你的问题,需要确认下是否和我说的情况是一致的。
Author
Owner

@justwezzz commented on GitHub (May 21, 2018):

vhost_http_port = 8080 确认正确,因为我把配置文件copy到老版本里,一切正常。

frps启动时的日志如下:
λ frps
2018/05/21 10:30:30 [I] [service.go:122] frps tcp listen on 0.0.0.0:7000
2018/05/21 10:30:30 [I] [root.go:190] Start frps success

好像没看见绑定 http service 的日志

<!-- gh-comment-id:390536996 --> @justwezzz commented on GitHub (May 21, 2018): vhost_http_port = 8080 确认正确,因为我把配置文件copy到老版本里,一切正常。 frps启动时的日志如下: λ frps 2018/05/21 10:30:30 [I] [service.go:122] frps tcp listen on 0.0.0.0:7000 2018/05/21 10:30:30 [I] [root.go:190] Start frps success 好像没看见绑定 http service 的日志
Author
Owner

@fatedier commented on GitHub (May 21, 2018):

用你的配置文件启动后日志应该是:

2018/05/21 10:54:28 [I] [service.go:122] frps tcp listen on 0.0.0.0:7000
2018/05/21 10:54:28 [I] [service.go:155] http service listen on 0.0.0.0:8080
2018/05/21 10:54:28 [I] [root.go:190] Start frps success

你的日志看起来就是 vhost_http_port 没有配置正确,确认下文件格式,有没有异常字符之类的。

<!-- gh-comment-id:390540020 --> @fatedier commented on GitHub (May 21, 2018): 用你的配置文件启动后日志应该是: ``` 2018/05/21 10:54:28 [I] [service.go:122] frps tcp listen on 0.0.0.0:7000 2018/05/21 10:54:28 [I] [service.go:155] http service listen on 0.0.0.0:8080 2018/05/21 10:54:28 [I] [root.go:190] Start frps success ``` 你的日志看起来就是 `vhost_http_port` 没有配置正确,确认下文件格式,有没有异常字符之类的。
Author
Owner

@fatedier commented on GitHub (May 21, 2018):

另外,新版中不再指定 ./frps.ini 为默认配置文件,因为 frps 支持不使用配置文件启动,所以如果需要使用配置文件,需要明确使用 -c ./frps.ini 参数指定。

<!-- gh-comment-id:390542275 --> @fatedier commented on GitHub (May 21, 2018): 另外,新版中不再指定 `./frps.ini` 为默认配置文件,因为 frps 支持不使用配置文件启动,所以如果需要使用配置文件,需要明确使用 `-c ./frps.ini` 参数指定。
Author
Owner

@justwezzz commented on GitHub (May 21, 2018):

指定了-c ./frps.ini 参数后正常了,谢谢😀

<!-- gh-comment-id:390549493 --> @justwezzz commented on GitHub (May 21, 2018): 指定了-c ./frps.ini 参数后正常了,谢谢😀
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#606
No description provided.