Follow-up Comment #5, bug #22514 (project gnustep):

Are you sure you are using an up to date version of GNUstep?
I ask because the bug report referred to says that the crash is a
segmentation fault in NSCountFrames, yet the code for that method in the
current stable release uses the signal() system call to catch segmentation
faults caused when gcc's __builtin_frame_address() runs off the end of the
stack (and it seems highly unlikely that the signal() system call provided by
your operating system would be faulty)...

unsigned NSCountFrames(void)
{
  jbuf_type     *env;

  env = jbuf();
  if (setjmp(env->buf) == 0)
    {
      env->segv = signal(SIGSEGV, recover);
      env->bus = signal(SIGBUS, recover);
      env->addr = 0;

#define _NS_COUNT_HACK(X) if (__builtin_frame_address(X + 1) == 0) 
        goto done; else env->addr = (void*)(X + 1);

      _NS_COUNT_HACK(0); _NS_COUNT_HACK(1); _NS_COUNT_HACK(2);
      _NS_COUNT_HACK(3); _NS_COUNT_HACK(4); _NS_COUNT_HACK(5);
 


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?22514>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



_______________________________________________
Bug-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to