Bug 876765 - unison 2.40: out of memory crash
Summary: unison 2.40: out of memory crash
Keywords:
Status: CLOSED DUPLICATE of bug 877128
Alias: None
Product: Fedora
Classification: Fedora
Component: unison240
Version: 18
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Gregor Tätzner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 877019 883213 883593 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-11-14 22:05 UTC by Susi Lehtola
Modified: 2012-12-14 14:40 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-12-14 14:40:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
File: backtrace (12.05 KB, text/plain)
2012-11-17 00:08 UTC, skkd.h4k1n9
no flags Details

Description Susi Lehtola 2012-11-14 22:05:36 UTC
I upgraded my home system to F18 and tried to synchronize my 17GB documents folder with my work machine. As usually happens when I upgrade the OS, Unison informs me that it has to do a full comparison of the file systems.

Everything proceeds as normal, until it tries to reconcile the (nonexistent) changes, at which stage it gives the error message

Internal error: New archives are not identical.
Retaining original archives.  Please run Unison again to bring them up to date.

... but of course, running Unison again only results in the same error message. I also tried removing the ~/.unison/ directories to no avail.


Given the existence of bug #846833 I compiled a newer version of Unison (2.40.102) for my F17 work computer and F18 home computer. Unfortunately the F18 RPM fails to work, failing with

$ unison
Fatal error: out of memory.

However, the F17 RPM worked on F18 and fixed the problem - I can now synchronize the directories.

Please update unison240 to the newest version.

Comment 1 Gregor Tätzner 2012-11-15 18:15:36 UTC
Please try the respective builds on your machines and report back.

F-18:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4692447
F-17:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4692514

Comment 2 Susi Lehtola 2012-11-15 18:36:31 UTC
$ unison
Fatal error: out of memory.

Comment 3 Susi Lehtola 2012-11-15 18:37:54 UTC
.. so the F18 problem described in the description still exists in your build. I upgraded my work machine to F18 today, so I don't have a F17 computer anymore, but I think that the synchronization problem occurs independent of the Fedora version.

Comment 4 Gregor Tätzner 2012-11-16 07:28:56 UTC
*** Bug 877019 has been marked as a duplicate of this bug. ***

Comment 5 skkd.h4k1n9 2012-11-17 00:07:42 UTC
This bug happens mostyl after the complete sync of a file - or when a file is deleted on one or both pcs. The bug might be provoked by deleteing a the same file on two computers - and then starting a unison session. After checking all checksums, just when the screen for selecting sync directions should show up, Unison crashes.

backtrace_rating: 4
Package: unison240-2.40.63-7.fc18
OS Release: Fedora release 18 (Spherical Cow)

Comment 6 skkd.h4k1n9 2012-11-17 00:08:02 UTC
Created attachment 646655 [details]
File: backtrace

Comment 7 skkd.h4k1n9 2012-11-17 00:18:16 UTC
A regular crash on any try to synchronize via Unison.

backtrace_rating: 4
Package: unison240-2.40.63-7.fc18
OS Release: Fedora release 18 (Spherical Cow)

Comment 8 Alan Childs 2012-11-20 02:54:25 UTC
I've played around with this and in my case the problem was that the F18 build of Unison was compiled against OCaml 4 but F17 (and my CentOS server) uses OCaml 3.12. Both F17 and F18 show the Unison version to be "2.40.63" giving the impression they should talk to each other without issues.
The OCaml is (somehow) used to make a hash of both sides, the different OCaml versions create two different hashes for the same file and so Unison always assumes the transfer is corrupted.

As previously mentioned, copying the F17 build to the F18 install fixes the problem of getting F18 and older to sync.

I assume this is a OCaml 4 regressions, or possibly by design?

A work around to the "OCaml" issue should be to mount the remote folder that requires syncing locally, and then use Unison to sync two local files/folders.

Comment 9 skkd.h4k1n9 2012-11-24 15:47:24 UTC
A typical racing condition problem at the end of a synchronisation of one or more files.

backtrace_rating: 3
Package: unison240-2.40.63-7.fc18
OS Release: Fedora release 18 (Spherical Cow)

Comment 10 Gregor Tätzner 2012-12-04 07:02:00 UTC
*** Bug 883213 has been marked as a duplicate of this bug. ***

Comment 11 Gregor Tätzner 2012-12-05 07:23:48 UTC
*** Bug 883593 has been marked as a duplicate of this bug. ***

Comment 12 Petr Tuma 2012-12-05 08:14:37 UTC
Are we talking about two different bugs here ? Some of the comments above describe failure in certain synchronization circumstances, but other comments talk about a situation where simply trying to run unison immediately returns the "out of memory" error (which is also what happens on my installation with FC18).

Comment 13 Susi Lehtola 2012-12-05 09:20:51 UTC
(In reply to comment #12)
> Are we talking about two different bugs here ? Some of the comments above
> describe failure in certain synchronization circumstances, but other
> comments talk about a situation where simply trying to run unison
> immediately returns the "out of memory" error (which is also what happens on
> my installation with FC18).

Yes.

My original problem was that Unison didn't succeed in synchronizing my directories.

But then I couldn't compile a newer version on F18 due to the ocaml bug (out of memory), for which I filed this bug.

Comment 14 Gregor Tätzner 2012-12-05 10:43:32 UTC
oh yes, this report is about the crash caused by the big memory allocation.

the other issue ("Internal error: New archives are not identical.") is already fixed in unison 2.40.102.

sry for the confusion

Comment 15 Jean-François Fortin Tam 2012-12-05 15:34:31 UTC
Well if you look at my bug 883593, you see that it has nothing to do with the act of synchronizing at all. It just does it on startup on 64 bits before you even attempt anything.

If you are not seeing the error immediately when running the command "unison" on the terminal, then your issue is possibly different and you should un-duplicate my bug report from this...

Comment 16 Alan Childs 2012-12-05 15:51:04 UTC
@Gregor Tatzner, I think your right, there are/where two issues mentioned here. I've yum updated my Unison to 2.40.102 for 64-Bit, I now run into the "Out Of Memory" bug also mentioned in the first post.
I haven't tested on 32-Bit, but can do if it's felt really necessary.

Comment 17 Jean-François Fortin Tam 2012-12-05 16:33:42 UTC
Huh, interesting: I searched for the F17 version of unison through https://apps.fedoraproject.org/packages/s/unison and downloaded unison240-2.40.102-1.fc17.x86_64.rpm ; I then did a yum downgrade the_package, and lo and behold, it works fine.

So something is broken in the packaging of the F18 version. Given that both are unison 2.40, perhaps you could do a comparison between the two packages to figure out what's wrong?

Comment 18 Alex Markley 2012-12-11 16:38:11 UTC
I have been bitten by the "out of memory" crash too. It happens regardless of synchronization state, as I took the measure of removing all state while troubleshooting.

I worked around the problem on Fedora 18 by simply installing the Fedora 17 build of unison240.

This seems related: https://bugzilla.redhat.com/show_bug.cgi?id=877128

Comment 19 Alan Childs 2012-12-13 15:34:01 UTC
(In reply to comment #18)
> This seems related: https://bugzilla.redhat.com/show_bug.cgi?id=877128

Yep, I'd say that's a duplicate. The diffrence between the F17 and F18 builds is been worked out to be the Ocaml version, the core Unison code is the same. Appears to be fixed in rawhide, so I'm happy to vote this as closed once it trickle though to the "updates" repo. :-)

Comment 20 Gregor Tätzner 2012-12-14 14:40:35 UTC

*** This bug has been marked as a duplicate of bug 877128 ***


Note You need to log in before you can comment on or make changes to this bug.