I'm running into a problem with ORAC-DR that looks like the parameter
system isn't closing GLOBAL.sdf after reading from or writing to it. This
manifests itself in NDFTRACE failing with:
#667 Err: !! Requested data extends beyond the end of the record; record length is 8
#667 Err: ! bytes (possible corrupt HDS container file
#667 Err: ! /home/bradc/data/oracdr/reduced/uist/20070608/adam_14199/GLOBAL.sdf).
#667 Err: ! HDS_OPEN: Error opening an HDS container file.
#667 Err: ! SUBPAR: Failed to update GLOBAL file for parameter NDF
#667 Err: !! DAT__INCHK: Integrity check
#667 Err: Error in obeyw to monolith ndfpack_mon (task=ndftrace): 147358691
Tim and I have had a look through pcs/subpar, paying particular attention
to sup_get0c.f, as if I run valgrind to track open file descriptors on the
monoliths used by ORAC-DR I get things like:
==13509== Open file descriptor 29: /home/bradc/data/oracdr/reduced/uist/20070608/adam_13501/GLOBAL.sdf
==13509== at 0x3A60CBF2E0: __open_nocancel (in /lib64/libc-2.5.so)
==13509== by 0x3A60C68F12: _IO_file_open (in /lib64/libc-2.5.so)
==13509== by 0x3A60C6905B: _IO_file_fopen@@GLIBC_2.2.5 (in /lib64/libc-2.5.so)
==13509== by 0x3A60C5EB93: __fopen_internal (in /lib64/libc-2.5.so)
==13509== by 0xC7BE127: rec1_open_file (rec1_open_file.c:409)
==13509== by 0xC7C05CC: rec_attach_file (rec_attach_file.c:193)
==13509== by 0xC7BA756: hdsOpen (hdsopclos.c:72)
==13509== by 0xC53422A: hds_open_ (fortran_interface.c:3215)
==13509== by 0xB1A445A: subpar_hdsopen_ (sup_hdsopen.f:177)
==13509== by 0xB1A418A: subpar_hdslocs_ (sup_hdslocs.f:152)
==13509== by 0xB1A2AF8: subpar_hdsass_ (sup_hdsass.f:172)
==13509== by 0xB19ACB5: subpar_findhds_ (sup_findhds.f:395)
==13509== by 0xB191C8C: subpar_assoc_ (sup_assoc.f:188)
==13509== by 0xB19BF5A: subpar_get0c_ (sup_get0c.f:228)
==13509== by 0xA7E3F44: par_get0c_ (par_get0c.f:111)
==13509== by 0xA7E0F1C: par_choic_ (par_choic.f:253)
==13509== by 0x426A24: ccd1_oplog_ (fio1_oplog.f:121)
==13509== by 0x4258CC: ccd1_start_ (ccd1_start.f:123)
==13509== by 0x408432: debias_ (debias.f:780)
==13509== by 0x406107: ccdpack_red_ (ccdpack_red.f:120)
==13509== by 0x405D2E: dtask_applic_ (dtask_applic.f:66)
==13509== by 0xAA56B3C: dtask_obey_ (dts_obey.f:226)
==13509== by 0xAA56653: dtask_gsoc_ (dts_gsoc.f:213)
==13509== by 0xAA55E1F: dtask_dtask_ (dts_dtask.f:249)
==13509== by 0x405BF8: MAIN_ (dtask_main.f:132)
==13509== by 0x56246D: main (in /star/bin/ccdpack/ccdpack_red)
The only monoliths that have open file descriptors to GLOBAL.sdf through
this runthrough of ORAC-DR are ccdpack_red (via debias), ccdpack_res (via
ccdsetup), and ndfpack_mon (via...uh, nothing, it's a dtask call).
Anybody have any idea why this should be happening, and if the param
system can close the GLOBAL.sdf file descriptor on completion of a
task/action?
Cheers,
Brad.
_______________________________________________
Stardev mailing list
[log in to unmask]
http://mailman.jach.hawaii.edu/mailman/listinfo/stardev
|