[MacPorts] #65188: sbcl: fatal error encountered in SBCL pid 16153: dynamic space too small for core

MacPorts noreply at macports.org
Tue May 17 16:17:25 UTC 2022


#65188: sbcl: fatal error encountered in SBCL pid 16153: dynamic space too small
for core
---------------------------+----------------------
  Reporter:  barracuda156  |      Owner:  easye
      Type:  defect        |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.7.2
Resolution:                |   Keywords:
      Port:  sbcl          |
---------------------------+----------------------

Comment (by barracuda156):

 Replying to [comment:4 easye]:
 > @barracuda156 Thanks for the hard work here.  Of course I wish I had
 access to a PPC system to help, but perhaps I can coordinate more fully
 with the SBCL crew on IRC <irc://libera.chat/#sbcl> or the SBCL bug
 tracker <https://launchpad.net/sbcl> if you need something?  Feel free to
 contact me "out of band".

 Thank you for replying!
 There are two immediate problems I face, and any help will be greatly
 appreciated here:

 1. There is a section in `src/runtime/ppc-assem.S` which has never been
 fixed for Darwin ABI:
 {{{
         /* Call out to obtain our TLS block. */
         load(reg_NL0,CSYMBOL(specials))
         /* This won't work on darwin: wrong fixup style.  And is it
          * supposed to be lis/ori or lis/addi?  Or does it differ
          * between darwin and everything else again? */
         lis reg_CFUNC,CSYMBOL(pthread_getspecific)@h
         ori reg_CFUNC,reg_CFUNC,CSYMBOL(pthread_getspecific)@l
         mtctr reg_CFUNC
         bctrl
         mr reg_THREAD, reg_NL0
 }}}
 Those suffices @ are invalid, of course, and the code fails. However it is
 required in order to build with threads enabled.
 I tried patching it to:
 {{{
 +#ifdef LISP_FEATURE_DARWIN
 +       lis reg_CFUNC,hi16(CSYMBOL(pthread_getspecific))
 +       ori reg_CFUNC,reg_CFUNC,lo16(CSYMBOL(pthread_getspecific))
 +#else
         lis reg_CFUNC,CSYMBOL(pthread_getspecific)@h
         ori reg_CFUNC,reg_CFUNC,CSYMBOL(pthread_getspecific)@l
 +#endif
 }}}
 This fails however:
 {{{
 ld: absolute address to symbol _pthread_getspecific in a different linkage
 unit not supported in _call_into_lisp from ppc-assem.o
 collect2: ld returned 1 exit status
 make: *** [sbcl] Error 1
 }}}
 This is why I had to build without threads (well, I don't promise threads
 will work if this is fixed, but at least this must be fixed in some way in
 order to proceed).
 It has been broken forever: from @1.0.47 up to @2.2.2 this chunk of code
 remains unchanged, and in @2.2.3 upstream, sadly, just threw away Darwin-
 specific parts. (So I think it has never been built for PPC at all.)

 2. The issue in the ticket above:
 {{{
 fatal error encountered in SBCL pid 16153:
 dynamic space too small for core: 31044KiB required, 0KiB available.
 }}}
 Since it is not pointing to a specific error in the code, I have no hint
 how to try fixing it.

-- 
Ticket URL: <https://trac.macports.org/ticket/65188#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list