leighmcculloch / docker-unison

A docker data container using Unison for fast folder sync. An alternative to slow boot2docker volumes on OS X.
GNU General Public License v3.0
167 stars 26 forks source link

Fatal error: Lost connection with the server #2

Closed brikis98 closed 8 years ago

brikis98 commented 9 years ago

I just tried this out and while the initial file sync using unison seems to work, at some point, subsequent ones start to fail due to a lost connection with the server error:

Contacting server...
Looking for changes
  Waiting for changes from server                                       
Reconciling changes
         <---- new dir    .sass-cache/73518faaa7ed96cd1457d21e3debf149fba1a055  
changed  ---->            _drafts/foo.md  
Propagating updates
UNISON 2.48.3 started propagating changes at 18:36:37.74 on 06 May 2015
[BGN] Copying .sass-cache/73518faaa7ed96cd1457d21e3debf149fba1a055 from //fb6abd0fdb11//unison to /Users/brikis98/foo
[BGN] Updating file _drafts/foo.md from /Users/brikis98/foo to //fb6abd0fdb11//unison
Fatal error: Lost connection with the server
  4%  00:00 ETAbrikis98-pro:foo

Any idea what's causing that? The container still seems to be running:

brikis98-pro:foo brikis98$ docker ps -a
CONTAINER ID        IMAGE                                   COMMAND             CREATED             STATUS                        PORTS                    NAMES
fb6abd0fdb11        leighmcculloch/unison:latest            "/sbin/my_init"     27 minutes ago      Up 27 minutes                 0.0.0.0:5000->5000/tcp   unison-container    
leighmcculloch commented 9 years ago

I've also seen some similar errors, and I think it's related to the unison being unable to write to the file.

emirkin commented 9 years ago

Perhaps, unrelated, but could this be the issue?

http://stackoverflow.com/questions/4729315/what-is-the-max-size-of-af-unix-datagram-message-that-can-be-sent-in-linux

leroix commented 9 years ago

This seems to happen to me fairly often. I exported the container and inspected the log:

server started
Unison failed: Uncaught exception Failure("input_value: bad bigarray kind")
Raised by primitive operation at file "/tmp/unison/unison-2.48.3/remote.ml", line 453, characters 18-45
Called from file "/tmp/unison/unison-2.48.3/remote.ml", line 459, characters 23-61
Called from file "/tmp/unison/unison-2.48.3/lwt/lwt.ml", line 75, characters 20-23
Re-raised at file "/tmp/unison/unison-2.48.3/lwt/lwt.ml", line 135, characters 12-13
Called from file "list.ml", line 73, characters 12-15
Called from file "/tmp/unison/unison-2.48.3/lwt/lwt.ml", line 31, characters 2-37
Called from file "/tmp/unison/unison-2.48.3/lwt/lwt.ml", line 83, characters 17-46
Called from file "/tmp/unison/unison-2.48.3/lwt/generic/lwt_unix_impl.ml", line 147, characters 6-40
Called from file "/tmp/unison/unison-2.48.3/remote.ml", line 1460, characters 11-57
Called from file "/tmp/unison/unison-2.48.3/ubase/util.ml", line 170, characters 6-9
Called from file "/tmp/unison/unison-2.48.3/main.ml", line 131, characters 4-9

server started

Seems to be related to: http://www.spotwise.com/2015/01/06/broken-unison-brew-on-yosemite/

TLDR; brew uses ocaml 4.02 while the ubuntu package manager provides 4.01. The error is caused by these mismatched versions.