We are trying to do some work on older PSRFITS files, but we are frequently getting SEGFAULTs with programs like paz and pam. I think this may be an issue reading the ephemeris table. Here is an example with verbose output.
pam -V -u ~ -e fscr -F GUPPI_J0032+69_57131.fits
pam: parsing filenames
Loading GUPPI_J0032+69_57131.fits
Pulsar::Archive::load with 12 Agents
Pulsar::Archive::load testing Timer
Timer::load convert endian
Timer::load not a timer header
Timer::is_timer invalid MJD=544109933
Pulsar::TimerArchive::Agent::advocate fail Timer::fload
Pulsar::Archive::load testing Baseband
Timer::load convert endian
Timer::load not a timer header
Timer::is_timer invalid MJD=544109933
Pulsar::Archive::load testing EPN
Pulsar::Archive::load testing ASP
IntegrationManager null constructor
Pulsar::Archive ctor this=0x7ffe1c7f6e80 instances=1
Pulsar::Archive::init
Pulsar::Archive::add_extension appending Receiver
Pulsar::Archive::add_extension appending Backend
Pulsar::BasicArchive dtor this=0x7ffe1c7f6e80
Pulsar::Archive dtor this=0x7ffe1c7f6e80 instances=0
Pulsar::IntegrationManager dtor this=0x7ffe1c7f6e80
ASP load failed due to:
Error::stack
Pulsar::ASPArchive::load_header
Error::InvalidState
Error::message
Unrecognized HDRVER=3.4 in file GUPPI_J0032+69_57131.fits
Pulsar::Archive::load testing PSRFITS
Pulsar::FITSArchive::Agent::advocate test GUPPI_J0032+69_57131.fits
FITSAgent::advocate test reading MJD
Pulsar::Archive::load using PSRFITS
IntegrationManager null constructor
Pulsar::Archive ctor this=0xeb48a0 instances=1
Pulsar::Archive::init
FITSArchive default construct
Pulsar::Archive::add_extension appending FITSHdrExtension
FITSArchive::load_header fits_open_file (GUPPI_J0032+69_57131.fits)
Pulsar::Archive::get<Ext> name=FITSHdrExtension
Pulsar::Archive::get<Ext> failed to find extension type=PN6Pulsar12ObsExtensionE
Pulsar::Archive::add_extension appending ObsExtension
Pulsar::Archive::get<Ext> name=FITSHdrExtension
FITSArchive::load_header reading FITS header version
psrfits_read_key: HDRVER=3.4
Got: Version 3.4
FITSArchive::load_header reading file creation date
psrfits_read_key: DATE=2022-07-27T18:59:20
FITSArchive::load_header reading observer name
psrfits_read_key: OBSERVER=Lina Levin
Got observer: Lina Levin
FITSArchive::load_header reading project ID
psrfits_read_key: PROJID=AGBT15A_376_08
Got PID: AGBT15A_376_08
FITSArchive::load_header reading telescope name
psrfits_read_key: TELESCOP=GBT
FITSArchive::load_header TELESCOP=GBT
Pulsar::Archive::get<Ext> name=FITSHdrExtension
Pulsar::Archive::get<Ext> name=ObsExtension
Pulsar::Archive::get<Ext> failed to find extension type=PN6Pulsar9TelescopeE
Pulsar::Archive::add_extension appending Telescope
psrfits_read_key: RA=00:33:12.8400
psrfits_read_key: DEC=+69:43:45.1200
FITSArchive::load_ITRFExtension
Pulsar::Archive::add_extension appending ITRFExtension
FITSArchive::load_Receiver
FITSArchive::load_Receiver reading receiver
psrfits_read_key: FRONTEND=Rcvr_800
psrfits_read_key: NRCVR=2
FITSArchive::load_Receiver reading feed polarization
psrfits_read_key: FD_POLN=LIN
FITSArchive::load_Receiver reading XPOL_ANG
XPOL_ANG: keyword not found in header (202)
psrfits_read_key: using default=0
FITSArchive::load_Receiver reading YPOL_ANG
YPOL_ANG: keyword not found in header (202)
psrfits_read_key: using default=90
FITSArchive::load_Receiver reading CAL_ANG
CAL_ANG: keyword not found in header (202)
psrfits_read_key: using default=45
FITSArchive::load_Receiver reading FD_SANG
FITSArchive::load_Receiver reading FD_HAND
FITSArchive::load_Receiver reading FD_XYPH
FITSArchive::load_Receiver reading feed track mode
psrfits_read_key: FD_MODE=FA
FITSArchive::load_Receiver reading requested feed angle
FITSArchive::load_Receiver reading attenuator settings
FITSArchive::load_Receiver WARNING: fits_read_key ATTEN_A,B: keyword not found in header (202)
Pulsar::Archive::add_extension appending Receiver
FITSArchive::load_WidebandCorrelator
psrfits_read_key: BACKEND=GUPPI
FITSArchive::load_WidebandCorrelator BACKEND=GUPPI
psrfits_read_key: BECONFIG=N/A
FITSArchive::load_WidebandCorrelator BECONFIG=N/A
psrfits_read_key: BE_PHASE=-1
FITSArchive::load_WidebandCorrelator BE_PHASE=-1
psrfits_read_key: BE_DCC=0
FITSArchive::load_WidebandCorrelator BE_DCC=0
FITSArchive::load_WidebandCorrelator reading cycle time
psrfits_read_key: TCYCLE=0
FITSArchive::load_WidebandCorrelator reading NRCVR
psrfits_read_key: NRCVR=2
FITSArchive::load_WidebandCorrelator reading BE_DELAY
psrfits_read_key: BE_DELAY=0
Pulsar::Archive::add_extension appending WidebandCorrelator
Pulsar::Archive::get<Ext> name=FITSHdrExtension
Pulsar::Archive::get<Ext> name=ObsExtension
Pulsar::Archive::get<Ext> name=Telescope
Pulsar::Archive::get<Ext> name=ITRFExtension
Pulsar::Archive::get<Ext> name=Receiver
Pulsar::Archive::get<Ext> name=WidebandCorrelator
FITSArchive::load_header reading OBS_MODE
FITSArchive::load_header OBS_MODE='PSR'
FITSArchive::load_header using Signal::Pulsar
psrfits_read_key: OBSFREQ=820
psrfits_read_key: OBSBW=-200
psrfits_read_key: OBSNCHAN=2048
psrfits_read_key: CHAN_DM=0
FITSArchive::load_header reading source name
FITSArchive::load_header reading coordinates
psrfits_read_key: COORD_MD=J2000
Got coordinate type: J2000
FITSArchive::load_header reading equinox
psrfits_read_key: EQUINOX=2000
psrfits_read_key: RA=00:33:12.8400
psrfits_read_key: STT_CRD1=00:33:12.8400
psrfits_read_key: DEC=+69:43:45.1200
psrfits_read_key: STT_CRD2=+69:43:45.1200
psrfits_read_key: STP_CRD1=00:33:12.8400
psrfits_read_key: STP_CRD2=+69:43:45.1200
FITSArchive::load_header reading track mode
psrfits_read_key: TRK_MODE=TRACK
FITSArchive::load_header reading observation date
psrfits_read_key: DATE-OBS=2015-04-19T17:58:49.000
FITSArchive::load_header DATE-0BS parsed into
date='2015-04-19'
time='17:58:49.000'
FITSArchive::load_header reading BPA
psrfits_read_key: BPA=0.
FITSArchive::load_header reading BMAJ
psrfits_read_key: BMAJ=0.251368427901263
FITSArchive::load_header reading BMIN
psrfits_read_key: BMIN=0.251368427901263
FITSArchive::load_header reading MJDs
psrfits_read_key: STT_IMJD=57131
psrfits_read_key: STT_SMJD=64728
psrfits_read_key: STT_OFFS=1
FITSArchive::load_header MJD=57131:175848.999999999928150
FITSArchive::load_header reading start LST
psrfits_read_key: STT_LST=8972
FITSArchive::load_header reading IBEAM
IBEAM: keyword not found in header (202)
psrfits_read_key: using default=
FITSArchive::load_header IBEAM=''
FITSArchive::load_header reading PNT_ID
PNT_ID: keyword not found in header (202)
psrfits_read_key: using default=
FITSArchive::load_header PNT_ID=''
FITSArchive::load_header finished with primary HDU
FITSArchive::load_ProcHistory entered
Pulsar::Archive::get<Ext> name=FITSHdrExtension
Pulsar::Archive::get<Ext> name=ObsExtension
Pulsar::Archive::get<Ext> name=Telescope
Pulsar::Archive::get<Ext> name=ITRFExtension
Pulsar::Archive::get<Ext> name=Receiver
Pulsar::Archive::get<Ext> name=FITSHdrExtension
Pulsar::Archive::get<Ext> name=ObsExtension
Pulsar::Archive::get<Ext> name=Telescope
Pulsar::Archive::get<Ext> name=ITRFExtension
Pulsar::Archive::get<Ext> name=Receiver
Pulsar::Archive::get<Ext> name=WidebandCorrelator
FITSArchive::load_ProcHistory no HISTORY table
load_ObsDescription entered
FITSArchive::load_ObsDescription fits_movnam_hdu OBSDESCR: illegal HDU number (301)
FITSArchive::load_digistat entered
Pulsar::FITSArchive::load_digistat no DIG_STAT HDU
FITSArchive::load_DigitiserCounts failed with error
Error::stack
psrfits_move_hdu
Error::FailedCall
Error::message
fits_movnam_hdu (DIG_CNTS): illegal HDU number (301)
FITSArchive::load_Passband entered
Pulsar::FITSArchive::load_Passband no BANDPASS HDU
FITSArchive::load_CoherentDedispersion entered
FITSArchive::load_FluxCalibratorExtension entered
Pulsar::FITSArchive::load_FluxCalibratorExtension no FLUX_CAL HDU
FITSArchive::load_CalibratorStokes entered
Pulsar::FITSArchive::load_CalibratorStokes no CAL_POLN HDU
FITSArchive::load_PolnCalibratorExtension entered
Pulsar::FITSArchive::load_PolnCalibratorExtension no FEEDPAR HDU
FITSArchive::load_CalibrationInterpolatorExtension entered
FITSArchive::load_FITSSUBHdrExtension entered
psrfits_read_key: INT_UNIT=SEC
psrfits_read_key: INT_TYPE=TIME
psrfits_read_key: NBITS=1
NCH_STRT: keyword not found in header (202)
psrfits_read_key: using default=-1
psrfits_read_key: NSBLK=1
ZERO_OFF: keyword not found in header (202)
psrfits_read_key: using default=0
SIGNINT: keyword not found in header (202)
psrfits_read_key: using default=0
Pulsar::Archive::add_extension appending FITSSUBHdrExtension
FITSArchive::load_CrossCovarianceMatrix entered
Pulsar::FITSArchive::load_CrossCovarianceMatrix : no COV_MAT HDU
Pulsar::FITSArchive::load_Parameters try PSRPARAM
load_TextParameters entered
load_TextParameters fits_movnam_hdu PSRPARAM: illegal HDU number (301)
Pulsar::FITSArchive::load_Parameters try PSREPHEM
psrephem::fits_map ncols=69
1 'DATE_PRO' repeat=24 width=24 typecode=16 comment=Processing date and time (UTC)
psrephem::fits_map unrecognized parameter='DATE_PRO'
2 'PROC_CMD' repeat=80 width=80 typecode=16 comment=Processing program and command
psrephem::fits_map unrecognized parameter='PROC_CMD'
3 'EPHVER' repeat=16 width=16 typecode=16 comment=Version ID for ephemeris data
psrephem::fits_map column 2 matches ephind 141 typecode=16 datatype[0]=16
4 'PSR_NAME' repeat=16 width=16 typecode=16 comment=Pulsar Jname
psrephem::fits_map column 3 matches ephind 0 typecode=16 datatype[0]=16
5 'RAJ' repeat=24 width=24 typecode=16 comment=RA (J2000) (hh:mm:ss.ssssssss)
psrephem::fits_map column 4 matches ephind 2 typecode=16 datatype[2]=16
6 'DECJ' repeat=24 width=24 typecode=16 comment=Dec (J2000) (hh:mm:ss.ssssssss)
psrephem::fits_map column 5 matches ephind 3 typecode=16 datatype[3]=16
7 'PMRA' repeat=1 width=8 typecode=82 comment=Proper motion in RA
psrephem::fits_map column 6 matches ephind 21 typecode=82 datatype[1]=82
8 'PMDEC' repeat=1 width=8 typecode=82 comment=Proper motion in DEC
psrephem::fits_map column 7 matches ephind 20 typecode=82 datatype[1]=82
9 'ELONG' repeat=1 width=8 typecode=82 comment=[deg] Ecliptic longitude
psrephem::fits_map column 8 matches ephind 6 typecode=82 datatype[1]=82
10 'ELAT' repeat=1 width=8 typecode=82 comment=Ecliptic latitude
psrephem::fits_map column 9 matches ephind 7 typecode=82 datatype[1]=82
11 'PMELONG' repeat=1 width=8 typecode=82 comment=Proper motion in ecliptic longitude
psrephem::fits_map column 10 matches ephind 23 typecode=82 datatype[1]=82
12 'PMELAT' repeat=1 width=8 typecode=82 comment=Proper motion in ecliptic latitude
psrephem::fits_map column 11 matches ephind 25 typecode=82 datatype[1]=82
13 'PX' repeat=1 width=8 typecode=82 comment=Parallax
psrephem::fits_map column 12 matches ephind 28 typecode=82 datatype[1]=82
14 'POSEPOCH' repeat=1 width=8 typecode=82 comment=Epoch at which the position is measured (MJD)
psrephem::fits_map column 13 matches ephind 27 typecode=82 datatype[4]=82
15 'IF0' repeat=1 width=4 typecode=41 comment=Integer mHz barycentric spin freq
psrephem::fits_map unrecognized parameter='IF0'
16 'FF0' repeat=1 width=8 typecode=82 comment=Fractional mHz barycentric spin freq
psrephem::fits_map column 15 matches ephind 9 typecode=82 datatype[1]=82
17 'F1' repeat=1 width=8 typecode=82 comment=Time deriv of barycentric spin freq
psrephem::fits_map column 16 matches ephind 10 typecode=82 datatype[1]=82
18 'F2' repeat=1 width=8 typecode=82 comment=2nd time deriv of barycentric spin freq
psrephem::fits_map column 17 matches ephind 11 typecode=82 datatype[1]=82
19 'F3' repeat=1 width=8 typecode=82 comment=3rd time deriv of barycentric spin freq
psrephem::fits_map column 18 matches ephind 12 typecode=82 datatype[1]=82
20 'PEPOCH' repeat=1 width=8 typecode=82 comment=Epoch of period/frequency determination
psrephem::fits_map column 19 matches ephind 8 typecode=82 datatype[4]=82
21 'DM' repeat=1 width=8 typecode=82 comment=Dispersion measure
psrephem::fits_map column 20 matches ephind 29 typecode=82 datatype[1]=82
22 'DM1' repeat=1 width=8 typecode=82 comment=Time deriv of dispersion measure
psrephem::fits_map column 21 matches ephind 30 typecode=82 datatype[1]=82
23 'RM' repeat=1 width=8 typecode=82 comment=Rotation measure
psrephem::fits_map column 22 matches ephind 39 typecode=82 datatype[1]=82
24 'BINARY' repeat=8 width=8 typecode=16 comment=Binary model
psrephem::fits_map column 23 matches ephind 49 typecode=16 datatype[0]=16
25 'T0' repeat=1 width=8 typecode=82 comment=Epoch of periastron
psrephem::fits_map column 24 matches ephind 56 typecode=82 datatype[4]=82
26 'PB' repeat=1 width=8 typecode=82 comment=Binary period of pulsar
psrephem::fits_map column 25 matches ephind 59 typecode=82 datatype[1]=82
27 'A1' repeat=1 width=8 typecode=82 comment=Projected semi-major axis of orbit
psrephem::fits_map column 26 matches ephind 50 typecode=82 datatype[1]=82
28 'OM' repeat=1 width=8 typecode=82 comment=Longitude of periastron
psrephem::fits_map column 27 matches ephind 62 typecode=82 datatype[1]=82
29 'OMDOT' repeat=1 width=8 typecode=82 comment=[deg/yr]Periastron advance
psrephem::fits_map column 28 matches ephind 77 typecode=82 datatype[1]=82
30 'ECC' repeat=1 width=8 typecode=82 comment=Eccentricity
psrephem::fits_map column 29 matches ephind 53 typecode=82 datatype[1]=82
31 'PBDOT' repeat=1 width=8 typecode=82 comment=First time deriv of binary period
psrephem::fits_map column 30 matches ephind 81 typecode=82 datatype[1]=82
32 'GAMMA' repeat=1 width=8 typecode=82 comment=Post-Keplerian "gamma" term
psrephem::fits_map column 31 matches ephind 80 typecode=82 datatype[1]=82
33 'SINI' repeat=1 width=8 typecode=82 comment=Sine of inclination angle
psrephem::fits_map column 32 matches ephind 85 typecode=82 datatype[1]=82
34 'M2' repeat=1 width=8 typecode=82 comment=Companion mass
psrephem::fits_map column 33 matches ephind 89 typecode=82 datatype[1]=82
35 'T0_2' repeat=1 width=8 typecode=82 comment=Epoch of periastron [2nd orbit]
psrephem::fits_map column 34 matches ephind 57 typecode=82 datatype[4]=82
36 'PB_2' repeat=1 width=8 typecode=82 comment=Binary period of pulsar [2nd orbit]
psrephem::fits_map column 35 matches ephind 60 typecode=82 datatype[1]=82
37 'A1_2' repeat=1 width=8 typecode=82 comment=asin(i) of 2nd orbit
psrephem::fits_map column 36 matches ephind 51 typecode=82 datatype[1]=82
38 'OM_2' repeat=1 width=8 typecode=82 comment=[deg] Longitude of periastron [2nd orbit]
psrephem::fits_map column 37 matches ephind 63 typecode=82 datatype[1]=82
39 'ECC_2' repeat=1 width=8 typecode=82 comment=Eccentricity [2nd orbit]
psrephem::fits_map unrecognized parameter='ECC_2'
40 'DTHETA' repeat=1 width=8 typecode=82 comment=Relativistic deformation of the orbit
psrephem::fits_map column 39 matches ephind 94 typecode=82 datatype[1]=82
41 'A1DOT' repeat=1 width=8 typecode=82 comment=Rate of change of asin(i)
psrephem::fits_map unrecognized parameter='A1DOT'
42 'ECCDOT' repeat=1 width=8 typecode=82 comment=Rate of change of eccentricity
psrephem::fits_map unrecognized parameter='ECCDOT'
43 'TASC' repeat=1 width=8 typecode=82 comment=Epoch of ascending node
psrephem::fits_map column 42 matches ephind 106 typecode=82 datatype[4]=82
44 'EPS1' repeat=1 width=8 typecode=82 comment=ECC sin(OM) (ELL1 binary model)
psrephem::fits_map column 43 matches ephind 104 typecode=82 datatype[1]=82
45 'EPS2' repeat=1 width=8 typecode=82 comment=ECC cos(OM) (ELL1 binary model)
psrephem::fits_map column 44 matches ephind 105 typecode=82 datatype[1]=82
46 'EPS1DOT' repeat=1 width=8 typecode=82 comment=Time derivative of EPS1
psrephem::fits_map unrecognized parameter='EPS1DOT'
47 'EPS2DOT' repeat=1 width=8 typecode=82 comment=Time derivative of EPS2
psrephem::fits_map unrecognized parameter='EPS2DOT'
48 'OM2DOT' repeat=1 width=8 typecode=82 comment=Second time derivative of omega
psrephem::fits_map unrecognized parameter='OM2DOT'
49 'XOMDOT' repeat=1 width=8 typecode=82 comment=Omega-dot minus GR prediction
psrephem::fits_map column 48 matches ephind 97 typecode=82 datatype[1]=82
50 'XPBDOT' repeat=1 width=8 typecode=82 comment=Pbdot minus GR prediction
psrephem::fits_map column 49 matches ephind 98 typecode=82 datatype[1]=82
51 'MTOT' repeat=1 width=8 typecode=82 comment=[M_sun] Total system mass
psrephem::fits_map column 50 matches ephind 88 typecode=82 datatype[1]=82
52 'DR' repeat=1 width=8 typecode=82 comment=Relativistic deformation of the orbit
psrephem::fits_map column 51 matches ephind 99 typecode=82 datatype[1]=82
53 'X2DOT' repeat=1 width=8 typecode=82 comment=Second time derivative of x=a1
psrephem::fits_map unrecognized parameter='X2DOT'
54 'PMRV' repeat=1 width=8 typecode=82 comment=Radial proper motion
psrephem::fits_map column 53 matches ephind 26 typecode=82 datatype[1]=82
55 'START' repeat=1 width=8 typecode=82 comment=Epoch of start of fit
psrephem::fits_map column 54 matches ephind 40 typecode=82 datatype[4]=82
56 'FINISH' repeat=1 width=8 typecode=82 comment=Epoch of end of fit
psrephem::fits_map column 55 matches ephind 41 typecode=82 datatype[4]=82
57 'TRES' repeat=1 width=8 typecode=82 comment=RMS timing residual
psrephem::fits_map column 56 matches ephind 137 typecode=82 datatype[1]=82
58 'NTOA' repeat=1 width=2 typecode=21 comment=Number of TOAs in timing fit
psrephem::fits_map column 57 matches ephind 138 typecode=21 datatype[5]=31
59 'CLK' repeat=12 width=12 typecode=16 comment=Terrestrial time standard
psrephem::fits_map column 58 matches ephind 42 typecode=16 datatype[0]=16
60 'EPHEM' repeat=12 width=12 typecode=16 comment=Solar system ephemeris
psrephem::fits_map column 59 matches ephind 43 typecode=16 datatype[0]=16
61 'TZRIMJD' repeat=1 width=4 typecode=41 comment=Reference TOA (Integer part)
psrephem::fits_map unrecognized parameter='TZRIMJD'
62 'TZRFMJD' repeat=1 width=8 typecode=82 comment=Reference TOA (Fractional part)
psrephem::fits_map column 61 matches ephind 44 typecode=82 datatype[4]=82
63 'TZRFRQ' repeat=1 width=8 typecode=82 comment=Frequency of reference TOA
psrephem::fits_map column 62 matches ephind 45 typecode=82 datatype[1]=82
64 'TZRSITE' repeat=8 width=8 typecode=16 comment=Observatory code of reference TOA
psrephem::fits_map column 63 matches ephind 46 typecode=16 datatype[0]=16
65 'GLEP_1' repeat=1 width=8 typecode=82 comment=Epoch [Tempo Glitch 1]
psrephem::fits_map column 64 matches ephind 113 typecode=82 datatype[4]=82
66 'GLPH_1' repeat=1 width=8 typecode=82 comment=Phase increment [Tempo Glitch 1]
psrephem::fits_map column 65 matches ephind 114 typecode=82 datatype[1]=82
67 'GLF0_1' repeat=1 width=8 typecode=82 comment=Permanent pulse freq increment [Glitch 1]
psrephem::fits_map column 66 matches ephind 115 typecode=82 datatype[1]=82
68 'GLF1_1' repeat=1 width=8 typecode=82 comment=Permanent freq deriv incr. [Glitch 1]
psrephem::fits_map column 67 matches ephind 116 typecode=82 datatype[1]=82
69 'GLF0D_1' repeat=1 width=8 typecode=82 comment=Spin freq increment [Decaying Glitch 1]
psrephem::fits_map column 68 matches ephind 117 typecode=82 datatype[1]=82
psrephem::fits_map exit
psrephem::load PSRFITS nrows=1 ncols=69 loading row=1
Legacy::psrephem::size_dataspace zero
psrephem::load string:'5' in column 3 (EPHVER)
psrephem::load string:'J0032+6946' in column 4 (PSRJ)
psrephem::load h:m:s:'00:32:41.2538555' in column 5 (RAJ)
psrephem::load d:m:s:'+69:46:27.91359' in column 6 (DECJ)
psrephem::load null in column 7 (PMRA)
psrephem::load null in column 8 (PMDEC)
psrephem::load null in column 9 (ELONG)
psrephem::load null in column 10 (ELAT)
psrephem::load null in column 11 (PMELONG)
psrephem::load null in column 12 (PMELAT)
psrephem::load null in column 13 (PX)
psrephem::load double:'0.119421' in column 16 (F)
psrephem::load double:'-2.64281e-15' in column 17 (F1)
psrephem::load null in column 18 (F2)
psrephem::load null in column 19 (F3)
psrephem::load double:'79.9996' in column 21 (DM)
psrephem::load null in column 22 (DM1)
psrephem::load null in column 23 (RM)
psrephem::load string:'DD' in column 24 (BINARY)
psrephem::load double:'527.622' in column 26 (PB)
psrephem::load double:'178.675' in column 27 (A1)
psrephem::load double:'147.452' in column 28 (OM)
psrephem::load null in column 29 (OMDOT)
psrephem::load double:'0.000531781' in column 30 (E)
psrephem::load null in column 31 (PBDOT)
psrephem::load null in column 32 (GAMMA)
psrephem::load null in column 33 (SINI)
psrephem::load null in column 34 (M2)
psrephem::load null in column 35 (T0_2)
psrephem::load null in column 36 (PB_2)
psrephem::load null in column 37 (A1_2)
psrephem::load null in column 38 (OM_2)
psrephem::load null in column 40 (DTHETA)
psrephem::load null in column 43 (TASC)
psrephem::load null in column 44 (EPS1)
psrephem::load null in column 45 (EPS2)
psrephem::load null in column 49 (XOMDOT)
psrephem::load null in column 50 (XPBDOT)
psrephem::load null in column 51 (MTOT)
psrephem::load null in column 52 (DR)
psrephem::load null in column 54 (PMRV)
psrephem::load double:'31.783' in column 57 (TRES)
psrephem::load integer:'261' in column 58 (NTOA)
psrephem::load null in column 59 (CLK)
psrephem::load string:'DE440' in column 60 (EPHEM)
psrephem::load double:'820.049' in column 63 (TZRFRQ)
psrephem::load string:'1' in column 64 (TZRSITE)
psrephem::load null in column 65 (GLEP_1)
psrephem::load null in column 66 (GLPH_1)
psrephem::load null in column 67 (GLF0_1)
psrephem::load null in column 68 (GLF1_1)
psrephem::load null in column 69 (GLF0D_1)
psrephem::load PSRFITS
Segmentation fault (core dumped)
Here is a backtrace from gdb
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff69dee21 in __strnlen_avx2 () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff69dee21 in __strnlen_avx2 () from /lib64/libc.so.6
#1 0x00007ffff69b2512 in strndup () from /lib64/libc.so.6
#2 0x00007ffff7ee398e in _gfortrani_fc_strdup_notrim (src=src@entry=0x0,
src_len=src_len@entry=6857328)
at /home/builder/ktietz/cos6/ci_cos6/ctng-compilers_1622658800915/work/.build/x86_64-conda-linux-gnu/src/gcc/libgfortran/runtime/string.c:144
#3 0x00007ffff7fad9ac in _gfortrani_parse_format (
dtp=dtp@entry=0x7fffffffd540)
at /home/builder/ktietz/cos6/ci_cos6/ctng-compilers_1622658800915/work/.build/x86_64-conda-linux-gnu/src/gcc/libgfortran/io/format.c:1316
#4 0x00007ffff7fb8ac3 in data_transfer_init (dtp=0x7fffffffd540, read_flag=0)
at /home/builder/ktietz/cos6/ci_cos6/ctng-compilers_1622658800915/work/.build/x86_64-conda-linux-gnu/src/gcc/libgfortran/io/transfer.c:2793
#5 0x000000000063a5aa in wr_eph_str_ ()
#6 0x000000000063d031 in eph_wr_str (
buffer=0x7fffffffd880 ' ' <repeats 80 times>, "\001", buflen=80,
ephind=<optimized out>, parmStatus=<optimized out>,
value_str=0x7fffffffd840 "J0032+6946", value_double=<optimized out>,
value_integer=<optimized out>, error_double=<optimized out>)
at ephio_c.c:154
#7 0x000000000061d564 in Legacy::psrephem::unload(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const ()
#8 0x000000000061d7f8 in Legacy::psrephem::unload(_IO_FILE*) const ()
#9 0x000000000057491b in void unload_text<Pulsar::Parameters>(fitsfile*, char const*, char const*, Pulsar::Parameters const*, bool) ()
#10 0x00000000005295ef in Pulsar::FITSArchive::unload_file(char const*) const
()
#11 0x00000000004cedde in Pulsar::Archive::unload(char const*) const ()
#12 0x0000000000432cb8 in main ()
Hi Ryan,
In addition to the segfault, there are a lot of unrecognized parameters that are likely being silently ignored; e.g.
15 'IF0' repeat=1 width=4 typecode=41 comment=Integer mHz barycentric spin freq
psrephem::fits_map unrecognized parameter='IF0'
39 'ECC_2' repeat=1 width=8 typecode=82 comment=Eccentricity [2nd orbit]
psrephem::fits_map unrecognized parameter='ECC_2'
41 'A1DOT' repeat=1 width=8 typecode=82 comment=Rate of change of asin(i)
psrephem::fits_map unrecognized parameter='A1DOT'
42 'ECCDOT' repeat=1 width=8 typecode=82 comment=Rate of change of eccentricity
psrephem::fits_map unrecognized parameter='ECCDOT'
... just a note to our future selves for now ...
Cheers,
Willem
There were some keywords that were missing from our template fits file, so I updated it to include just about every valid TEMPO keyword. Perhaps I went a bit overboard....I can clean that up.
If those keywords are useful/necessary, we can also add them to psrchive/Util/tempo/keys.dat to update the legacy psrephem class.
Also, adding keywords shouldn't cause a segfault, so we should still try to track that one down ... if it is reproducable, could you please provide a sample data file?
The one I have is too big to attach via the bug tracker, but you can get
it via anonymous ftp. Instructions:
Connect via ftp to ftp.gb.nrao.edu. Username is "anonymous" and
password is your email
cd to pub/rlynch
get GUPPI_J0032+69_57131.fits
Let me know if there are any issues.