amitbet / vncproxy

An RFB proxy, written in go that can save and replay FBS files
Other
206 stars 45 forks source link

Issue/ Usage Question with Player #12

Closed jcornwell-river closed 5 years ago

jcornwell-river commented 5 years ago

Hello Amitbet,

I am new to vncproxy and go. Hoping you can help with an issue I am having.

I ran the recorder

[root@localhost recordings]# recorder -recFile=./recordingj4.rbs -targHost=192.168.0.123 -targPort=5900 -targPass=123456

Cntrl-C to stop it. (was this right?) ^C

Then I ran the player

[root@localhost recordings]# player -fbsFile=./recordingj4.rbs -tcpPort=5905

It runs until a viewer connects. It shows the first frame to the viewer then crashes.

Log level set to: info


This is a toy server that replays a single FBS file to all clients


[Info ] running tcp listener on port: 5905 panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x5242bb]

goroutine 35 [running]: github.com/amitbet/vncproxy/common.(MultiListener).AddListener(...) /root/src/github.com/amitbet/vncproxy/common/multi-listener.go:8 github.com/amitbet/vncproxy/client.(MsgServerCutText).CopyTo(0xc000096cf0, 0x742ec0, 0xc0000bca00, 0x742f00, 0xc00012e000, 0x7f36e9a62000, 0xc0000bca00, 0x0, 0xc00028b0f8) /root/src/github.com/amitbet/vncproxy/client/server-messages.go:254 +0xbb github.com/amitbet/vncproxy/player.(FBSPlayListener).sendFbsMessage(0xc00009af00) /root/src/github.com/amitbet/vncproxy/player/fbs-play-listener.go:104 +0x390 github.com/amitbet/vncproxy/player.(FBSPlayListener).Consume(0xc00009af00, 0xc0002bb6c0, 0x40d7c8, 0x40) /root/src/github.com/amitbet/vncproxy/player/fbs-play-listener.go:74 +0x114 github.com/amitbet/vncproxy/common.(MultiListener).Consume(0xc0000b6380, 0xc0002bb6c0, 0xc0000efe00, 0x2) /root/src/github.com/amitbet/vncproxy/common/multi-listener.go:14 +0x6f github.com/amitbet/vncproxy/server.(ServerConn).handle(0xc00012e000, 0x0, 0x0) /root/src/github.com/amitbet/vncproxy/server/server-conn.go:210 +0x57d github.com/amitbet/vncproxy/server.attachNewServerConn(0x7f36e9c0b0f8, 0xc0000a2038, 0xc00012a000, 0x6fa084, 0xc, 0x0, 0xc0000f3dd0) /root/src/github.com/amitbet/vncproxy/server/server.go:116 +0x27e created by github.com/amitbet/vncproxy/server.TcpServe /root/src/github.com/amitbet/vncproxy/server/server.go:69 +0x125

Any ideas?

jcornwell-river commented 5 years ago

seems like the issue was with the recording. I was recording a window RDS server session. When I record a regular PC it appears to be working fine.

amitbet commented 5 years ago

Hi Jcornwell,

Actually, most of my testing was done with a RDP session, it's worth noting that the session has to be active in order for it to work, closing or minimizing the client can impact the way VNC works on that session since it may prevent the session's desktop from rendering. Regards, Amit.