Changes between Initial Version and Version 4 of Ticket #850
- Timestamp:
- Jul 15, 2008, 3:55:11 AM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #850
- Property Cc added
- Property Keywords ecw added
-
Ticket #850 – Description
initial v4 1 {{{2 1 Hi, 3 2 4 I'm using a gdal cvs checkout from last week, the last ECW sources and MrSID 5 libraries. I've compiled the gdal and 6 7 ecw library with /MDd option. 3 I'm using a gdal cvs checkout from last week, the last ECW sources and MrSID libraries. I've compiled the gdal and ecw library with /MDd option. 8 4 9 5 Description: 6 10 7 * When I try to close a ecw or mrsid file, GDALClose function crashes. 11 8 12 9 Reproduction: 13 * The call is like : GDALClose(theDataset); // theDataSet is a GDALDatasetH 14 pointer.10 11 * The call is like : GDALClose(theDataset); // theDataSet is a GDALDatasetH pointer. 15 12 16 13 Causes: 17 * ECW case: When GDALClose calls "delete poDS;" this calls the ECWDataset18 destructor. In this method, the "delete19 14 20 poFileView;" call crash. 21 If I comment the next piece of code: 15 * ECW case: When GDALClose calls "delete poDS;" this calls the ECWDataset destructor. In this method, the "delete poFileView;" call crash. 16 17 If I comment the next piece of code: 18 {{{ 22 19 // if( poFileView != NULL ) 23 20 // { 24 // poUnderlyingIOStream = ((VSIIOStream *)(poFileView->GetStream()));21 // poUnderlyingIOStream = ((VSIIOStream* (poFileView->GetStream())); 25 22 // delete poFileView; 26 23 // } 27 24 }}} 28 25 not crash but there are memory leaks, of course, :-) 29 26 30 * MrSID case: When GDALClose calls "delete poDS;" this calls the MrSIDDataset 31 destructor. In this method, various 32 33 deletes crashes: 34 27 * MrSID case: When GDALClose calls "delete poDS;" this calls the MrSIDDataset destructor. In this method, various deletes crashes: 28 {{{ 35 29 if ( poImageReader && !bIsOverview ) 36 30 delete poImageReader; … … 45 39 CPLFree( papoOverviewDS ); 46 40 } 41 }}} 47 42 48 and also crash in MrSIDRasterBand destructor: 43 and also crash in MrSIDRasterBand destructor: 44 {{{ 49 45 if ( poPixel ) 50 46 delete poPixel; 47 }}} 51 48 52 If I comment all those lines all works correctly but also there are memory 53 leaks like the case of ecw. 49 If I comment all those lines all works correctly but also there are memory leaks like the case of ecw. 54 50 55 51 Thanks a lot. 56 }}}