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 MarkCalabretta

Owner: changed from MarkCalabretta to MarkWieringa

comment:2 Changed 14 years ago by MarkWieringa

Status: newassigned

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.

comment:3 Changed 14 years ago by MarkWieringa

Resolution: fixed
Status: assignedclosed

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.

Note: See TracTickets for help on using tickets.