#3388 closed defect (fixed)
dods driver crashes on x-flip read, 64bit OSX
Reported by: | kyngchaos | Owned by: | pvachon |
---|---|---|---|
Priority: | normal | Milestone: | 1.7.1 |
Component: | GDAL_Raster | Version: | 1.7.0 |
Severity: | normal | Keywords: | |
Cc: | pvachon |
Description
gdriver/dods autotest #5 crashes on 64bit OSX 10.6. It's fine on 32bit OSX.
I happens in GDALCopyWordsFromT():
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000204800598 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 org.gdal.gdal 0x00000001011d0a82 void (anonymous namespace)::GDALCopyWordsFromT<float>(float const*, int, bool, void*, GDALDataType, int, int) + 643 1 org.gdal.gdal 0x0000000101075707 DODSRasterBand::IReadBlock(int, int, void*) + 2845 2 org.gdal.gdal 0x00000001011ca2a3 GDALRasterBand::GetLockedBlockRef(int, int, int) + 279 3 org.gdal.gdal 0x00000001011d326e GDALRasterBand::IRasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, int, int) + 402 4 org.gdal.gdal 0x00000001011f11f4 GDALChecksumImage + 283 5 _gdal.so 0x0000000100522abd _wrap_Band_Checksum + 1140 6 org.python.python 0x0000000100017173 PyObject_Call + 112 ...
Change History (5)
comment:1 by , 14 years ago
Cc: | added |
---|---|
Milestone: | → 1.7.1 |
comment:2 by , 14 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:4 by , 14 years ago
I noticed that and was wondering about it, but figured it had something to do with the flipping. I'll have a chance to test it later this evening.
Note:
See TracTickets
for help on using tickets.
I've fixed this one up (r18738 for trunk, r18739 for 1.7). I had never built the DODS driver, so never saw the unit test failure. Apparently it's using GDALCopyWords with a negative output offset, and since internally GDALCopyWordsT stores the offset amount in an unsigned integer, nasty things were happening.