Description of problem: Recently we updated the code generated for the OCaml compiler on arm in Fedora 17: * Sat Apr 28 2012 Richard W.M. Jones <rjones> 3.12.1-3 - New ARM backend by Benedikt Meurer, backported to OCaml 3.12.1. This has several advantages, including enabling natdynlink on ARM. - Provide updated config.guess and config.sub (from OCaml upstream tree). Mostly this appeared to work, but virt-sysprep segfaults (although it used to work, so I don't quite know what changed). $ ./run gdb --args ./sysprep/virt-sysprep --help (gdb) run Starting program: /home/rjones/d/libguestfs/sysprep/virt-sysprep --help [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x402f3b70 in ?? () (gdb) bt #0 0x402f3b70 in ?? () #1 0x0007ca44 in caml_c_call () #2 0x0007ca44 in caml_c_call () Backtrace stopped: previous frame identical to this frame (corrupt stack?) Version-Release number of selected component (if applicable): ocaml-3.12.1-3.fc17.armv7hl libguestfs 1.17.41 How reproducible: ? 100% right now, 0% earlier. Steps to Reproduce: 1. Compile libguestfs from git. 2. Segfaults when it runs virt-sysprep during the build. 3. Actual results: Expected results: Additional info:
Possibly the working version was 1.17.36.
(In reply to comment #1) > Possibly the working version was 1.17.36. Confirmed, it works with virt-sysprep 1.17.36. There's very little difference between the two versions, but at least I have something to work with now.
Here is another program that segfaults: ocamlopt.opt -noassert -I internal -I public -I toolslib -I . -o mappings/gen_mappings.opt bigarray.cmxa str.cmxa toolslib.cmxa mappings/gen_mappings.cmx cd mappings && ./gen_mappings.opt /bin/sh: line 1: 17865 Segmentation fault ./gen_mappings.opt This is from the ocaml-camomile package, although it's worth noting that many other programs from the same package do work fine.
(In reply to comment #3) > Here is another program that segfaults: > > ocamlopt.opt -noassert -I internal -I public -I toolslib -I . -o > mappings/gen_mappings.opt bigarray.cmxa str.cmxa toolslib.cmxa > mappings/gen_mappings.cmx > cd mappings && ./gen_mappings.opt > /bin/sh: line 1: 17865 Segmentation fault ./gen_mappings.opt > > This is from the ocaml-camomile package, although it's > worth noting that many other programs from the same > package do work fine. I contacted Benedikt Meurer (author of the new ARM backend) and he was able to reproduce this problem and says he will look into it.
Upstream bug: http://caml.inria.fr/mantis/view.php?id=5623
Fixed upstream in revision 12548. http://caml.inria.fr/cgi-bin/viewvc.cgi/ocaml/trunk/asmcomp/arm/emit.mlp?r1=12466&r2=12548&pathrev=12548
Fixed in ocaml-3.12.1-9.
ocaml-3.12.1-9.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/ocaml-3.12.1-9.fc17
ocaml-3.12.1-11.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/ocaml-3.12.1-11.fc17