[gdal-dev] SQLite driver?

Joaquim Luis jluis at ualg.pt
Wed Sep 14 14:55:02 PDT 2016


FWIW, my reply with an attached image is waiting for approval.


> I haven't done serious Windows coding since the NT days, but I found  
> this.  Sounds like this will do it and then you can load the dump in  
> visual >studio and get the stack track, yes?
>
> Anyone who actually uses windows + visualstudio want to comment?
>
> -kurt
>
> http://cwspencer.co.uk/blog/2012/10/getting-useful-c-exception-information-from-visual-studio/
>
> Which down at the bottom says:
>
> You can get WER to generate full crash dumps when your program crashes  
> and you don’t have a debugger >attached by creating the DWORD registry  
> keyHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error  
> Reporting>\LocalDumps\DumpType and setting it to 1 (for mini dumps) or 2  
> (for full dumps). This will create a dump file >in  
> %LOCALAPPDATA%\CrashDumps when your program crashes which you can import  
> into Visual Studio. This is >particularly useful when you are testing on  
> someone else’s machine where you can’t debug directly.
>
> On Wed, Sep 14, 2016 at 2:02 PM, Joaquim Luis <jluis at ualg.pt> wrote:
>> Yes, but (that I know) we don't get long stack traces in VS.
>>
>> Exception thrown at 0x00007FFF88F87788 in osmcoastline.exe: Microsoft  
>> C++ exception: gdalcpp::gdal_error at memory location  
>> >>0x000000CD6E33E090.
>> Unhandled exception at 0x00007FFF88F87788 in osmcoastline.exe:  
>> Microsoft C++ exception: gdalcpp::gdal_error at memory location  
>> >>0x000000CD6E33E090.
>> The program '[37264] osmcoastline.exe' has exited with code 0 (0x0).
>>
>> I can see why it crashes but why it happens. To start with the code is  
>> completely mysterious for me
>>
>> class Driver : private init_library {
>>
>> gdal_driver_type* m_driver;
>>
>> public:
>>
>> Driver(const std::string& driver_name) :
>> init_library(),
>> #if GDAL_VERSION_MAJOR >= 2
>> m_driver(GetGDALDriverManager()->GetDriverByName(driver_name.c_str())) {
>> #else
>> m_driver(OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(driver_name.c_str()))  
>> {
>> #endif
>> if (!m_driver) {
>> throw gdal_error(std::string("unknown driver: '") + driver_name + "'",  
>> OGRERR_NONE, driver_name);
>> }
>> }
>>
>> m_driver is defined as a function, which is than tested to be NULL (and  
>> it is) and a crash follows.
>>
>>
>>> A stack trace would give others a chance to possibly spot what the  
>>> crash is.
>>>
>>> On Wed, Sep 14, 2016 at 11:31 AM, Joaquim Luis <jluis at ualg.pt> wrote:
>>>> OK, clean & rebuilt (as I (thought) did before) and I can see the  
>>>> SQLite driver now.
>>>> However, the osmcoastline still crashes. Unfortunately, it's too damn  
>>>> C++ for me to debugg.
>>>>
>>>>
>>>>
>>>>
>>>>> Le mercredi 14 septembre 2016 19:43:22, Joaquim Luis a écrit :
>>>>>> Sorry, my bad. When I thought I was using gisinternals I was  
>>>>>> actually
>>>>>> using my build. Gisinternals does show the SQLite driver.
>>>>>>
>>>>>> But one of my points still holds. If the Walker shows me that  
>>>>>> sqlite3.dll
>>>>>> is a dependency than why the SQLite driver is not available?
>>>>>
>>>>> You mentionned that you "(re)build" GDAL with sqlite, so I assume  
>>>>> you added it
>>>>> after a first build. So I suspect that some files didn't get  
>>>>> recompiled. The
>>>>> safest way if not already done is to clean and rebuild.
>>>>>
>>>>> Otherwise, mostly for a quick check, you may just 'touch'
>>>>> ogr/ogrsf_frmts/generic/ogrregisterall.cpp but you'll probably miss  
>>>>> a few files
>>>>> that will benefit from sqlite being now available. So the clean &  
>>>>> rebuild path
>>>>> is the safest ultimately.
>>>>>
>>>>>>
>>>>>>> Hmm, several (weird) things.
>>>>>>>
>>>>>>> 1. I'm using  GnuWin ports for unix commands. And:
>>>>>>>    - this works
>>>>>>>
>>>>>>>          gdalinfo --formats | sort
>>>>>>>
>>>>>>>    - this not (output is empty)
>>>>>>>
>>>>>>>          ogfinfo --formats | sort
>>>>>>>
>>>>>>>   Same thing for 'grep'
>>>>>>>
>>>>>>> 2. To check I'm using gisinternals and same thing as my build.
>>>>>>>
>>>>>>>   ogrinfo --formats  shows no SQLite driver
>>>>>>>
>>>>>>> 3. The program I'm trying to build/run crashes at this line
>>>>>>>
>>>>>>>    https://github.com/osmcode/osmcoastline/blob/master/include/gdalcpp.hp
>>>>>>>    p#L132 (no idea why it crashes) apparently because it doesn't  
>>>>>>> find the
>>>>>>>
>>>>>>> SQLite driver (driver_name == 'SQLite')
>>>>>>>
>>>>>>>> ogrinfo --formats | grep -i lite
>>>>>>>>
>>>>>>>>  SQLite -vector- (rw+v): SQLite / Spatialite
>>>>>>>>
>>>>>>>> On Wed, Sep 14, 2016 at 9:32 AM, Joaquim Luis <jluis at ualg.pt>  
>>>>>>>> wrote:
>>>>>>>>> Sorry Even that you are bombed with so many questions.
>>>>>>>>>
>>>>>>>>> I have (re)build GDAL with sqlite and can confirm with The
>>>>>>>>> (Dependency) Walker that the sqlite3.dll is a gdal.dll  
>>>>>>>>> dependency.
>>>>>>>>> However,
>>>>>>>>>
>>>>>>>>> gdalinfo --formats
>>>>>>>>>
>>>>>>>>> ...
>>>>>>>>>
>>>>>>>>>  Rasterlite -raster- (rws): Rasterlite
>>>>>>>>>  SAFE -raster- (rov): Sentinel-1 SAR SAFE Product
>>>>>>>>>  SAR_CEOS -raster- (rov): CEOS SAR Image
>>>>>>>>>  SDTS -raster- (rov): SDTS Raster
>>>>>>>>>  SENTINEL2 -raster- (rovs): Sentinel 2
>>>>>>>>>  SGI -raster- (rw+): SGI Image File Format 1.0
>>>>>>>>>  SRTMHGT -raster- (rwv): SRTMHGT File Format
>>>>>>>>>  TIL -raster- (rov): EarthWatch .TIL
>>>>>>>>>
>>>>>>>>> ...
>>>>>>>>>
>>>>>>>>> does not show the SQLite driver and indeed a program that I'm  
>>>>>>>>> building
>>>>>>>>> that needs to link with GDAL (osmcoastline) crashes when it  
>>>>>>>>> doesn't
>>>>>>>>> find >>>that driver.
>>>>>>>>>
>>>>>>>>> ?
>>>>>>>>>
>>>>>>>>> Joaquim
>>>>>>>>> _______________________________________________
>>>>>>>>> gdal-dev mailing list
>>>>>>>>> gdal-dev at lists.osgeo.org
>>>>>>>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>>>>>>>>
>>>>>>>> ----
>>>>>>>> http://schwehr.org
>>>> _______________________________________________
>>>> gdal-dev mailing list
>>>> gdal-dev at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>>>
>>>
>>>
>>> ----
>>> http://schwehr.org
>>
>>
>>
>
>
>
> ----
> http://schwehr.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20160914/6d63ba3a/attachment.html>


More information about the gdal-dev mailing list