NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: [netcdfgroup] a possible problem in libsrc/posixio.c

-----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



  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: