Opened 16 years ago

Last modified 16 years ago

#2272 closed defect

For blocks bigger than the CacheMax GetBlockRef returns an error — at Version 1

Reported by: ilucena Owned by: warmerdam
Priority: high Milestone: 1.6.0
Component: GDAL_Raster Version: svn-trunk
Severity: normal Keywords: INGR, CCITT4, gdalrasterblock
Cc: Even Rouault

Description (last modified by warmerdam)

The INGR driver is producing a GetBlockRef Error when reading CCITT4 compressed images that produce a block in memory larger than the CacheMax.

That is what I found:

The comment on that line: http://trac.osgeo.org/gdal/browser/trunk/gdal/gcore/gdalrasterblock.cpp?rev=13965#L379 says "don't flush this block!" but that is exactly what is happening 7 lines after that.

I made that change and the "GetBlockRef Error" problem with INGR, CCITT4 disappear:

        if (nLockCount == 0)
        {
            if (!GDALFlushCacheBlock())
            {
                eErr = CE_Failure;
                break;
            }
        }

The GDALFlushCacheBlock() was added my Even in 2/3/2008. I would suggest a revision.

Regards.

Change History (1)

comment:1 by warmerdam, 16 years ago

Description: modified (diff)
Milestone: 1.5.21.5.1
Priority: normalhigh

I would like to correct this before preparing 1.5.1 if practical.

Note: See TracTickets for help on using tickets.