Opened 16 years ago

Closed 16 years ago

#2204 closed defect (invalid)

Unexpected ECW Creation Option warning on TARGET

Reported by: warmerdam Owned by: warmerdam
Priority: normal Milestone:
Component: GDAL_Raster Version: 1.5.0
Severity: normal Keywords: ECW
Cc: Even Rouault, jrepetto@…

Description

gdal_translate -of ECW -co TARGET=94 utm.tif out.ecw 
Input file size is 512, 512
Warning 6: '94' is an unexpected value for TARGET creation option of type float.
0...10...20...30...40...50...60...70...80...90...100 - done.

Change History (9)

comment:1 by warmerdam, 16 years ago

Frank Warmerdam wrote :

The "%" is improper and should not be included. However, I tried this and I see the same behavior you do. I have filed a ticket on this issue and it should be fixed by 1.5.1. In the meantime you can just ignore this warning.

http://trac.osgeo.org/gdal/ticket/2204

The validation of creation options is new in GDAL 1.5.0.

Hello Frank,

Thanks for your answer. But the TARGET parameter is set to the default value (75%), so the result file is 26 Mb large, instead of 6 Mb -> I have reinstalled GDAL 1.4.2.

Regards, Jean-Claude

comment:2 by Even Rouault, 16 years ago

I've fixed the validation of values for creation option parameters of type float in trunk in r13731 and in branches/1.5 in r13732. However, this is just a warning and it should have no impact on ECW driver behaviour.

So, there's probably another issue with the ECW driver.

comment:3 by Even Rouault, 16 years ago

Cc: jrepetto@… added

Jean-Claude,

I've played a bit with the TARGET creation option and it seems to work as expected. I get small files with TARGET=99, larger files with TARGET=75, and still larger files with TARGET=0. What is exactly your problem ? Which differences do you observe with GDAL 1.4.2 behaviour ?

The warning you got when specifying "TARGET=94" has been fixed in trunk and in branches/1.5, and had no impact on the ECW driver behaviour.

comment:4 by jcrepetto, 16 years ago

Even,

You are right, the size of the ECW file created by GDAL 1.5.0 is correct. But I get a segmentation fault. I hadn't reported it initially because I thought it came from the wrong parameter.

gdal_translate -of ECW -co TARGET=94% -co DATUM=NTF -co PROJ=LM1FRA2D -a_ullr 970000 1860000 980000 1850000 CANNES-64k.png CANNES-1.5.0.ecw
Input file size is 4000, 4000
Warning 6: '94%' is an unexpected value for TARGET creation option of type float.
0...10...20...30...40...50...60...70...80...90...100 - done.
*** glibc detected *** gdal_translate: double free or corruption (!prev): 0x000000000060f360 ***
======= Backtrace: =========
/lib/libc.so.6[0x2b11394e2aad]
/lib/libc.so.6(cfree+0x76)[0x2b11394e4796]
/usr/lib/libgdal.so.1(_ZN17GDALDriverManagerD0Ev+0x49)[0x2b11371d29e9]
gdal_translate[0x403d4c]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2b1139493b74]
gdal_translate(__gxx_personality_v0+0xf9)[0x402019]
======= Memory map: ========
00400000-00405000 r-xp 00000000 03:07 1026520                            /usr/bin/gdal_translate
00604000-00605000 r--p 00004000 03:07 1026520                            /usr/bin/gdal_translate
00605000-00606000 rw-p 00005000 03:07 1026520                            /usr/bin/gdal_translate
00606000-01424000 rw-p 00606000 00:00 0                                  [heap]
40000000-40001000 ---p 40000000 00:00 0
40001000-40801000 rw-p 40001000 00:00 0
40801000-40802000 ---p 40801000 00:00 0
40802000-41002000 rw-p 40802000 00:00 0
41002000-41003000 ---p 41002000 00:00 0
41003000-41803000 rw-p 41003000 00:00 0
41803000-41804000 ---p 41803000 00:00 0
41804000-42004000 rw-p 41804000 00:00 0
42004000-42005000 ---p 42004000 00:00 0
42005000-42805000 rw-p 42005000 00:00 0
2b1136d4d000-2b1136d68000 r-xp 00000000 03:07 1336724                    /lib64/ld-2.6.1.so
2b1136d68000-2b1136d6a000 rw-p 2b1136d68000 00:00 0
2b1136d6a000-2b1136d72000 r-xp 00000000 03:07 2265993                    /usr/lib64/gdalplugins/gdal_GRASS.so
2b1136d72000-2b1136e71000 ---p 00008000 03:07 2265993                    /usr/lib64/gdalplugins/gdal_GRASS.so
2b1136e71000-2b1136e72000 rw-p 00007000 03:07 2265993                    /usr/lib64/gdalplugins/gdal_GRASS.so
2b1136e72000-2b1136e73000 rw-p 2b1136e72000 00:00 0
2b1136f67000-2b1136f68000 r--p 0001a000 03:07 1336724                    /lib64/ld-2.6.1.so
2b1136f68000-2b1136f69000 rw-p 0001b000 03:07 1336724                    /lib64/ld-2.6.1.so
2b1136f69000-2b11373d7000 r-xp 00000000 03:07 888658                     /usr/lib64/libgdal.so.1.13.0
2b11373d7000-2b11375d7000 ---p 0046e000 03:07 888658                     /usr/lib64/libgdal.so.1.13.0
2b11375d7000-2b11375f6000 r--p 0046e000 03:07 888658                     /usr/lib64/libgdal.so.1.13.0
2b11375f6000-2b1137646000 rw-p 0048d000 03:07 888658                     /usr/lib64/libgdal.so.1.13.0
2b1137646000-2b1137648000 rw-p 2b1137646000 00:00 0
2b1137648000-2b1137655000 r-xp 00000000 03:07 1722680                    /usr/lib64/libgeos_c.so.1.1.1
2b1137655000-2b1137754000 ---p 0000d000 03:07 1722680                    /usr/lib64/libgeos_c.so.1.1.1
2b1137754000-2b1137755000 rw-p 0000c000 03:07 1722680                    /usr/lib64/libgeos_c.so.1.1.1
2b1137755000-2b11377b9000 r-xp 00000000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b11377b9000-2b11379b8000 ---p 00064000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b11379b8000-2b11379ba000 r--p 00063000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b11379ba000-2b11379bc000 rw-p 00065000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b11379bc000-2b11379bd000 rw-p 2b11379bc000 00:00 0
2b11379bd000-2b11379de000 r-xp 00000000 03:07 815508                     /usr/lib64/libexpat.so.1.5.2
2b11379de000-2b1137add000 ---p 00021000 03:07 815508                     /usr/lib64/libexpat.so.1.5.2
2b1137add000-2b1137ae0000 rw-p 00020000 03:07 815508                     /usr/lib64/libexpat.so.1.5.2
2b1137ae0000-2b1137c08000 r-xp 00000000 03:07 2346309                    /usr/lib64/libNCSEcw.so.0.0.0
2b1137c08000-2b1137d08000 ---p 00128000 03:07 2346309                    /usr/lib64/libNCSEcw.so.0.0.0
2b1137d08000-2b1137d17000 rw-p 00128000 03:07 2346309                    /usr/lib64/libNCSEcw.so.0.0.0
2b1137d17000-2b1137d24000 rw-p 2b1137d17000 00:00 0
2b1137d24000-2b1137d3a000 r-xp 00000000 03:07 2346244                    /usr/lib64/libNCSCnet.so.0.0.0
2b1137d3a000-2b1137e3a000 ---p 00016000 03:07 2346244                    /usr/lib64/libNCSCnet.so.0.0.0
2b1137e3a000-2b1137e3b000 rw-p 00016000 03:07 2346244                    /usr/lib64/libNCSCnet.so.0.0.0
2b1137e3b000-2b1137e3c000 rw-p 2b1137e3b000 00:00 0
2b1137e3c000-2b1137e5e000 r-xp 00000000 03:07 2346239                    /usr/lib64/libNCSUtil.so.0.0.0
2b1137e5e000-2b1137f5e000 ---p 00022000 03:07 2346239                    /usr/lib64/libNCSUtil.so.0.0.0
2b1137f5e000-2b1137f60000 rw-p 00022000 03:07 2346239                    /usr/lib64/libNCSUtil.so.0.0.0
2b1137f60000-2b1137f61000 rw-p 2b1137f60000 00:00 0
2b1137f61000-2b1137f80000 r-xp 00000000 03:07 751750                     /usr/lib64/libogdi31.so
2b1137f80000-2b1138080000 ---p 0001f000 03:07 751750                     /usr/lib64/libogdi31.so
2b1138080000-2b1138081000 rw-p 0001f000 03:07 751750                     /usr/lib64/libogdi31.so
2b1138081000-2b11380a2000 r-xp 00000000 03:07 1239405                    /usr/lib64/libjpeg.so.62.0.0
2b11380a2000-2b11381a1000 ---p 00021000 03:07 1239405                    /usr/lib64/libjpeg.so.62.0.0
2b11381a1000-2b11381a2000 rw-p 00020000 03:07 1239405                    /usr/lib64/libjpeg.so.62.0.0
2b11381a2000-2b11381a3000 rw-p 2b11381a2000 00:00 0
2b11381a3000-2b11381fa000 r-xp 00000000 03:07 1246684                    /usr/lib64/libtiff.so.3.8.2
2b11381fa000-2b11382f9000 ---p 00057000 03:07 1246684                    /usr/lib64/libtiff.so.3.8.2
2b11382f9000-2b11382fc000 rw-p 00056000 03:07 1246684                    /usr/lib64/libtiff.so.3.8.2
2b11382fc000-2b1138320000 r-xp 00000000 03:07 440372                     /usr/lib64/libpng12.so.0.22.0
2b1138320000-2b113851f000 ---p 00024000 03:07 440372                     /usr/lib64/libpng12.so.0.22.0
2b113851f000-2b1138520000 r--p 00023000 03:07 440372                     /usr/lib64/libpng12.so.0.22.0
2b1138520000-2b1138521000 rw-p 00024000 03:07 440372                     /usr/lib64/libpng12.so.0.22.0
2b1138521000-2b1138609000 r-xp 00000000 03:07 651947                     /usr/lib64/libcfitsio.so.0
2b1138609000-2b1138709000 ---p 000e8000 03:07 651947                     /usr/lib64/libcfitsio.so.0
2b1138709000-2b113870c000 rw-p 000e8000 03:07 651947                     /usr/lib64/libcfitsio.so.0
2b113870c000-2b1138786000 rw-p 2b113870c000 00:00 0
2b1138786000-2b113879a000 r-xp 00000000 03:07 441260                     /lib64/libz.so.1.2.3
2b113879a000-2b1138899000 ---p 00014000 03:07 441260                     /lib64/libz.so.1.2.3
2b1138899000-2b113889a000 rw-p 00013000 03:07 441260                     /lib64/libz.so.1.2.3
2b113889a000-2b11388a2000 r-xp 00000000 03:07 1337294                    /lib64/librt-2.6.1.so
2b11388a2000-2b1138aa1000 ---p 00008000 03:07 1337294                    /lib64/librt-2.6.1.so
2b1138aa1000-2b1138aa2000 r--p 00007000 03:07 1337294                    /lib64/librt-2.6.1.so
2b1138aa2000-2b1138aa3000 rw-p 00008000 03:07 1337294                    /lib64/librt-2.6.1.so
2b1138aa3000-2b1138aa5000 r-xp 00000000 03:07 1337024                    /lib64/libdl-2.6.1.so
2b1138aa5000-2b1138ca5000 ---p 00002000 03:07 1337024                    /lib64/libdl-2.6.1.so
2b1138ca5000-2b1138ca6000 r--p 00002000 03:07 1337024                    /lib64/libdl-2.6.1.so
2b1138ca6000-2b1138ca7000 rw-p 00003000 03:07 1337024                    /lib64/libdl-2.6.1.so
2b1138ca7000-2b1138ca8000 rw-p 2b1138ca7000 00:00 0
2b1138ca8000-2b1138ce6000 r-xp 00000000 03:07 805609                     /usr/lib64/libcurl.so.4.0.1
2b1138ce6000-2b1138ee5000 ---p 0003e000 03:07 805609                     /usr/lib64/libcurl.so.4.0.1
2b1138ee5000-2b1138ee7000 r--p 0003d000 03:07 805609                     /usr/lib64/libcurl.so.4.0.1
2b1138ee7000-2b1138ee8000 rw-p 0003f000 03:07 805609                     /usr/lib64/libcurl.so.4.0.1
2b1138ee8000-2b1138ee9000 rw-p 2b1138ee8000 00:00 0
2b1138ee9000-2b1138fcc000 r-xp 00000000 03:07 1450692                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6.0.8
2b1138fcc000-2b11390cc000 ---p 000e3000 03:07 1450692                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6.0.8
2b11390cc000-2b11390d2000 r--p 000e3000 03:07 1450692                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6.0.8
2b11390d2000-2b11390d5000 rw-p 000e9000 03:07 1450692                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6.0.8
2b11390d5000-2b11390e7000 rw-p 2b11390d5000 00:00 0
2b11390e7000-2b1139167000 r-xp 00000000 03:07 1337002                    /lib64/libm-2.6.1.so
2b1139167000-2b1139366000 ---p 00080000 03:07 1337002                    /lib64/libm-2.6.1.so
2b1139366000-2b1139367000 r--p 0007f000 03:07 1337002                    /lib64/libm-2.6.1.so
2b1139367000-2b1139368000 rw-p 00080000 03:07 1337002                    /lib64/libm-2.6.1.so
2b1139368000-2b1139369000 rw-p 2b1139368000 00:00 0
2b1139369000-2b1139375000 r-xp 00000000 03:07 882687                     /lib64/libgcc_s.so.1
2b1139375000-2b1139475000 ---p 0000c000 03:07 882687                     /lib64/libgcc_s.so.1
2b1139475000-2b1139476000 rw-p 0000c000 03:07 882687                     /lib64/libgcc_s.so.1
2b1139476000-2b11395ac000 r-xp 00000000 03:07 1336726                    /lib64/libc-2.6.1.so
2b11395ac000-2b11397ab000 ---p 00136000 03:07 1336726                    /lib64/libc-2.6.1.so
2b11397ab000-2b11397af000 r--p 00135000 03:07 1336726                    /lib64/libc-2.6.1.so
2b11397af000-2b11397b0000 rw-p 00139000 03:07 1336726                    /lib64/libc-2.6.1.so
2b11397b0000-2b11397b5000 rw-p 2b11397b0000 00:00 0
2b11397b5000-2b11398bb000 r-xp 00000000 03:07 1722692                    /usr/lib64/libgeos.so.2.2.3
2b11398bb000-2b11399bb000 ---p 00106000 03:07 1722692                    /usr/lib64/libgeos.so.2.2.3
2b11399bb000-2b11399c4000 rw-p 00106000 03:07 1722692                    /usr/lib64/libgeos.so.2.2.3
2b11399c4000-2b11399c5000 rw-p 2b11399c4000 00:00 0
2b11399c5000-2b11399da000 r-xp 00000000 03:07 1337282                    /lib64/libpthread-2.6.1.so
2b11399da000-2b1139bda000 ---p 00015000 03:07 1337282                    /lib64/libpthread-2.6.1.so
2b1139bda000-2b1139bdb000 r--p 00015000 03:07 1337282                    /lib64/libpthread-2.6.1.so
2b1139bdb000-2b1139bdc000 rw-p 00016000 03:07 1337282                    /lib64/libpthread-2.6.1.so
2b1139bdc000-2b1139be0000 rw-p 2b1139bdc000 00:00 0
2b1139be0000-2b1139c1f000 r-xp 00000000 03:07 701747                     /usr/lib64/libproj.so.0.5.4
2b1139c1f000-2b1139e1e000 ---p 0003f000 03:07 701747                     /usr/lib64/libproj.so.0.5.4
2b1139e1e000-2b1139e1f000 r--p 0003e000 03:07 701747                     /usr/lib64/libproj.so.0.5.4
2b1139e1f000-2b1139e21000 rw-p 0003f000 03:07 701747                     /usr/lib64/libproj.so.0.5.4
2b1139e21000-2b1139e22000 rw-p 2b1139e21000 00:00 0
2b1139e22000-2b1139e58000 r-xp 00000000 03:07 742110                     /usr/lib64/libldap-2.3.so.0.2.27
2b1139e58000-2b113a057000 ---p 00036000 03:07 742110                     /usr/lib64/libldap-2.3.so.0.2.27
2b113a057000-2b113a058000 r--p 00035000 03:07 742110                     /usr/lib64/libldap-2.3.so.0.2.27
2b113a058000-2b113a05a000 rw-p 00036000 03:07 742110                     /usr/lib64/libldap-2.3.so.0.2.27
2b113a05a000-2b113a09f000 r-xp 00000000 03:07 1191566                    /usr/lib64/libssl.so.0.9.8
2b113a09f000-2b113a29e000 ---p 00045000 03:07 1191566                    /usr/lib64/libssl.so.0.9.8
2b113a29e000-2b113a2a0000 r--p 00044000 03:07 1191566                    /usr/lib64/libssl.so.0.9.8
2b113a2a0000-2b113a2a6000 rw-p 00046000 03:07 1191566                    /usr/lib64/libssl.so.0.9.8
2b113a2a6000-2b113a402000 r-xp 00000000 03:07 1191565                    /usr/lib64/libcrypto.so.0.9.8
2b113a402000-2b113a601000 ---p 0015c000 03:07 1191565                    /usr/lib64/libcrypto.so.0.9.8
2b113a601000-2b113a60f000 r--p 0015b000 03:07 1191565                    /usr/lib64/libcrypto.so.0.9.8
2b113a60f000-2b113a625000 rw-p 00169000 03:07 1191565                    /usr/lib64/libcrypto.so.0.9.8
2b113a625000-2b113a62a000 rw-p 2b113a625000 00:00 0
2b113a62a000-2b113a637000 r-xp 00000000 03:07 742205                     /usr/lib64/liblber-2.3.so.0.2.27
2b113a637000-2b113a836000 ---p 0000d000 03:07 742205                     /usr/lib64/liblber-2.3.so.0.2.27
2b113a836000-2b113a837000 r--p 0000c000 03:07 742205                     /usr/lib64/liblber-2.3.so.0.2.27
2b113a837000-2b113a838000 rw-p 0000d000 03:07 742205                     /usr/lib64/liblber-2.3.so.0.2.27
2b113a838000-2b113a848000 r-xp 00000000 03:07 1337278                    /lib64/libresolv-2.6.1.so
2b113a848000-2b113aa48000 ---p 00010000 03:07 1337278                    /lib64/libresolv-2.6.1.so
2b113aa48000-2b113aa49000 r--p 00010000 03:07 1337278                    /lib64/libresolv-2.6.1.so
2b113aa49000-2b113aa4a000 rw-p 00011000 03:07 1337278                    /lib64/libresolv-2.6.1.so
2b113aa4a000-2b113aa4f000 rw-p 2b113aa4a000 00:00 0
2b113aa4f000-2b113aa60000 r-xp 00000000 03:07 1030409                    /usr/grass-6.2.1/lib/libgrass_I.6.2.1.so
2b113aa60000-2b113ab60000 ---p 00011000 03:07 1030409                    /usr/grass-6.2.1/lib/libgrass_I.6.2.1.so
2b113ab60000-2b113ab61000 rw-p 00011000 03:07 1030409                    /usr/grass-6.2.1/lib/libgrass_I.6.2.1.so
2b113ab61000-2b113ab65000 r-xp 00000000 03:07 1030401                    /usr/grass-6.2.1/lib/libgrass_vask.6.2.1.so
2b113ab65000-2b113ac64000 ---p 00004000 03:07 1030401                    /usr/grass-6.2.1/lib/libgrass_vask.6.2.1.so
2b113ac64000-2b113ac65000 rw-p 00003000 03:07 1030401                    /usr/grass-6.2.1/lib/libgrass_vask.6.2.1.so
2b113ac65000-2b113ac66000 rw-p 2b113ac65000 00:00 0
2b113ac66000-2b113ac6b000 r-xp 00000000 03:07 1030373                    /usr/grass-6.2.1/lib/libgrass_gmath.6.2.1.so
2b113ac6b000-2b113ad6a000 ---p 00005000 03:07 1030373                    /usr/grass-6.2.1/lib/libgrass_gmath.6.2.1.so
2b113ad6a000-2b113ad6b000 rw-p 00004000 03:07 1030373                    /usr/grass-6.2.1/lib/libgrass_gmath.6.2.1.so
2b113ad6b000-2b113adba000 r-xp 00000000 03:07 1030371                    /usr/grass-6.2.1/lib/libgrass_gis.6.2.1.so
2b113adba000-2b113aeb9000 ---p 0004f000 03:07 1030371                    /usr/grass-6.2.1/lib/libgrass_gis.6.2.1.so
2b113aeb9000-2b113aebb000 rw-p 0004e000 03:07 1030371                    /usr/grass-6.2.1/lib/libgrass_gis.6.2.1.so
2b113aebb000-2b113aed4000 rw-p 2b113aebb000 00:00 0
2b113aed4000-2b113aedb000 r-xp 00000000 03:07 1030369                    /usr/grass-6.2.1/lib/libgrass_datetime.6.2.1.so
2b113aedb000-2b113afdb000 ---p 00007000 03:07 1030369                    /usr/grass-6.2.1/lib/libgrass_datetime.6.2.1.so
2b113afdb000-2b113afdc000 rw-p 00007000 03:07 1030369                    /usr/grass-6.2.1/lib/libgrass_datetime.6.2.1.so
2b113afdc000-2b113afe4000 r-xp 00000000 03:07 1030411                    /usr/grass-6.2.1/lib/libgrass_gproj.6.2.1.so
2b113afe4000-2b113b0e3000 ---p 00008000 03:07 1030411                    /usr/grass-6.2.1/lib/libgrass_gproj.6.2.1.so
2b113b0e3000-2b113b0e4000 rw-p 00007000 03:07 1030411                    /usr/grass-6.2.1/lib/libgrass_gproj.6.2.1.so
2b113b0e4000-2b113b117000 r-xp 00000000 03:07 1030423                    /usr/grass-6.2.1/lib/libgrass_vect.6.2.1.so
2b113b117000-2b113b216000 ---p 00033000 03:07 1030423                    /usr/grass-6.2.1/lib/libgrass_vect.6.2.1.so
2b113b216000-2b113b218000 rw-p 00032000 03:07 1030423                    /usr/grass-6.2.1/lib/libgrass_vect.6.2.1.so
2b113b218000-2b113b228000 r-xp 00000000 03:07 1030391                    /usr/grass-6.2.1/lib/libgrass_dbmibase.6.2.1.so
2b113b228000-2b113b327000 ---p 00010000 03:07 1030391                    /usr/grass-6.2.1/lib/libgrass_dbmibase.6.2.1.so
2b113b327000-2b113b328000 rw-p 0000f000 03:07 1030391                    /usr/grass-6.2.1/lib/libgrass_dbmibase.6.2.1.so
2b113b328000-2b113b331000 r-xp 00000000 03:07 1030393                    /usr/grass-6.2.1/lib/libgrass_dbmiclient.6.2.1.so
2b113b331000-2b113b430000 ---p 00009000 03:07 1030393                    /usr/grass-6.2.1/lib/libgrass_dbmiclient.6.2.1.so
2b113b430000-2b113b431000 rw-p 00008000 03:07 1030393                    /usr/grass-6.2.1/lib/libgrass_dbmiclient.6.2.1.so
2b113b431000-2b113b448000 r-xp 00000000 03:07 1030419                    /usr/grass-6.2.1/lib/libgrass_dgl.6.2.1.so
2b113b448000-2b113b547000 ---p 00017000 03:07 1030419                    /usr/grass-6.2.1/lib/libgrass_dgl.6.2.1.so
2b113b547000-2b113b548000 rw-p 00016000 03:07 1030419                    /usr/grass-6.2.1/lib/libgrass_dgl.6.2.1.so
2b113b548000-2b113b55a000 r-xp 00000000 03:07 1030421                    /usr/grass-6.2.1/lib/libgrass_dig2.6.2.1.so
2b113b55a000-2b113b659000 ---p 00012000 03:07 1030421                    /usr/grass-6.2.1/lib/libgrass_dig2.6.2.1.so
2b113b659000-2b113b65a000 rw-p 00011000 03:07 1030421                    /usr/grass-6.2.1/lib/libgrass_dig2.6.2.1.so
2b113b65a000-2b113b65f000 r-xp 00000000 03:07 1030417                    /usr/grass-6.2.1/lib/libgrass_rtree.6.2.1.so
2b113b65f000-2b113b75e000 ---p 00005000 03:07 1030417                    /usr/grass-6.2.1/lib/libgrass_rtree.6.2.1.so
2b113b75e000-2b113b75f000 rw-p 00004000 03:07 1030417                    /usr/grass-6.2.1/lib/libgrass_rtree.6.2.1.so
2b113b75f000-2b113b760000 r-xp 00000000 03:07 1030375                    /usr/grass-6.2.1/lib/libgrass_linkm.6.2.1.so
2b113b760000-2b113b860000 ---p 00001000 03:07 1030375                    /usr/grass-6.2.1/lib/libgrass_linkm.6.2.1.so
2b113b860000-2b113b861000 rw-p 00001000 03:07 1030375                    /usr/grass-6.2.1/lib/libgrass_linkm.6.2.1.so
2b113b861000-2b113b8af000 r-xp 00000000 03:07 577416                     /lib64/libncurses.so.5.6
2b113b8af000-2b113baae000 ---p 0004e000 03:07 577416                     /lib64/libncurses.so.5.6
2b113baae000-2b113babb000 r--p 0004d000 03:07 577416                     /lib64/libncurses.so.5.6
2b113babb000-2b113babd000 rw-p 0005a000 03:07 577416                     /lib64/libncurses.so.5.6
2b113babd000-2b113babe000 rw-p 2b113babd000 00:00 0
7fff73d48000-7fff73d5d000 rw-p 7ffffffea000 00:00 0                      [stack]
7fff73dfe000-7fff73e00000 r-xp 7fff73dfe000 00:00 0                      [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Aborted

comment:5 by Even Rouault, 16 years ago

Jean-Claude,

I see in the crash log that there's a mention to /usr/lib64/gdalplugins/gdal_GRASS.so. Is there any chance that you're running GDAL 1.5.0 with a GDAL-GRASS plugin compiled with an older GDAL version (1.4.0 for example) ? If so, that might explain the crash.

comment:6 by jcrepetto, 16 years ago

Even,

You are right, it is related to gdal-grass. I have removed it, and the problem has gone.

Then I have recompiled gdal-grass-1.3.2, and I got a segmentation fault again :

*** glibc detected *** gdal_translate: double free or corruption (!prev): 0x000000000060f300 ***
======= Backtrace: =========
/lib/libc.so.6[0x2b0781675aad]
/lib/libc.so.6(cfree+0x76)[0x2b0781677796]
/usr/lib/libgdal.so.1(_ZN17GDALDriverManagerD0Ev+0x49)[0x2b077f1a4639]
gdal_translate[0x403d4c]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2b0781626b74]
gdal_translate(__gxx_personality_v0+0x101)[0x402019]
======= Memory map: ========
00400000-00405000 r-xp 00000000 03:07 1564272                            /usr/bin/gdal_translate
00604000-00605000 r--p 00004000 03:07 1564272                            /usr/bin/gdal_translate
00605000-00606000 rw-p 00005000 03:07 1564272                            /usr/bin/gdal_translate
00606000-0108f000 rw-p 00606000 00:00 0                                  [heap]
40000000-40001000 ---p 40000000 00:00 0
40001000-40801000 rw-p 40001000 00:00 0
40801000-40802000 ---p 40801000 00:00 0
40802000-41002000 rw-p 40802000 00:00 0
41002000-41003000 ---p 41002000 00:00 0
41003000-41803000 rw-p 41003000 00:00 0
41803000-41804000 ---p 41803000 00:00 0
41804000-42004000 rw-p 41804000 00:00 0
42004000-42005000 ---p 42004000 00:00 0
42005000-42805000 rw-p 42005000 00:00 0
42805000-42806000 ---p 42805000 00:00 0
42806000-43006000 rw-p 42806000 00:00 0
43006000-43007000 ---p 43006000 00:00 0
43007000-43807000 rw-p 43007000 00:00 0
2aaaac000000-2aaaae8fa000 rw-p 2aaaac000000 00:00 0
2aaaae8fa000-2aaab0000000 ---p 2aaaae8fa000 00:00 0
2b077ed34000-2b077ed4f000 r-xp 00000000 03:07 1336724                    /lib64/ld-2.6.1.so
2b077ed4f000-2b077ed51000 rw-p 2b077ed4f000 00:00 0
2b077ef4e000-2b077ef4f000 r--p 0001a000 03:07 1336724                    /lib64/ld-2.6.1.so
2b077ef4f000-2b077ef50000 rw-p 0001b000 03:07 1336724                    /lib64/ld-2.6.1.so
2b077ef50000-2b077f3a4000 r-xp 00000000 03:07 1580168                    /usr/lib64/libgdal.so.1.13.0
2b077f3a4000-2b077f5a3000 ---p 00454000 03:07 1580168                    /usr/lib64/libgdal.so.1.13.0
2b077f5a3000-2b077f5c2000 r--p 00453000 03:07 1580168                    /usr/lib64/libgdal.so.1.13.0
2b077f5c2000-2b077f612000 rw-p 00472000 03:07 1580168                    /usr/lib64/libgdal.so.1.13.0
2b077f612000-2b077f614000 rw-p 2b077f612000 00:00 0
2b077f614000-2b077f621000 r-xp 00000000 03:07 1722680                    /usr/lib64/libgeos_c.so.1.1.1
2b077f621000-2b077f720000 ---p 0000d000 03:07 1722680                    /usr/lib64/libgeos_c.so.1.1.1
2b077f720000-2b077f721000 rw-p 0000c000 03:07 1722680                    /usr/lib64/libgeos_c.so.1.1.1
2b077f721000-2b077f785000 r-xp 00000000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b077f785000-2b077f984000 ---p 00064000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b077f984000-2b077f986000 r--p 00063000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b077f986000-2b077f988000 rw-p 00065000 03:07 1213790                    /usr/lib64/libsqlite3.so.0.8.6
2b077f988000-2b077f989000 rw-p 2b077f988000 00:00 0
2b077f989000-2b077f9aa000 r-xp 00000000 03:07 1892514                    /usr/lib64/libexpat.so.1.5.2
2b077f9aa000-2b077fbaa000 ---p 00021000 03:07 1892514                    /usr/lib64/libexpat.so.1.5.2
2b077fbaa000-2b077fbac000 r--p 00021000 03:07 1892514                    /usr/lib64/libexpat.so.1.5.2
2b077fbac000-2b077fbad000 rw-p 00023000 03:07 1892514                    /usr/lib64/libexpat.so.1.5.2
2b077fbad000-2b077fcd5000 r-xp 00000000 03:07 2346309                    /usr/lib64/libNCSEcw.so.0.0.0
2b077fcd5000-2b077fdd5000 ---p 00128000 03:07 2346309                    /usr/lib64/libNCSEcw.so.0.0.0
2b077fdd5000-2b077fde4000 rw-p 00128000 03:07 2346309                    /usr/lib64/libNCSEcw.so.0.0.0
2b077fde4000-2b077fdf1000 rw-p 2b077fde4000 00:00 0
2b077fdf1000-2b077fe07000 r-xp 00000000 03:07 2346244                    /usr/lib64/libNCSCnet.so.0.0.0
2b077fe07000-2b077ff07000 ---p 00016000 03:07 2346244                    /usr/lib64/libNCSCnet.so.0.0.0
2b077ff07000-2b077ff08000 rw-p 00016000 03:07 2346244                    /usr/lib64/libNCSCnet.so.0.0.0
2bAborted

comment:7 by Even Rouault, 16 years ago

If when removing the problem has gone, and when putting the recompiled plugin in the plugin directory, the problem comes back again, I would guess that you didn't recompile the plugin with the right version of the GDAL headers... If not already done in the plugin source code, please modify the register function of grass57dataset.cpp, so it looks like :

void GDALRegister_GRASS()
{
    GDALDriver	*poDriver;
    
    if (! GDAL_CHECK_VERSION("GDAL/GRASS57 driver"))
        return;

    if( GDALGetDriverByName( "GRASS" ) == NULL )
    {
        poDriver = new GDALDriver();
        
        poDriver->SetDescription( "GRASS" );
        poDriver->SetMetadataItem( GDAL_DMD_LONGNAME, 
                                   "GRASS Database Rasters (5.7+)" );
        poDriver->SetMetadataItem( GDAL_DMD_HELPTOPIC, 
                                   "frmt_grass.html" );
        
        poDriver->pfnOpen = GRASSDataset::Open;

        GetGDALDriverManager()->RegisterDriver( poDriver );
    }
}

You can notice the "if (! GDAL_CHECK_VERSION("GDAL/GRASS57 driver")) return;" test. This should ensure that the plugin is compiled and run against the same GDAL version.

Wooh, and I didn't realize at first but gdal-grass-1.3.2 is quite ancient. You should maybe try : http://download.osgeo.org/gdal/gdal-grass-1.4.3.tar.gz


FrankW, I can see that the GDAL_CHECK_VERSION check is not included in gdal-grass-1.4.3.tar.gz. I'm wondering if it would be worth releasing a gdal-grass-1.5.0 version with it included ? So this could avoid these kind of problems when users update their GDAL version.

comment:8 by jcrepetto, 16 years ago

Problem solved ! I had old GDAL headers in /usr/local/include.

Thanks, Jean-Claude

comment:9 by Even Rouault, 16 years ago

Milestone: 1.5.1
Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.