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

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Sep 16 11:10:45 EDT 2013

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).

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)
> 
> Philippe
> 
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.