From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id BC9507ED1D for ; Tue, 13 Oct 2015 13:50:54 +0200 (CEST) IronPort-PHdr: 9a23:4lvbChxjmtL88+nXCy+O+j09IxM/srCxBDY+r6Qd0e4VIJqq85mqBkHD//Il1AaPBtWHraIZwLCL+4nbGkU+or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6anHS+4HYoFwnlMkItf6KuStKU35n8jb360qaQSjsLrQL1Wal1IhSyoFeZnegtqqwmFJwMzADUqGBDYeVcyDAgD1uSmxHh+pX4p8Y7oGwD884mosVJVKG/e6UjUZRZCi4nOiY7/p7Frx7GGDCT63UVVC02nx5MDhLA5Rf8FsPqrib0v+xVxCmXZ8j/Vqw5Qy/k46o9G0ygszsOKzNsqDKfscd3lq8O+B8= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=stefan@the2masters.de; spf=Pass smtp.mailfrom=stefan@the2masters.de; spf=None smtp.helo=postmaster@mail-pa0-f53.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of stefan@the2masters.de) identity=pra; client-ip=209.85.220.53; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="stefan@the2masters.de"; x-sender="stefan@the2masters.de"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of stefan@the2masters.de designates 209.85.220.53 as permitted sender) identity=mailfrom; client-ip=209.85.220.53; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="stefan@the2masters.de"; x-sender="stefan@the2masters.de"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-pa0-f53.google.com) identity=helo; client-ip=209.85.220.53; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="stefan@the2masters.de"; x-sender="postmaster@mail-pa0-f53.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CmAgBD7xxWlDXcVdFeFoNkbgEFrQKQXoITFwEJgnKCCjVKgT0HOxEBAQEBAQEBARABAQEBBwsLCR8wgh+CIBEEGQEBOBgNNwIkEgEFAVeIDAQJj2SPTYExPjGKWHGEZQEFjn0aBgqOV4FUCT6COQwvFIExgnaKHYkIeoQfiAFafkiRIIRZgiMSI4EXESaCMAoZB4FWbwEBhShBgQYBAQE X-IPAS-Result: A0CmAgBD7xxWlDXcVdFeFoNkbgEFrQKQXoITFwEJgnKCCjVKgT0HOxEBAQEBAQEBARABAQEBBwsLCR8wgh+CIBEEGQEBOBgNNwIkEgEFAVeIDAQJj2SPTYExPjGKWHGEZQEFjn0aBgqOV4FUCT6COQwvFIExgnaKHYkIeoQfiAFafkiRIIRZgiMSI4EXESaCMAoZB4FWbwEBhShBgQYBAQE X-IronPort-AV: E=Sophos;i="5.17,677,1437429600"; d="scan'208";a="182540133" Received: from mail-pa0-f53.google.com ([209.85.220.53]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 13 Oct 2015 13:50:53 +0200 Received: by pacex6 with SMTP id ex6so19571525pac.3 for ; Tue, 13 Oct 2015 04:50:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=the2masters.de; s=mail; h=mime-version:from:date:message-id:subject:to:content-type; bh=dVGVUJr20X0/QCYyGm0bZB96snoccnbiDYwhxhqXnRU=; b=gRZMyrwSaP3c/x6E5SbuWa3ZhUum1VhOJz0AMw1n9F3zHztmkZSV9fE2t8+zDvUEKl hAVq5/emtBp+5tUcucXHlECTx52lzUBu/QsqzDsxC5xjvlXeWcRl0T+QqFGGf1Bb8E8Z bbfcPZwJejzaipJW7eJLlZGfj3SBcM59Hjy5E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=dVGVUJr20X0/QCYyGm0bZB96snoccnbiDYwhxhqXnRU=; b=lxEtydXMlauS8kawCz77X8fvYU4MqECJrGf/hJcc0JBw2OEM5KUL2A5qpDXbIT4UL9 jrSI/eJBgUu8BR/5z8+M9IFItvEAw1u/iZzlLXQHxg6bLFYJ7uMNEtcBroinGF1i6dck bwRS2P9N9uwM7SUyMc6uEQYvHZs3+02vMOiB5FGGWAmY5g+e+PhrojUMVZNOB2Yb050E cnnn5oWNqiYtTl3Mg6tJWum5XOGU1jaI9NxS/zPJcKqTLS4CGJ1Za6GeAObUVChyC7+6 +WbuSKEbP3UQYM89i6rmn3eUWQpLZzoRp74eF+lDZOLS8rME00X3ITGrg4KkQJo1QC6G VY3w== X-Gm-Message-State: ALoCoQnYdFEMF1UCyVRa/4CqV3TekxmQjyN4bG9cyjNj4wRIGapIxaoahfza5Kzy/DyxLSU15OXR X-Received: by 10.66.242.138 with SMTP id wq10mr40015574pac.2.1444737051908; Tue, 13 Oct 2015 04:50:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.36.210.85 with HTTP; Tue, 13 Oct 2015 04:50:32 -0700 (PDT) X-Originating-IP: [93.195.95.35] From: Stefan Hellermann Date: Tue, 13 Oct 2015 13:50:32 +0200 Message-ID: To: caml-list@inria.fr Content-Type: multipart/alternative; boundary=047d7b111b43c601c90521fb0e46 Subject: [Caml-list] Application crashing when build with cross-compiler --047d7b111b43c601c90521fb0e46 Content-Type: text/plain; charset=UTF-8 Hi! I need help fixing a crash of the OCaml application unison. It only crashes on my 32 bit embedded mips device, for which I compiled unison on an OCaml-4.02.3 cross-compiler with -custom (NATIVE=false UISTYLE=text). Unison crashes when syncing files and a file changed on both hosts in different ways. unison asks then for an action, and crashes if I hit l or x. This is reproducable even with two local folders on the embedded device. I cannot reproduce this on my x86_64 linux host, so it's not a simple unison bug. It's maybe related to the cross-compiler or maybe the cross-compiler uncovers a bug in unison. To Reproduce: root@test:/tmp# mkdir unison1 unison2 root@test:/tmp# echo a > unison1/test.txt root@test:/tmp# echo b > unison2/test.txt root@test:/tmp# unison unison1 unison2 Contacting server... Looking for changes Warning: No archive files were found for these roots, whose canonical names are: /tmp/unison1 /tmp/unison2 This can happen either because this is the first time you have synchronized these roots, or because you have upgraded Unison to a new version with a different archive format. Update detection may take a while on this run if the replicas are large. Unison will assume that the 'last synchronized state' of both replicas was completely empty. This means that any files that are different will be reported as conflicts, and any files that exist only on one replica will be judged as new and propagated to the other replica. If the two replicas are identical, then no changes will be reported. If you see this message repeatedly, it may be because one of your machines is getting its address from DHCP, which is causing its host name to change between synchronizations. See the documentation for the UNISONLOCALHOSTNAME environment variable for advice on how to correct this. Donations to the Unison project are gratefully accepted: http://www.cis.upenn.edu/~bcpierce/unison Press return to continue.[] <= hit space Reconciling changes unison1 unison2 file <-?-> file test.txt [] ? Commands: f follow unison's recommendation (if any) I ignore this path permanently E permanently ignore files with this extension N permanently ignore paths ending with this name m merge the versions d show differences x show details L list all suggested changes tersely l list all suggested changes with details p or b go back to previous item g proceed immediately to propagating changes q exit unison without propagating any changes / skip > or . propagate from left to right < or , propagate from right to left file <-?-> file test.txt [] L <= Hitting L is ok file <-?-> file test.txt file <-?-> file test.txt [] l <= Hitting l crashes file <-?-> file test.txt Invalid argument: String.blit / Bytes.blit_string Raised at file "pervasives.ml", line 31, characters 25-45 Called from file "buffer.ml", line 94, characters 2-47 Called from file "camlinternalFormat.ml", line 1732, characters 32-46 Called from file "camlinternalFormat.ml", line 1732, characters 32-46 Called from file "camlinternalFormat.ml", line 1732, characters 32-46 Called from file "printf.ml", line 33, characters 4-22 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uicommon.ml", line 170, characters 22-43 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uicommon.ml", line 240, characters 17-48 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uitext.ml", line 188, characters 17-50 Called from file "list.ml", line 73, characters 12-15 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uitext.ml", line 340, characters 21-184 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uitext.ml", line 545, characters 35-57 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uitext.ml", line 718, characters 6-47 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uitext.ml", line 788, characters 6-90 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uitext.ml", line 810, characters 19-66 Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/ uitext.ml", line 870, characters 21-43 Unison sources can be found here: https://webdav.seas.upenn.edu/viewvc/unison/branches/2.48/src/ Hopefully someone can help me debug this. I'm not an OCaml developer, I'm trying to port OCaml and unison to embedded devices. Stefan --047d7b111b43c601c90521fb0e46 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!

I need help fixing a crash of the OCaml application unison. It= only crashes on my 32 bit embedded mips device, for which I compiled uniso= n on an OCaml-4.02.3 cross-compiler with -custom (NATIVE=3Dfalse UISTYLE=3D= text).
Unison crashes when syncing files and a file changed on both host= s in different ways. unison asks then for an action, and crashes if I hit l= or x. This is reproducable even with two local folders on the embedded dev= ice. I cannot reproduce this on my x86_64 linux host, so it's not a sim= ple unison bug. It's maybe related to the cross-compiler or maybe the c= ross-compiler uncovers a bug in unison.

To Reproduce:
root@= test:/tmp# mkdir unison1 unison2
root@test:/tmp# echo a > unison1/tes= t.txt
root@test:/tmp# echo b > unison2/test.txt
root@test:/tmp# un= ison unison1 unison2
Contacting server...
Looking for changes
Warn= ing: No archive files were found for these roots, whose canonical names are= :
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /tmp/unison1
=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /tmp/unison2
This can happen eitherbecause this is the first time you have synchronized these roots,
or be= cause you have upgraded Unison to a new version with a different
archive= format.

Update detection may take a while on this run if the replic= as are
large.

Unison will assume that the 'last synchronized = state' of both replicas
was completely empty.=C2=A0 This means that = any files that are different
will be reported as conflicts, and any file= s that exist only on one
replica will be judged as new and propagated to= the other replica.
If the two replicas are identical, then no changes w= ill be reported.

If you see this message repeatedly, it may be becau= se one of your machines
is getting its address from DHCP, which is causi= ng its host name to change
between synchronizations.=C2=A0 See the docum= entation for the UNISONLOCALHOSTNAME
environment variable for advice on = how to correct this.

Donations to the Unison project are gratefully = accepted:
http://www.cis.upenn.edu/~bcpierce/unison

Press retu= rn to continue.[<spc>]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 <=3D hit space
Reconciling changes

unison1=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unison2
file=C2=A0=C2=A0=C2=A0=C2= =A0 <-?-> file=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 test.txt=C2=A0 [] = ?
Commands:
=C2=A0 f=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fo= llow unison's recommendation (if any)
=C2=A0 I=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ignore this path permanently
=C2=A0 E=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 permanently ignore files with this ext= ension
=C2=A0 N=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 permanently= ignore paths ending with this name
=C2=A0 m=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 merge the versions
=C2=A0 d=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 show differences
=C2=A0 x=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 show details
=C2=A0 L=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 list all suggested changes tersely
=C2=A0 l=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 list all suggested changes with detail= s
=C2=A0 p or b=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 go back to previous item
=C2=A0 g=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 proceed immediately to propagati= ng changes
=C2=A0 q=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 exit = unison without propagating any changes
=C2=A0 /=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 skip
=C2=A0 > or .=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 propagate f= rom left to right
=C2=A0 < or ,=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 propagate from right= to left
file=C2=A0=C2=A0=C2=A0=C2=A0 <-?-> file=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 test.txt=C2=A0 [] L=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <=3D Hitting L is ok
file=C2=A0=C2= =A0=C2=A0=C2=A0 <-?-> file=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 test.t= xt

file=C2=A0=C2=A0=C2=A0=C2=A0 <-?-> file=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 test.txt=C2=A0 [] l=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <=3D Hitting l crashes
file=C2=A0= =C2=A0=C2=A0=C2=A0 <-?-> file=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tes= t.txt
=C2=A0 Invalid argument: String.blit / Bytes.blit_string
Raised= at file "pervasive= s.ml", line 31, characters 25-45
Called from file "buffer.ml", line 94, chara= cters 2-47
Called from file "camlinternalFormat.ml", line 1732= , characters 32-46
Called from file "camlinternalFormat.ml", l= ine 1732, characters 32-46
Called from file "camlinternalFormat.ml&= quot;, line 1732, characters 32-46
Called from file "printf.ml", line 33, characters 4= -22
Called from file "/home/stefan/openwrt/build_dir/target-x86_64_= musl-1.1.11/unison-2.48.3/= uicommon.ml", line 170, characters 22-43
Called from file "= ;/home/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/uicommon.ml", line 2= 40, characters 17-48
Called from file "/home/stefan/openwrt/build_d= ir/target-x86_64_musl-1.1.11/unison-2.48.3/uitext.ml", line 188, characters 17-50
Called fr= om file "list.ml"= ;, line 73, characters 12-15
Called from file "/home/stefan/openwrt= /build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/uitext.ml", line 340, characters 21-184
= Called from file "/home/stefan/openwrt/build_dir/target-x86_64_musl-1.= 1.11/unison-2.48.3/uitext.ml= ", line 545, characters 35-57
Called from file "/home/stef= an/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/uitext.ml", line 718, characters = 6-47
Called from file "/home/stefan/openwrt/build_dir/target-x86_64= _musl-1.1.11/unison-2.48.3/u= itext.ml", line 788, characters 6-90
Called from file "/ho= me/stefan/openwrt/build_dir/target-x86_64_musl-1.1.11/unison-2.48.3/uitext.ml", line 810, char= acters 19-66
Called from file "/home/stefan/openwrt/build_dir/targe= t-x86_64_musl-1.1.11/unison-2.48.3/uitext.ml", line 870, characters 21-43



=
Unison sources can be found here:
https://webdav.seas.upenn.e= du/viewvc/unison/branches/2.48/src/

Hopefully someone can help m= e debug this. I'm not an OCaml developer, I'm trying to port OCaml = and unison to embedded devices.

Stefan
--047d7b111b43c601c90521fb0e46--