View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum

Segmentation violation with some data

iz wrote on Jun 22, 2011

Hi,

I'm using IRAF 2.15.1a on a 64bit Mac and experience the following problem with a FITS file from the UKIDSS survey (available at http://nice.sai.msu.ru/~iz/ukidss_iraf.fits) which is supposed to be OK:


tv> display ukidss_iraf.fits[1] 1
	----- task cl - line 0 ( ) -----
       0      41+4:	call		display
       0      45+9:	pushconst	`ukidss_iraf.fits[1]'
       0      54+4:	posargset	0
       0      58+5:	pushconst	1
       0      63+4:	posargset	1
       0      67+3:	exec
	----- exec external task display - line 0 -----
	----- connect to bin$x_tv.e -----
	    display\nimage="ukidss_iraf.fits[1]"\nframe=1\n
	    bpmask="BPM"\nbpdisplay="none"\nbpcolors="red"\noverlay=""\n
	    ocolors="green"\nerase=yes\nborder_erase=no\n
	    select_frame=yes\nrepeat=no\nfill=no\nzscale=yes\n
	    contrast=0.25\nzrange=yes\nzmask=""\nnsample=1000\n
	    xcenter=0.5\nycenter=0.5\nxsize=1.\nysize=1.\nxmag=1.\n
	    ymag=1.\norder=0\nztrans="linear"\nlutfile=""\nmode="ql"\n
	    $nargs=2\n
	--------------------------------
	----- task display - line 15 ( ) -----
      15      73+4:	call		error
1: CALL error
      15      77+5:	pushconst	501
      15      82+4:	posargset	0
      15      86+8:	pushconst	`segmentation violation'
      15      94+4:	posargset	1
      15      98+3:	exec
	----- exec builtin error : line 15 -----
	----- disconnect bin$x_tv.e -----
ERROR: segmentation violation
cl_error: abort=1  beep=1  trace=1  flpr=1
cl_error: code=501 do_err=1 errtype=1/1 task='cl'


Other routines fail with these data as well:


tv> blkavg ukidss_iraf.fits[1] ukidss_iraf_binned.fits 2 2
	----- task cl - line 0 ( ) -----
       0      41+4:	call		blkavg
       0      45+9:	pushconst	`ukidss_iraf.fits[1]'
       0      54+4:	posargset	0
       0      58+9:	pushconst	`ukidss_iraf_binned.fits'
       0      67+4:	indirposset	1
       0      71+5:	pushconst	2
       0      76+4:	posargset	2
       0      80+5:	pushconst	2
       0      85+4:	posargset	3
       0      89+3:	exec
	----- exec external task blkavg - line 0 -----
	----- connect to bin$x_images.e -----
	    blkavg\ninput="ukidss_iraf.fits[1]"\n
	    output="ukidss_iraf_binned.fits"\noption="average"\n
	    b1=2\nb2=2\nmode="ql"\n$nargs=4\n
	--------------------------------
	----- task blkavg - line 17 ( ) -----
      17      95+4:	call		error
1: CALL error
      17      99+5:	pushconst	501
      17     104+4:	posargset	0
      17     108+8:	pushconst	`segmentation violation'
      17     116+4:	posargset	1
      17     120+3:	exec
	----- exec builtin error : line 17 -----
	----- disconnect bin$x_images.e -----
ERROR: segmentation violation
cl_error: abort=1  beep=1  trace=1  flpr=1
cl_error: code=501 do_err=1 errtype=1/1 task='cl'


Can you please explain what's wrong here? Have no problems accessing this FITS data oustide of IRAF.

--
With best regards,
Ivan

Mike Fitzpatrick wrote on Jun 22, 2011

I can reproduce the problem, which appears to be an alignment issue on 64-bit systems for certain types of data. I'll have to investigate further and the fix will require a new set of binaries for the entire system (or at least a new library and a relink of the system).

I also found that you can workaround the problem using 32-bit binaries for the platform (e.g. the 'macosx' architecture on Mac systems), or for this image copying out the one extension to a simple FITS file (on a 32-bit system) would also work. If you installed both sets of binaries for Mac, you can define the IRAFARCH environment variable in your .cshrc file to force the use of the 'macosx' architecture, otherwise you can download and install these binaries separately.

iz wrote on Jun 22, 2011

Indeed, 32-bit binaries work. I switched to them for this time, thanks for suggesting this workaround.

Last post on Jun 22, 2011