Opened 10 years ago

Closed 10 years ago

#2670 closed bug (fixed)

assertion failure on libqgis

Reported by: orgads Owned by: nobody
Priority: major: does not work as expected Milestone: Version 1.5.0
Component: MapCanvas Version: 1.4.0
Keywords: Cc:
Must Fix for Release: No Platform: Debian
Platform Version: Awaiting user input: no

Description

Hello,

I tried to run an application using libqgis, and I received the following message:

/build/buildd/qgis-1.4.0/src/core/qgscoordinatereferencesystem.cpp:1268: long int QgsCoordinateReferenceSystem::getRecordCount(): Assertion `myResult == 0' failed.

I figured out that if ~/.qgis directory doesn't exist, this assertion fails. Looking at qgscoordinatereferencesystem.cpp:1268 I found a comment regarding this situation:

  myResult = sqlite3_open( QgsApplication::qgisUserDbFilePath().toUtf8().data(), &myDatabase );
  if ( myResult != SQLITE_OK )
  {
    QgsDebugMsg( QString( "Can't open database: %1" ).arg( sqlite3_errmsg( myDatabase ) ) );
    // XXX This will likely never happen since on open, sqlite creates the
    //     database if it does not exist.
    assert( myResult == SQLITE_OK );
  }

Well, apparently if the directory doesn't exist, sqlite doesn't create it. It only creates the db file...

Change History (2)

comment:1 Changed 10 years ago by pcav

Priority: critical: causes crash or data corruptionmajor: does not work as expected

comment:2 Changed 10 years ago by jef

Resolution: fixed
Status: newclosed

fixed in r13508.

Note: See TracTickets for help on using tickets.