[Ecls-list] Need help with SIGFPE

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sun Oct 11 11:23:16 UTC 2009


I am having problems with the code for generating and handling
floating point exceptions. It only happens in Linux, FreeBSD and
similar platforms where we use feenablexeecept(), but from my last
tests this seems not directly related. OS X does not suffer this
problem.

The problem is as follows (you will need the latest fixes in GIT/CVS).
We generate a SIGFPE by some means. For instance

 > (truncate 1 0)

This invokes the signal handler and we get an error.

  #<a DIVISION-BY-ZERO>
 Available restarts:
 1. (RESTART-TOPLEVEL) ...
 >> :q

typing :q we return to the toplevel. Note that we do not return to the
instruction that generated the signal, but rather to the toplevel, so
it seems we are safe. But now we repeat the error:

 > (truncate 1 0)
 Program terminated with signal SIGFPE.

This second time our signal handler is completely ignored. I have
tried using sigaction() before the second signal is produced, with no
success.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list