Weird bug on Mac OS X
Dominick LoBraico
dj at lobraico.com
Mon Nov 12 23:39:15 GMT 2012
Confirmed segfault on 10.8.2 with latest core (108.07.01) and OCaml
4.00.1+short-types.
On Thursday, November 8, 2012 11:47:21 AM UTC-6, Anil Madhavapeddy wrote:
>
> Looks like another misaligned stack pointer somewhere; two were fixed
> already here:
> http://caml.inria.fr/mantis/view.php?id=5700
>
> MacOS 10.8 strictly needs a 16-byte aligned stack or else lots of systems
> functions decide to throw in the towel (due to them using SSE instructions
> by default now).
>
> #0 0x00007fff8e4ad8a5 in misaligned_stack_error_entering_dyld_stub_binder
> ()
> #1 0x0000000000000103 in ?? ()
> #2 0x0000000100254068 in caml_absf_mask ()
> #3 0x000000010022e923 in caml_raise ()
> #4 0x000000010022ec71 in caml_array_bound_error ()
> #5 0x000000010000b32a in .L101 ()
>
>
> -a
>
> On 8 Nov 2012, at 17:16, Markus Mottl <markus... at gmail.com <javascript:>>
> wrote:
>
> > Should have mentioned that, too: I'm running Mac OS X 10.8.2 with the
> > latest XCode version (4.5.2).
> >
> > On Thu, Nov 8, 2012 at 12:11 PM, Ashish Agarwal <agarw... at gmail.com<javascript:>>
> wrote:
> >> I correctly get an exception with OCaml 3.12.1, Core 108.00.02, on Mac
> OS X
> >> 10.7.5.
> >>
> >> On Thu, Nov 8, 2012 at 12:04 PM, Markus Mottl <markus... at gmail.com<javascript:>>
>
> >> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I've run into a segfault on Mac OS X with a very trivial program that
> >>> basically just links with Jane Street Core. Here is the file test.ml:
>
> >>>
> >>> ----------
> >>> module X = Core
> >>>
> >>> let () = [||].(0) <- 42
> >>> ----------
> >>>
> >>> You can build it as follows:
> >>>
> >>> ocamlbuild -use-ocamlfind -cflag -thread -lflag -thread -pkgs core
> >>> test.native
> >>>
> >>> Running test.native will give you a segfault. Here is the stack
> >>> backtrace:
> >>>
> >>> ----------
> >>> #0 0x00007fff90fa78a5 in
> misaligned_stack_error_entering_dyld_stub_binder
> >>> ()
> >>> #1 0x0000000000000103 in ?? ()
> >>> #2 0x0000000101c0a088 in pvars ()
> >>> #3 0x0000000101bddedd in caml_raise ()
> >>> #4 0x0000000101bddf99 in caml_array_bound_error ()
> >>> #5 0x00000001019b6aca in .L101 ()
> >>> ----------
> >>>
> >>> The program should just raise an exception due to the illegal array
> >>> access. Merely raising an exception directly doesn't trigger the
> >>> problem. The program won't segfault either if the "module X = Core"
> >>> line is commented out, i.e. Core has to be linked in. Other libraries
> >>> apparently also don't cause this issue.
> >>>
> >>> Could another Mac OS X user here please verify the problem? I'm using
> >>> OCaml 4.00.1 with Opam and the latest release of Core in there.
> >>>
> >>> Maybe somebody more knowledgeable about stack alignment and linking
> >>> issues on Mac OS X has an idea what's going wrong here. I suspect
> >>> it's a code generation, linking or even runtime issue that may need to
> >>> be fixed in the compiler. Or there could be a bug in some module
> >>> initialization in Core that is using C-bindings (less likely, I'm not
> >>> aware of anything that could cause this).
> >>>
> >>> Regards,
> >>> Markus
> >>>
> >>> --
> >>> Markus Mottl http://www.ocaml.info markus... at gmail.com<javascript:>
> >>
> >>
> >
> >
> >
> > --
> > Markus Mottl http://www.ocaml.info markus... at gmail.com<javascript:>
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/core/attachments/20121112/37ad994a/attachment-0001.html>
More information about the core
mailing list