← Back to team overview

ocaml-maint team mailing list archive

[Bug 1868502] Re: Synchronization with earlier Ubuntu versions or a recent Debian version fails

 

I tried to narrow down the problem by re-building unison with OCamL 4.05
on my Focal (20.04) client (no ocaml deb package installed):

- Downloaded OCamL 4.05.0, ran make and make install
$ which ocamlopt
/usr/local/bin/ocamlopt
$ ocamlopt -v
The OCaml native-code compiler, version 4.05.0
Standard library directory: /usr/local/lib/ocaml

- Downloaded sources of unison 2.48.4, ran make ('make world' or 'make world opt' didn't seem to make any difference)
$ ls -l ./src/unison
-rwxr-xr-x 1 meinhard v5 5038200 May 20 14:50 ./src/unison
$ file ./src/unison
./src/unison: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cddb0691b6b9721087be3f2f6f4f2397f57f4171, for GNU/Linux 3.2.0, with debug_info, not stripped
$ ldd ./src/unison
	linux-vdso.so.1 (0x00007ffda03f4000)
	libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f97aa540000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f97aa3f1000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f97aa3eb000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f97aa1f9000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f97aa8b8000)
$ ./src/unison -version
unison version 2.48.4

Yet no luck when syncing to my Bionic server, even though the error message is very different:
$ ./src/unison <target>
[...]
Looking for changes
Uncaught exception Failure("input_value: ill-formed message")
Raised at file "/data01/meinhard/Scratch/Software/Unison/unison-2.48.4/src/lwt/lwt.ml", line 126, characters 16-23
Called from file "/data01/meinhard/Scratch/Software/Unison/unison-2.48.4/src/lwt/generic/lwt_unix_impl.ml", line 102, characters 8-23
Called from file "/data01/meinhard/Scratch/Software/Unison/unison-2.48.4/src/update.ml" (inlined), line 2096, characters 2-69
Called from file "/data01/meinhard/Scratch/Software/Unison/unison-2.48.4/src/uitext.ml", line 700, characters 16-56
Called from file "/data01/meinhard/Scratch/Software/Unison/unison-2.48.4/src/uitext.ml", line 788, characters 6-90
Called from file "/data01/meinhard/Scratch/Software/Unison/unison-2.48.4/src/uitext.ml", line 810, characters 19-66
Called from file "/data01/meinhard/Scratch/Software/Unison/unison-2.48.4/src/uitext.ml", line 870, characters 21-43

Not having any clue about OCamL, I don't know what causes this error -
the source file lwt.ml doesn't look suspicious in any way at the
incriminated line.

Any help I can further provide to understand and fix the problem, please
let me know. (For the moment I'll keep OCamL 4.05 and unison 2.48-4
sources around...)

-- 
You received this bug notification because you are a member of Debian
OCaml Maintainers, which is subscribed to unison in Ubuntu.
https://bugs.launchpad.net/bugs/1868502

Title:
  Synchronization with earlier Ubuntu versions or a recent Debian
  version fails

Status in unison package in Ubuntu:
  Confirmed

Bug description:
  Any synchronization I want to do with my server (Debian buster) fails
  with the following message:

  > Fatal error: Server: Fatal error during unmarshaling (input_value: ill-formed message),
  > possibly because client and server have been compiled with differentversions of the OCaml compiler.

  Indeed, buster uses OCaml 4.05.0, focal uses 4.08.1. eoan used 4.05.0,
  as did the prior versions, including bionic, which all still
  synchronize fine. The current Windows version also synchronizes with
  that version.

  Although intentionally using an old software version for compatibility
  is not a good thing, in this case it might be necessary. The whole
  point of unison is its interoperability.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unison/+bug/1868502/+subscriptions


References