Opened 14 years ago
Closed 14 years ago
#112 closed defect (fixed)
blflag: dies when trying to read flag data
Reported by: | VincentMcIntyre | Owned by: | MarkWieringa |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | MIRIAD - main line | Version: | |
Keywords: | blflag | Cc: | |
Estimated Number of Hours: | 0 | Add Hours to Ticket: | 0 |
Billable?: | yes | Total Hours: | 0 |
Description
blflag is unable to display recent CABB data, it dies while reading the data in.
To reproduce:
atlod in=2010-05-13_1001.C1825 out=test2 options=birdie,rfiflag,xycorr ifsel=1 ...some warnings but works ok... blflag vis=test2 options=nobase select="source(1253-055)" axis=time,amplitude device=/xs BlFlag: version 23-Apr-09 Reading the data ... ### Fatal Error: Variable systemp was not initialised before it was required, in UVREAD
The error message comes from uvio.c, uv_checkvar(), which is being called from uvinfo_variance(). uvinfo_variance is called by uvinfo_c(), which is called by blflag.for's flagchk() routine.
stracing shows the error occurs while reading the flag table:
strace -f -s2048 -o t.blflag blflag vis=test2 options=nobase select="source(1253-055)" axis=time,amplitude device=/xs
Looking at the end of the trace file, we see
27090 open("test2/flags", O_RDONLY) = 5 27090 lseek(5, 0, SEEK_END) = 3003444 27090 lseek(5, 0, SEEK_SET) = 0 27090 read(5, "\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\177\377\377\200\177\377\377 ... 374\374y\371\371\371\177"..., 16384) = 16384 27090 write(2, "### Fatal Error: Variable systemp was not initialised before it was required, in UVREAD\n", 89) = 89 27090 close(5) = 0 27090 close(3) = 0 27090 lseek(2, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) 27090 fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 27090 lseek(2, 0, SEEK_END) = -1 ESPIPE (Illegal seek) 27090 lseek(2, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) 27090 lseek(1, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) 27090 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 27090 lseek(1, 0, SEEK_END) = -1 ESPIPE (Illegal seek) 27090 lseek(1, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) 27090 munmap(0x2b9b6fc57000, 4096) = 0 27090 exit_group(1) = ?
Other tasks are able to look at the uv data, e.g. uvplt:
uvplt vis=test2 device=/xs axis=uu,vv stokes=xx options=nobase uvplt: Revision 1.10, 2010/04/30 08:23:28 UTC -1.00000003E+32 1.00000003E+32 -1.00000003E+32 1.00000003E+32 Will plot unflagged data File # 1 = test2 test2 87.2750 GHz Read 2840 visibilities from all files Plot 2840 points
Change History (3)
comment:1 Changed 14 years ago by
Owner: | changed from MarkCalabretta to MarkWieringa |
---|
comment:2 Changed 14 years ago by
Status: | new → assigned |
---|
comment:3 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Warwick has written a program to fix the data files - they now load without warnings and blflag is happy. The original data files will be replaced with the fixed ones.
I suspect this is caused by file corruption in the atlod stage - we're pursuing the atlod issue first, will revisit this when atlod is happy.