Mac Anwendung crashed sporadisch mit sqlite db

Alles rund um die Programmierung mit Qt
Antworten
geostein8888
Beiträge: 50
Registriert: 16. März 2011 08:25

Mac Anwendung crashed sporadisch mit sqlite db

Beitrag von geostein8888 »

Hallo,
ich habe eine Anwendung, welche unter windows ohne Problem läuft, auf dem Mac aber sporadisch abstürtzt:

hier auszug aus dem Crash report:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)

Code: Alles auswählen

Thread 12 Crashed:
0   libsqlite3.0.dylib             0x000000011a980ced 0x11a900000 + 527597
1   libsqlite3.0.dylib             0x000000011a907750 0x11a900000 + 30544
2   libsqlite3.0.dylib             0x000000011a9076c8 sqlite3_reset + 48
3   libqsqlite.dylib               0x00000001147f6374 0x1147f3000 + 13172
4   libqsqlite.dylib               0x00000001147f77e3 0x1147f3000 + 18403
5   libqsqlite.dylib               0x00000001147f700c 0x1147f3000 + 16396
6   QtSql                         0x0000000103d2fb04 QSqlQuery::exec(QString const&) + 596
7   libqsqlite.dylib               0x00000001147f8a6e 0x1147f3000 + 23150
8   QtSql                         0x0000000103d30a01 QSqlDatabase::commit() + 49
9   www.test.com       0x00000001006cc523 TriAds::insertAd(QString, QString, QString, QString, int, int, int, int, QSize, int, int, int, int, QString, QString, QString, int, int, int, QString, int, int, int, int, int, int, int, bool, int, bool, QDateTime) + 4451
10  www.test.com       0x00000001002eecb5 TriDatahandler::insertMyArchiveSizeEntry(bool, QString, QString, long long, float, QDateTime, QDateTime, QDateTime, QDateTime, bool, QString, QString, int, QString, QString, bool, bool, int, bool, bool, int, int, bool, int, int, int, int, long long, QString, bool, bool, bool, QString, bool, QString, int, int, bool, QString, QString, int, QString, bool, int, QString, double, int, int, int, int, int, QString, QString, int, int, int, int, int, int, int, int, int, int, bool) + 5765
11  www.test.com       0x00000001002ed1e3 TriDatahandler::updateArchiveSizeAndWrite(bool, QString, QString, long long, float, QDateTime, QDateTime, QDateTime, QDateTime, bool, QString, QString, int, QString, QString, bool, bool, int, bool, bool, int, int, bool, int, int, int, int, long long, QString, bool, bool, bool, QString, bool, QString, int, int, bool, QString, QString, int, QString, bool, int, QString, double, int, int, int, int, int, QString, QString, int, int, int, int, int, int, int, int, int, int, bool) + 1235
12  www.test.com       0x0000000100649337 TriSchedulerManager::manageMetaFile(QString, MSMArchiveData*, Scheduler*) + 6119
13  www.test.com       0x000000010064001d TriSchedulerManager::slotDownStatus(int, QString, int, int, QString, long long) + 25645
14  www.test.com       0x0000000100741b5d TriSchedulerManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 7261
15  QtCore                         0x0000000103ec7751 QObject::event(QEvent*) + 1073
16  QtGui                         0x0000000104136bfd QApplicationPrivate::notify_helper(QObject*, QEvent*) + 189
17  QtGui                         0x000000010413d274 QApplication::notify(QObject*, QEvent*) + 1060
18  QtCore                         0x0000000103eb2c8c QCoreApplication::notifyInternal(QObject*, QEvent*) + 124
19  QtCore                         0x0000000103eb40a0 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 736
20  QtCore                         0x0000000103ee8372 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 66
21  QtCore                         0x0000000103eb1b94 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68
22  QtCore                         0x0000000103eb1f44 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 324
23  QtCore                         0x0000000103d9a9b8 QThread::exec() + 312
24  QtCore                         0x0000000103d9e06a QThread::terminate() + 762
25  libsystem_c.dylib             0x000000010585d8bf _pthread_start + 335
26  libsystem_c.dylib             0x0000000105860b75 thread_start + 13
meine Vermutung ist, dass es was mit den Threads zu tun hat, bin mir aber nicht sicher, die SQLite anbindung läuft nicht in einem extra thread, da ich nur sehr schnelle queries habe, welche die GUI nicht blockieren können, ich habe aber background threads, welche auf diese klassen zugreifen und queries absetzen.

vielleicht hat ja jemand schon mal ein Ähnliches Problem gehabt und gelöst, an SQLite selbst liegt es wohl nicht, sonst hätte ich hierzu was in google gefunden

tia

Georg
Antworten