I’ve installed and configured a tentacle on some machines.
After installing the tentacle I am able to access https://localhost:10934 and see octopus is running from that same machine. But when I first try to associate the tentacle with the server, I get the following error:
Unexpected character encountered while parsing value: S. Path ‘’, line 0, position 0.
After that the tentacle no longer responds, even to https://localhost:10934 requests on the same machine. Only restarting the tentacle will help.
Can anyone give me an indication of what the error indicates?
Hi Jake,
Thanks for getting in touch!
When you say you can browse to https://localhost:10934 and see octopus running, could you please clarify this for us and maybe send some screenshots.
Thanks!
Vanessa
I’m sorry for the confusion. I’ll try to be more specific.
I have created a new machine, then installed the tentacle software on it and configured it to listen on port 10934. I can RDP into that machine, open a browser, and enter https://localhost:10934 into the URL bar and I can see that Octopus is running – it displays the following text:
@@@
Octopus Tentacle configured successfully
If you can view this page, your Octopus Tentacle is configured and ready to accept deployment commands.
This landing page is displayed when no X509 certificate is provided. Only Octopus Servers with a trusted certificate can control this tentacle.
@@@
After that I go to my Octopus server and attempt to add the new tentacle to an environment. On the “Discover machine” screen in the octopus server I enter mynewmachine.mydomain.com for the hostname and 10934 as the port, then clicked “Discover”. After a few seconds, an error message is displayed Unexpected character encountered while parsing value: S. Path '', line 0, position 0.
.
Now if I RDP to the tentacle, launch a browser, and try to go to https://localhost:10934 it no longer responds, indicating to me that the tentacle service has probably crashed in some way. I must restart the tentacle service before it responds locally again.
I hope this explains my problem in more detail. If there are specific screenshots that might help let me know and I will attempt to provide them.
Hi Jake,
Thanks for the reply!
Can you start the Tentacle again, and browse to it from the Octopus server in a web browser via https://mynewmachine.mydomain.com:10934? What happens if you do that?
Paul
Yes Paul. I am able to view the tentacle page by browsing to https://thenewmachinename.domain.com:10934 in a web browser while RDP’d to the octopus server machine.
Once I’ve tried to associate it though, it stops responding.
I’ve also found the following in the event log on the tentacle machine:
(TWICE)
2014-06-18 12:35:04.5798 ERROR Unhandled error when processing request from client
System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at Pipefish.Transport.SecureTcp.Server.SecureTcpServer.ExecuteRequest(TcpClient client) in c:\TeamCity\buildAgent\work\cf0b1f41263b24b9\source\Pipefish.Transport.SecureTcp\Server\SecureTcpServer.cs:line 109
(THREE TIMES)
2014-06-18 12:35:04.8294 ERROR Invalid request
System.Net.ProtocolViolationException: Request syntax was invalid
at Pipefish.Transport.SecureTcp.ProtocolParser.ReadPrelude(Stream clientStream) in c:\TeamCity\buildAgent\work\cf0b1f41263b24b9\source\Pipefish.Transport.SecureTcp\ProtocolParser.cs:line 112
at Pipefish.Transport.SecureTcp.ProtocolParser.ParseRequest(Stream clientStream, Method& method, Uri& uri, RequestHeaders& headers, String& protocol) in c:\TeamCity\buildAgent\work\cf0b1f41263b24b9\source\Pipefish.Transport.SecureTcp\ProtocolParser.cs:line 53
at Pipefish.Transport.SecureTcp.Server.SecureTcpServer.ApplyProtocol(AuthorizationResult authorizationResult, EndPoint clientEndPoint, String clientThumbprint, Stream clientStream) in c:\TeamCity\buildAgent\work\cf0b1f41263b24b9\source\Pipefish.Transport.SecureTcp\Server\SecureTcpServer.cs:line 138
Hi Jake,
Thanks for the update, I’m not really sure what would be causing this. Is it possible that you connect to the server via a proxy?
Paul
There is no proxy involved.
I believe the error is being caused by file permissions. I am attempting to run the tentacle service under a domain account and believe that is causing some sort of problem. When I run it as a local system service it appears to work fine.
I’ve tabled the issue here temporarily and will run it as a local service until I have more time to make this transition.
Thanks for the follow-up Jake. We have a fledgling list of resources/permissions that a Tentacle will need in order to run under a domain account at: http://docs.octopusdeploy.com/display/OD/Running+Tentacle.exe+under+a+specific+user+account
When you have a chance to look at this again, hopefully the documentation will point you in the right direction, but if not please let us know - there’s always the chance something is missing from the list in which case we’ll be eager to track it down and add it.
Regards,
Nick