-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
>Hi CÃdric,
>> there is a little problem in libsrc/posixio.c
>> (I think).
>>
>> In px_pgout, you do:
>> -----
>> if(write(nciop->fd, vp, extent) != (ssize_t) extent)
>> {
>> return errno;
>> }
>> -----
>> Problem is 'write' may write less bytes than you request.
>> In which case errno will be ENOERR, so the caller of px_pgout
>> thinks everything went fine, 'extent' bytes were written
>> to the file.
>> On the next call to px_pgout, the following assert will fail.
>> -----
>> assert(*posp == OFF_NONE || *posp == lseek(nciop->fd, 0,
>> SEEK_CUR));
>> -----
>> because the previous call didn't update posp. (Or other functions
>> where a similar assert is done will fail.)
>>
>> You should loop the write, something like
>> (adapt to match your taste):
>> -----
>> count = 0;
>> while ((n = write(XXX)) != -1) {
>> count += n;
>> if (count == extent) break;
>> }
>> if (n == -1) return errno;
>> -----
>Thanks for diagnosing the problem and suggesting a fix! You are
>absolutely right about this, and we have already tested the fix, which
>will be in the upcoming 4.1 release. This is an important bug fix that
>explains several previously reported assertion violations when writing
>to a disk that was nearly full.
>--Russ
Hi
we have a similiar problem for reading of netCDF files from NFS storage
by idl with the build of
** NCDF - IDL NetCDF support (not loaded)
Version: 4.1.1, Build Date: JUN 18 2010, Source: ITT Visual
Information Solutions
The datafile can be readed on a local storage but not from NFS device.
idl: posixio.c:265: px_pgin: Assertion `*posp == ((off_t)(-1)) || *posp
== lseek(nciop->fd, 0, 1)' failed.
Aborted
Russ, is that fix incorporated into 4.1? And do you think it makes a
difference for reading? Need it be fixed there too?
If I look with stat at one of the example files it tells on the nfs storage .
stat mls_noonpos_060913.nc
File: „mls_noonpos_060913.nc“
Size: 6876612 Blocks: 13432 IO Block: 1048576 reguläre Datei
Device: 15h/21d Inode: 335102951 Links: 1
and on the local filesystem
stat mls_noonpos_060913.nc
File: „mls_noonpos_060913.nc“
Size: 6876612 Blocks: 13456 IO Block: 4096 reguläre Datei
Device: 801h/2049d Inode: 110725044 Links: 1
I can provide the example if you want it (6.6MB)
cheers
Reimar
- --
Reimar Bauer
Forschungszentrum Jülich GmbH
Institut für Energie- und Klimaforschung
IEK-7: Stratosphäre
D - 52425 Jülich
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk2cK0wACgkQ5aOc3Q9hk/mHaQCZATcFzv1c48bakRSkTiwTuna2
UroAoMHXo2jlFZ+3sKIpPbkBh5SuDQFK
=et5m
-----END PGP SIGNATURE-----
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDirig Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr. Achim Bachem (Vorsitzender),
Dr. Ulrich Krafft (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Besuchen Sie uns auf unserem neuen Webauftritt unter www.fz-juelich.de