[racket-dev] racket segfaults during raco setup on OpenBSD

From: Juan Francisco Cantero Hurtado (iam at juanfra.info)
Date: Mon Sep 16 11:59:16 EDT 2013

On 09/16/13 17:10, Matthew Flatt wrote:
> I think this is a libffi problem, and I guess there's a patch that we
> still need to add to the Racket copy of libffi (although I sync'd with
> the latest libffi sson after the last time this was discussed).

I've created a pull request with the patch.

>
> While we sort that out, you should be able to install the
> "devel/libffi" package, then re-running `configure` should pick up the
> installed libffi instead of building, and then things should work.
>
>
> See also
>
>   http://lists.racket-lang.org/users/archive/2013-April/057056.html
>
> but skip to the end.
>
>
> At Mon, 16 Sep 2013 10:58:13 -0400, Philippe Meunier wrote:
>> Hello,
>>
>> Starting from a clean clone of the git repository, racket3m segfaults
>> on OpenBSD 5.3 while in the middle of doing the raco setup:
>>
>> $ pwd
>> /home/meunier/lang/plt
>> $ make
>> [...]
>> Adding xrepl-test* as pkgs/xrepl-pkgs/xrepl-test
>> Writing racket/etc/config.rktd
>> racket/bin/racket -N raco -l- raco setup
>> raco setup: version: 5.90.0.9 [3m]
>> raco setup: installation name: development
>> raco setup: variants: 3m
>> raco setup: main collects: /home/meunier/lang/plt/racket/collects
>> [...]
>> raco setup: making: <pkgs>/drracket/gui-debugger
>> raco setup:  in <pkgs>/drracket/gui-debugger
>> Seg fault (internal error) at 0xa866246
>> *** Signal SIGABRT in . (Makefile:53 'plain-in-place')
>> *** Error 1 in /home/meunier/lang/plt (Makefile:41 'in-place')
>>
>> GDB gives:
>>
>> $ gdb racket/bin/racket racket.core
>> [...]
>> (gdb) bt
>> #0  0x0341bc2d in kill () at <stdin>:2
>> #1  0x03487826 in raise (s=6) at /usr/src/lib/libc/gen/raise.c:39
>> #2  0x0348774c in abort () at /usr/src/lib/libc/stdlib/abort.c:70
>> #3  0x1c1fb8b5 in fault_handler ()
>> #4  <signal handler called>
>> #5  0x0a866246 in sse2_composite_over_n_8_8888 () from
>> /usr/X11R6/lib/libpixman-1.so.28.0
>> #6  0x0a844c41 in pixman_composite_glyphs_no_mask () from
>> /usr/X11R6/lib/libpixman-1.so.28.0
>> #7  0x1001bb48 in composite_glyphs () from /usr/local/lib/libcairo.so.12.1
>> #8  0x10064978 in composite_glyphs () from /usr/local/lib/libcairo.so.12.1
>> #9  0x100662ea in clip_and_composite () from /usr/local/lib/libcairo.so.12.1
>> #10 0x100665b3 in _cairo_traps_compositor_glyphs () from
>> /usr/local/lib/libcairo.so.12.1
>> #11 0x1000da12 in _cairo_compositor_glyphs () from
>> /usr/local/lib/libcairo.so.12.1
>> #12 0x1001fed5 in _cairo_image_surface_glyphs () from
>> /usr/local/lib/libcairo.so.12.1
>> #13 0x100551d2 in _cairo_surface_show_text_glyphs () from
>> /usr/local/lib/libcairo.so.12.1
>> #14 0x100164ca in _cairo_gstate_show_text_glyphs () from
>> /usr/local/lib/libcairo.so.12.1
>> #15 0x1000727e in cairo_show_glyphs () from /usr/local/lib/libcairo.so.12.1
>> #16 0x0846b419 in pango_cairo_renderer_show_text_glyphs () from
>> /usr/local/lib/libpangocairo-1.0.so.3200.0
>> #17 0x0846b815 in pango_cairo_renderer_draw_glyphs () from
>> /usr/local/lib/libpangocairo-1.0.so.3200.0
>> #18 0x0ea2204a in pango_renderer_draw_glyphs () from
>> /usr/local/lib/libpango-1.0.so.3200.0
>> #19 0x0ea2215d in pango_renderer_draw_glyph_item () from
>> /usr/local/lib/libpango-1.0.so.3200.0
>> #20 0x0ea2280a in pango_renderer_draw_layout_line () from
>> /usr/local/lib/libpango-1.0.so.3200.0
>> #21 0x0846a028 in _pango_cairo_do_layout_line () from
>> /usr/local/lib/libpangocairo-1.0.so.3200.0
>> #22 0x08090d73 in ffi_call_SYSV () from /usr/local/lib/libffi.so.0.0
>> #23 0x08090b7a in ffi_call (cif=0x7e8134a0, fn=0x7d415c20, rvalue=0xcfbe2cf0,
>> avalue=0xcfbe2cb0) at src/x86/ffi.c:326
>> #24 0x1c1eeb8a in do_ptr_finalizer ()
>> #25 0x1c1eedb1 in do_ptr_finalizer ()
>> #26 0x033243f2 in ?? ()
>> #27 0x00000002 in ?? ()
>> #28 0x81610754 in ?? ()
>> #29 0x89d764a0 in ?? ()
>> #30 0xcfbe2d98 in ?? ()
>> #31 0x0c4e30ef in ?? ()
>> #32 0x8162dc30 in ?? ()
>> #33 0x0c4e4074 in ?? ()
>> #34 0x00000000 in ?? ()
>> (gdb)
>>



Posted on the dev mailing list.