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