The mastax post worked for me too, I guess this is a relatively new problem. Long version, in case it helps people Google this thread:
I had a stock plugin jail with CrashPlan 3.6.3 installed, if I installed the 3.6.3 *client* on my laptop all was fine (on Fedora here, Linux 3.6.3 client is available still from Code42 but I won't link - it's worthless, because...) but I discovered CrashPlan quite deliberately updates the client and *then* the server - so you install an older client, next time you restart it updates itself to 4.5.2 and you get the disconnection errors talked about at the start of the thread. (In fact, you don't get that far unless you edit .ui_info and remove the IP address 4.5.2 added to it that 3.6.3 doesn't know how to handle.) So the client cannot connect to kickstart the update of 3.6.3 on the FreeNAS and you're stuck. You can downgrade your client again and carry on, but next time you restart the client the same thing will happen all over. PITA!
Nothing in the FreeNAS logs, slight clue in ui_output.log indicating some kind of incompatibility in the handshake but the server doesn't detect a problem - just a client that doesn't stick around. Weirdly though, double-click the CrashPlan logo on the login screen with 4.5.2 connecting to a 3.6.3 server and the command line version actually works! You can get 3.6.3 to give you back version details, restart, etc. etc. It just falls over as soon as you login. Actual log errors (again, for Google):
Code:
[01.17.16 18:38:54.818 WARN MQ-UI-0 .messaging.nio.MessageConnection] Error building message: Unable to deserialize TargetComputerUsagesMessage, invalid stream header: 1F8B0800, TargetComputerUsagesMessage[725286975080986698]
[01.17.16 18:38:54.821 ERROR MQ-UI-0 ode42.messaging.nio.MessageQueue] Caught exception handling message(s)! Closing session=Session[id=725286975080986698, closed=false, isAcceptor=false, remoteIdentity=ENDPOINT, completedAuth=false, lat=2016-01-17T18:38:54:497, lrt=2016-01-17T18:38:54:497, lwt=2016-01-17T18:38:53:408, #pending=4, enqueued=false, local=192.168.0.33:40680, remote=192.168.0.8:4243, usingProtoHeaders=false, usingEncryptedHeaders=false, LAN], MessageWorker[MQ-UI-0, handling = true, handlingStartTime = 1453052334496, waitingStartTime = 1453052329898, handlingTime = 11, waitingTime = 9993, totalNumMessages = 3, numMessagesSinceLast = 3], com.code42.exception.DebugException: Caught exception handling message(s)! Closing session=Session[id=725286975080986698, closed=false, isAcceptor=false, remoteIdentity=ENDPOINT, completedAuth=false, lat=2016-01-17T18:38:54:497, lrt=2016-01-17T18:38:54:497, lwt=2016-01-17T18:38:53:408, #pending=4, enqueued=false, local=192.168.0.33:40680, remote=192.168.0.8:4243, usingProtoHeaders=false, usingEncryptedHeaders=false, LAN], MessageWorker[MQ-UI-0, handling = true, handlingStartTime = 1453052334496, waitingStartTime = 1453052329898, handlingTime = 11, waitingTime = 9993, totalNumMessages = 3, numMessagesSinceLast = 3], 7177, Session[ sessionId=725286975080986698, isDirect=false, remoteIdentity=ENDPOINT], java.nio.HeapByteBuffer[pos=0 lim=599 cap=599], MessageHeader [messageId=7177 length=599 options=0000 nonce=00000000 MAC=00000000 payloadEncrypted=false compressed=false useMac=false useNonce=false headerEncrypted=false]
STACKTRACE:: com.code42.exception.DebugException: Caught exception handling message(s)! Closing session=Session[id=725286975080986698, closed=false, isAcceptor=false, remoteIdentity=ENDPOINT, completedAuth=false, lat=2016-01-17T18:38:54:497, lrt=2016-01-17T18:38:54:497, lwt=2016-01-17T18:38:53:408, #pending=4, enqueued=false, local=192.168.0.33:40680, remote=192.168.0.8:4243, usingProtoHeaders=false, usingEncryptedHeaders=false, LAN], MessageWorker[MQ-UI-0, handling = true, handlingStartTime = 1453052334496, waitingStartTime = 1453052329898, handlingTime = 11, waitingTime = 9993, totalNumMessages = 3, numMessagesSinceLast = 3], 7177, Session[ sessionId=725286975080986698, isDirect=false, remoteIdentity=ENDPOINT], java.nio.HeapByteBuffer[pos=0 lim=599 cap=599], MessageHeader [messageId=7177 length=599 options=0000 nonce=00000000 MAC=00000000 payloadEncrypted=false compressed=false useMac=false useNonce=false headerEncrypted=false]
Smoking gun in there, I believe, is "Unable to deserialize TargetComputerUsagesMessage", hence my comments about some handshake problem.
Anyway, long story short is the 4.5.x client simply *cannot* update the 3.6.3 server, but mastax's instructions above work fine. The only additional thing I did was copy the encryption key in .ui_info on the FreeNAS back to the client so they match, and set the IP in the same file to 192.168.0.8 (the IP of the FreeNAS on my LAN, of course).
You'll note I'm not doing all that SSH tunnelling malarkey. There's no need to, just set the IP address of the server machine in .ui_info and ui.properties on the client machine and your local client will connect on the usual ports.