miniruby segfaults when attempting to install lang/ruby19 or lang/ruby20 on ppc64

Justin Hibbits jrh29 at alumni.cwru.edu
Thu Jan 9 06:49:11 UTC 2014


Hi,

On Jan 8, 2014 9:47 PM, "Harry Weppner" <harry.weppner at gmx.net> wrote:
>
> Hi,
>
> I brought an older dual G5 Powermac back to life and installed FreeBSD
10.0-RC4 on it with a GENERIC ppc64 kernel. When installing lang/ruby19 or
lang/ruby20 miniruby segfaults in libthr. Tested with both the default
gcc42 as well as with gcc49.
>
> Has anyone seen this issue before? T
>
> Thanks & cheerio, Harry.
>
> (gdb) bt
> #0  handle_signal (actp=0xffffffffffbfa130, sig=11,
info=0xffffffffffbfa690, ucp=0xffffffffffbfa1d0)
>     at /usr/src/lib/libthr/thread/thr_sig.c:188
> #1  0x00000000502f36ac in thr_sighandler (sig=11,
info=0xffffffffffbfa690, _ucp=0xffffffffffbfa1d0)
>     at /usr/src/lib/libthr/thread/thr_sig.c:183
> #2  0xffffffffffffe188 in ?? ()
>
>
 ┌──/usr/src/lib/libthr/thread/thr_sig.c─────────────────────────────────────────────────────────────────────────┐
>    │184     }
                                         │
>    │185
                                         │
>    │186     static void
                                         │
>    │187     handle_signal(struct sigaction *actp, int sig, siginfo_t
*info, ucontext_t *ucp)                       │
>   >│188     {
                                         │
>    │189             struct pthread *curthread = _get_curthread();
                                         │
>
>
> The specific instruction is:
>
 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
>   >│0x502f32ac <handle_signal+64>   stdu    r1,-1392(r1)
                                          │
>    │0x502f32b0 <handle_signal+68>   ld      r0,0(r9)
                                          │
>    │0x502f32b4 <handle_signal+72>   cmpdi   cr7,r0,0
                                          │
>
> (gdb) x/x $r1-1392
> 0xffffffffffbf9b50:     Cannot access memory at address 0xffffffffffbf9b50
>
>
>

This is a stack overflow problem. I filed a bug report in redmine regarding
this. A simp!e workaround is to change the stack size from 3 pages to 4 in
thread_pthread.c of ruby and continue building.

See https://bugs.ruby-lang.org/issues/8783

-Justin


More information about the freebsd-ppc mailing list