Discussion:
[unison-users] Re: Unison failed: Uncaught exception Failure("input_value: bad bigarray kind")
Moviuro moviuro@gmail.com [unison-users]
2015-08-02 12:37:13 UTC
Permalink
Hi all,

I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).

Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.

Help, please
Hi,
this is a known issue, and happens because Unison wasn't compiled against
the same OCaml versions on Linux and Mac OS [1]. The marshaling in OCaml
4.01 and 4.02 uses a different format...
You will have to compile Unison 2.48.3 against the same versions of OCaml
on both OS X and your Linux box.
Hope this helps,
Jonas
https://groups.yahoo.com/neo/groups/unison-users/conversations/topics/11439
--
Moviuro @ PsychoticDelirium
"Our life is the immortals' death."
Adrian Klaver adrian.klaver@aklaver.com [unison-users]
2015-08-02 14:19:18 UTC
Permalink
This post might be inappropriate. Click to display it.
Adrian Klaver adrian.klaver@aklaver.com [unison-users]
2015-08-02 14:48:56 UTC
Permalink
Post by Moviuro ***@gmail.com [unison-users]
Hi all,
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).
Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.
Help, please
Alright now I think I see what you doing. You are running the 'clients'
against a 'server' on an Ubuntu machine where the 'clients' are on OS X,
ArchLinux and FreeBSD, correct?

You compiled the Ubuntu Unison from source, so do you know what OCaml
you used?

Is there more than on version of Unison on either the Ubuntu machine or
on the other machines?
Post by Moviuro ***@gmail.com [unison-users]
--
"Our life is the immortals' death."
--
Adrian Klaver
***@aklaver.com


------------------------------------

------------------------------------


------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/unison-users/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/unison-users/join
(Yahoo! ID required)

<*> To change settings via email:
unison-users-***@yahoogroups.com
unison-users-***@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
unison-users-***@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/
Moviuro moviuro@gmail.com [unison-users]
2015-08-02 21:51:51 UTC
Permalink
Hi again,

Sorry, I answered to this mail because it held the same issue as my setup
(even if it wasn't initiated by me, I just found out).

My clients are Archlinuxes and my servers are FreeBSDs. (No Ubuntu or OSX
involved)
I had them all recompile unison 2.48.3 against Ocaml 4.02.1 and still had the
bigarray issues :-/

I'm not quite comfortable with downgrading ocaml on FreeBSD as I still don't
know much about their packaging system. However, their unison package has a
revision number of "2" and I suspect this reflects the fact that ocaml was
upgraded from 4.01 to 4.02.1 as build dependency.

On every machine, there is only one unison.
The problem really seems to appear at random though, because I had trouble
propagating changes to ~/Documents/setup/ssh/known_hosts but absolutely no
issue with a .git folder...

Perhaps a solution would be to generate an other version number of unison,
given the version of sources and the version of ocaml used to compile (e.g.
Unison 2.48.3-4.02.1 or unison 2.40.102-4.01). This way, there won't be any
more errors (unison would fail and state that the server and client version
are not compatible).

Cheers,
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Hi all,
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).
Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.
Help, please
Alright now I think I see what you doing. You are running the 'clients'
against a 'server' on an Ubuntu machine where the 'clients' are on OS X,
ArchLinux and FreeBSD, correct?
You compiled the Ubuntu Unison from source, so do you know what OCaml
you used?
Is there more than on version of Unison on either the Ubuntu machine or
on the other machines?
Post by Moviuro ***@gmail.com [unison-users]
--
"Our life is the immortals' death."
--
Moviuro @ PsychoticDelirium
"Our life is the immortals' death."
Adrian Klaver adrian.klaver@aklaver.com [unison-users]
2015-08-03 01:55:22 UTC
Permalink
Post by Moviuro ***@gmail.com [unison-users]
Hi again,
Sorry, I answered to this mail because it held the same issue as my setup
(even if it wasn't initiated by me, I just found out).
Aah, the dangers of hijacking a thread:)
Post by Moviuro ***@gmail.com [unison-users]
My clients are Archlinuxes and my servers are FreeBSDs. (No Ubuntu or OSX
involved)
I had them all recompile unison 2.48.3 against Ocaml 4.02.1 and still had the
bigarray issues :-/
So did you start from scratch in all the cases?

In other words rm the source directory and start over. I'm thinking
there may have been configuration/files left over from the builds
against 4.01 that contaminated the 4.02 builds.


Also, what are the architectures of the machines in question?
Post by Moviuro ***@gmail.com [unison-users]
I'm not quite comfortable with downgrading ocaml on FreeBSD as I still don't
know much about their packaging system. However, their unison package has a
revision number of "2" and I suspect this reflects the fact that ocaml was
upgraded from 4.01 to 4.02.1 as build dependency.
I don't think so. From here:

http://www.freebsd.org/cgi/ports.cgi?query=unison&stype=all

it seems that .1 is text only and .2 has the GUI.


Also, did you build Unison on FreeBSD or did you install it via ports?
Post by Moviuro ***@gmail.com [unison-users]
On every machine, there is only one unison.
The problem really seems to appear at random though, because I had trouble
propagating changes to ~/Documents/setup/ssh/known_hosts but absolutely no
issue with a .git folder...
At a guess the code went down different paths in each case and you are
tickling the incompatibility on a path or a subset of the paths.
Post by Moviuro ***@gmail.com [unison-users]
Perhaps a solution would be to generate an other version number of unison,
given the version of sources and the version of ocaml used to compile (e.g.
Unison 2.48.3-4.02.1 or unison 2.40.102-4.01). This way, there won't be any
more errors (unison would fail and state that the server and client version
are not compatible).
If you are talking about the source files I do not see that working. You
can compile them with either 4.01 or 4.02, there is nothing intrinsic to
the source. The point is that the Unison executable's on both sides of
the sync need to compiled with the same version of OCaml.
Post by Moviuro ***@gmail.com [unison-users]
Cheers,
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Hi all,
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).
Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.
Help, please
Alright now I think I see what you doing. You are running the 'clients'
against a 'server' on an Ubuntu machine where the 'clients' are on OS X,
ArchLinux and FreeBSD, correct?
You compiled the Ubuntu Unison from source, so do you know what OCaml
you used?
Is there more than on version of Unison on either the Ubuntu machine or
on the other machines?
Post by Moviuro ***@gmail.com [unison-users]
--
"Our life is the immortals' death."
--
Adrian Klaver
***@aklaver.com


------------------------------------

------------------------------------


------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/unison-users/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/unison-users/join
(Yahoo! ID required)

<*> To change settings via email:
unison-users-***@yahoogroups.com
unison-users-***@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
unison-users-***@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/
Moviuro moviuro@gmail.com [unison-users]
2015-08-03 05:24:31 UTC
Permalink
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Hi again,
Sorry, I answered to this mail because it held the same issue as my setup
(even if it wasn't initiated by me, I just found out).
Aah, the dangers of hijacking a thread:)
Post by Moviuro ***@gmail.com [unison-users]
My clients are Archlinuxes and my servers are FreeBSDs. (No Ubuntu or OSX
involved)
I had them all recompile unison 2.48.3 against Ocaml 4.02.1 and still had
the bigarray issues :-/
So did you start from scratch in all the cases?
In other words rm the source directory and start over. I'm thinking
there may have been configuration/files left over from the builds
against 4.01 that contaminated the 4.02 builds.
Yes, always.
Post by Adrian Klaver ***@aklaver.com [unison-users]
Also, what are the architectures of the machines in question?
x86_64 Linuxes and amd64 FreeBSD
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
I'm not quite comfortable with downgrading ocaml on FreeBSD as I still
don't know much about their packaging system. However, their unison
package has a revision number of "2" and I suspect this reflects the fact
that ocaml was upgraded from 4.01 to 4.02.1 as build dependency.
http://www.freebsd.org/cgi/ports.cgi?query=unison&stype=all
it seems that .1 is text only and .2 has the GUI.
Indeed, that's weird.
However, unison-2.48.3_2 means that one of the deps was updated but not
unison, thus the version number.
Also, unison-nox11 depends on ocaml-4.02.1 as shown on your link.
Post by Adrian Klaver ***@aklaver.com [unison-users]
Also, did you build Unison on FreeBSD or did you install it via ports?
I installed from ports, which is essentially the same.
I built it on Archlinux using their PKGBUILD system
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
On every machine, there is only one unison.
The problem really seems to appear at random though, because I had trouble
propagating changes to ~/Documents/setup/ssh/known_hosts but absolutely no
issue with a .git folder...
At a guess the code went down different paths in each case and you are
tickling the incompatibility on a path or a subset of the paths.
Certainly. i don't have the logs anymore, though.
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Perhaps a solution would be to generate an other version number of unison,
given the version of sources and the version of ocaml used to compile (e.g.
Unison 2.48.3-4.02.1 or unison 2.40.102-4.01). This way, there won't be any
more errors (unison would fail and state that the server and client version
are not compatible).
If you are talking about the source files I do not see that working. You
can compile them with either 4.01 or 4.02, there is nothing intrinsic to
the source. The point is that the Unison executable's on both sides of
the sync need to compiled with the same version of OCaml.
I was talking about compile time: if unison was compiled against ocaml 4.01,
it should output: "unison 2.40.102-4.01" or, if compiled against ocaml 4.02.1,
"unison 2.40.102-4.02.1". This makes it clear which versions are compatible by
requesting an exact match for both versions.
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Cheers,
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Hi all,
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).
Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.
Help, please
Alright now I think I see what you doing. You are running the 'clients'
against a 'server' on an Ubuntu machine where the 'clients' are on OS X,
ArchLinux and FreeBSD, correct?
You compiled the Ubuntu Unison from source, so do you know what OCaml
you used?
Is there more than on version of Unison on either the Ubuntu machine or
on the other machines?
Post by Moviuro ***@gmail.com [unison-users]
--
"Our life is the immortals' death."
--
Moviuro @ Schizophrenia
"Our life is the immortals' death"
Adrian Klaver adrian.klaver@aklaver.com [unison-users]
2015-08-03 14:23:32 UTC
Permalink
Post by Moviuro ***@gmail.com [unison-users]
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Hi again,
I'm not quite comfortable with downgrading ocaml on FreeBSD as I still
don't know much about their packaging system. However, their unison
package has a revision number of "2" and I suspect this reflects the fact
that ocaml was upgraded from 4.01 to 4.02.1 as build dependency.
http://www.freebsd.org/cgi/ports.cgi?query=unison&stype=all
it seems that .1 is text only and .2 has the GUI.
Indeed, that's weird.
However, unison-2.48.3_2 means that one of the deps was updated but not
unison, thus the version number.
Also, unison-nox11 depends on ocaml-4.02.1 as shown on your link.
Not sure the point you are trying to make. You said you did not want to
downgrade because you suspected the OCaml version was different. The
page shows that is not the case for any of the Unison versions, they all
depend on 4.02. The problem I see is that you cannot actually downgrade
the OCaml version via ports, is this what you are saying?
Post by Moviuro ***@gmail.com [unison-users]
Post by Adrian Klaver ***@aklaver.com [unison-users]
Also, did you build Unison on FreeBSD or did you install it via ports?
I installed from ports, which is essentially the same.
I built it on Archlinux using their PKGBUILD system
And the builds essentially work, except when they don't. Building from
the actual source file and building from someone else's packaging are
two different things, especially when it comes to troubleshooting. It is
important to be clear exactly what is being done.

If it where me I would do one of two things:

1) Use the unison 2.40.* versions. That is what I am using on various
machines and I have no issues.

2) If you want to stick with 2.48.* then some testing is in order.
a) First, on both the FreeBSD and ArchLinux machines test Unison
internally. By this I mean try syncing between directories on the same
machine. This verifies whether the Unison builds can work with
themselves and are not fundamentally broken.
b) Second, sync between like machines FreeBSD to FreeBSD, Arch to Arch
to see if is a network issue.
c) Lastly, assuming a and b pass do the the Arch to BSD sync and report
back the exact error message(es) you get.
Post by Moviuro ***@gmail.com [unison-users]
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
On every machine, there is only one unison.
The problem really seems to appear at random though, because I had trouble
propagating changes to ~/Documents/setup/ssh/known_hosts but absolutely no
issue with a .git folder...
At a guess the code went down different paths in each case and you are
tickling the incompatibility on a path or a subset of the paths.
Certainly. i don't have the logs anymore, though.
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
Perhaps a solution would be to generate an other version number of unison,
given the version of sources and the version of ocaml used to compile (e.g.
Unison 2.48.3-4.02.1 or unison 2.40.102-4.01). This way, there won't be any
more errors (unison would fail and state that the server and client version
are not compatible).
Alright, that I can see. Not sure if it can be done, that would be for
one of the developers.
--
Adrian Klaver
***@aklaver.com
Viv Kendon viv@trellick.org [unison-users]
2015-08-02 19:07:38 UTC
Permalink
[Apologies, this didn’t make it onto the list first time because my email address had changed slightly.]

From: Viv Kendon <***@trellick.org>
Subject: Re: [unison-users] Unison failed: Uncaught exception Failure("input_value: bad bigarray kind")
Date: 2 August 2015 14:41:24 BST
Post by Moviuro ***@gmail.com [unison-users]
Hi all,
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).
Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.
Help, please
Hi,
this is a known issue, and happens because Unison wasn't compiled against
the same OCaml versions on Linux and Mac OS [1]. The marshaling in OCaml
4.01 and 4.02 uses a different format...
You will have to compile Unison 2.48.3 against the same versions of OCaml
on both OS X and your Linux box.
Hope this helps,
Jonas
https://groups.yahoo.com/neo/groups/unison-users/conversations/topics/11439

I compiled 2.48.3 against 4.02.1 on all my macs and had various failures (mostly "Segmentation fault: 11", but also some “bad big array” hints in debug output) no matter what I tried. I recompiled using ocaml 4.01.0 throughout and everything is now sweet. Worth a try, downgrade ocaml to 4.01.0 and any related dependencies (your packaging system may take care of dependencies automatically) and recompile 2.48.3 with it. Be sure to actually rebuild rather than reinstall what was built against 4.02.1.

I think the ocaml developers are changing things faster than the unison bug fixers can keep up. Incompatible major versions are acceptable, but is pretty tough having that level of incompatibility between minor versions.

— Viv



------------------------------------

------------------------------------


------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/unison-users/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/unison-users/join
(Yahoo! ID required)

<*> To change settings via email:
unison-users-***@yahoogroups.com
unison-users-***@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
unison-users-***@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/
Jan Skowron jan.skowron@gmail.com [unison-users]
2015-08-03 09:09:51 UTC
Permalink
Post by Moviuro ***@gmail.com [unison-users]
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here!
Did you done this on both computers?
In my limited experience, both versions of unison: on the client and on the
server, have to be compiled against the newer OCaml.
Here is the link to the solution I was able to figure out and that worked
for me (on the redhat bugzilla bug about the same issue):
https://bugzilla.redhat.com/show_bug.cgi?id=1219362#c11
In short, on both my computers I upgraded unison to version 2.48.3 and made
sure that they are compiled against newer OCaml 4. This finally done the
trick.
(Also, maybe I have deleted .unison*tmp temporary dirs as well? -- don't
remember.)

Jan
Post by Moviuro ***@gmail.com [unison-users]
Hi all,
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).
Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.
Help, please
Hi,
this is a known issue, and happens because Unison wasn't compiled against
the same OCaml versions on Linux and Mac OS [1]. The marshaling in OCaml
4.01 and 4.02 uses a different format...
You will have to compile Unison 2.48.3 against the same versions of OCaml
on both OS X and your Linux box.
Hope this helps,
Jonas
https://groups.yahoo.com/neo/groups/unison-users/conversations/topics/11439
--
"Our life is the immortals' death."
Moviuro moviuro@gmail.com [unison-users]
2015-09-23 19:12:53 UTC
Permalink
Hi all,

I'm back because I dropped unison but still wanted to share the solution I
found: I now use syncthing (http://syncthing.net) which is a p2p sync
software. It uses its own port and might thus not be a viable solution to you.
However, the configuration is dead simple (web-ui available) and it can sync
clusters of machines (not just 2 like unison).
It also happens to be backwards-compatible and OS-agnostic.

Cheers,
Good luck to those stuck with the bad bigarray kind.
Post by Moviuro ***@gmail.com [unison-users]
Post by Moviuro ***@gmail.com [unison-users]
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the
issue is
Post by Moviuro ***@gmail.com [unison-users]
still here!
Did you done this on both computers?
In my limited experience, both versions of unison: on the client and on the
server, have to be compiled against the newer OCaml.
Here is the link to the solution I was able to figure out and that worked
https://bugzilla.redhat.com/show_bug.cgi?id=1219362#c11
In short, on both my computers I upgraded unison to version 2.48.3 and made
sure that they are compiled against newer OCaml 4. This finally done the
trick.
(Also, maybe I have deleted .unison*tmp temporary dirs as well? -- don't
remember.)
Jan
Post by Moviuro ***@gmail.com [unison-users]
Hi all,
I just rebuilt unison 2.48.3 against OCaml 4.02.1 on FreeBSD and the issue is
still here! I'm out of ideas, someone please tell me what to do (switching to
an other software is a completely acceptable solution, given how much
difficulty unison puts me through).
Same setup: archlinux client fully uptodate, unison 2.48.3 ocaml 4.02.1; EXACT
SAME THING on FreeBSD.
Help, please
Hi,
this is a known issue, and happens because Unison wasn't compiled against
the same OCaml versions on Linux and Mac OS [1]. The marshaling in OCaml
4.01 and 4.02 uses a different format...
You will have to compile Unison 2.48.3 against the same versions of OCaml
on both OS X and your Linux box.
Hope this helps,
Jonas
https://groups.yahoo.com/neo/groups/unison-users/conversations/topics/1143
9
--
"Our life is the immortals' death."
--
Moviuro @ PsychoticDelirium
"Our life is the immortals' death."
Loading...