help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Bus error while building GST 3.2 on SPARC Linux


From: Bruno Haible
Subject: Re: [Help-smalltalk] Bus error while building GST 3.2 on SPARC Linux
Date: Tue, 27 Jul 2010 01:43:47 +0200
User-agent: KMail/1.9.9

Paolo,

> It really looks like SPARC can send SIGBUS on an invalid memory access.

For the record, the platform is Linux/SPARC.

> What do you think about unconditionally registering an handler for both 
> SIGSEGV and SIGBUS, basically dropping signals-*.h?

I'm not a fan of catching unrelated signals.

Gabriel, can you try to
  1) Apply the attached patch to your copy of libsigsegv/ inside GNU smalltalk,
  2) Recompile GNU smalltalk,
  3) See whether it still crashes?

Paolo, is gst mmaping files, and the signal occurring when you are accessing
an area that is beyond the length of the file? Or does gst only use mmap of
anonymous memory?

Bruno


*** src/signals.h.orig  Tue Jul 27 01:38:05 2010
--- src/signals.h       Tue Jul 27 01:37:49 2010
***************
*** 18,21 ****
  /* List of signals that are sent when an invalid virtual memory address
     is accessed, or when the stack overflows.  */
  #define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
!   { int var; var = SIGSEGV; { body } }
--- 18,21 ----
  /* List of signals that are sent when an invalid virtual memory address
     is accessed, or when the stack overflows.  */
  #define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
!   { int var; var = SIGSEGV; { body } var = SIGBUS; { body } }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]