Aktionen
Fehler #601
geschlossenAbsturz bei mehrfachem Anklicken einer Person in AppAttendance
Beginn:
22.10.2015
Abgabedatum:
% erledigt:
100%
Geschätzter Aufwand:
Beschreibung
Reproduzieren: cit2 starten, eine Person mehrfach klicken
FM; Segmentation fault.
Stack:
0 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>>::data C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 135 0x6ba58ae8 1 qGetPtrHelper<QScopedPointer<QObjectData>> C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 983 0x6b909879 2 QObject::d_func C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 110 0x6ba704e7 3 QObject::property C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 3875 0x6b907992 4 CuteEntityManager::Entity::getProperty entity.cpp 126 0x27a51e3a 5 CuteEntityManager::EntityManager::hasChanged entitymanager.cpp 386 0x27a54d2a 6 CuteEntityManager::EntityManager::saveObject entitymanager.cpp 92 0x27a52b3a 7 CuteEntityManager::EntityManager::save entitymanager.cpp 219 0x27a536ea 8 AppAttendance::buttonAction appattendance.cpp 103 0x4521a5 9 AppAttendance::qt_static_metacall moc_appattendance.cpp 72 0x4605ce 10 QMetaObject::activate C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 3713 0x6b907249 11 QMetaObject::activate C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 3578 0x6b906b8e 12 GroupContent::buttonClicked moc_groupcontent.cpp 527 0x45a64b 13 GroupContent::qt_static_metacall moc_groupcontent.cpp 164 0x459aaa 14 QMetaObject::activate C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 3713 0x6b907249 15 QMetaObject::activate C:/Qt/5.5/mingw492_32/bin/Qt5Cored.dll 3578 0x6b906b8e 16 ButtonContent::clicked moc_buttoncontent.cpp 934 0x459509 17 ButtonContent::onClicked buttoncontent.h 88 0x475685 18 ButtonContent::qt_static_metacall moc_buttoncontent.cpp 368 0x4580e7 19 ButtonContent::qt_metacall moc_buttoncontent.cpp 813 0x45913d ... <More>
In entitymanager.cpp 385 ist offensichtlich
auto e = EntityInstanceFactory::castQVariant(v);
nicht erfolgreich, wodurch die folgende Zeile
if (e->getProperty(entity->getPrimaryKey()) != i.value()) {
zum Crash führt.
An ebender stelle ist:
Locals
this "em[0]" CuteEntityManager::EntityManager
[QObject] "em[0]" QObject
cache CuteEntityManager::Cache
connectionNames <1 items> QStringList
db QSharedPointer<CuteEntityManager::Database>
id "" QString
instances <1 items> QHash<QString, CuteEntityManager::EntityManager*>
logger QSharedPointer<CuteEntityManager::Logger>
queryInterpreter QSharedPointer<CuteEntityManager::QueryInterpreter>
schema QSharedPointer<CuteEntityManager::Schema>
staticMetaObject QMetaObject
[parent] 0x0 QObject *
[children] <0 items> QObjectList
[properties] <>0 items>
[methods] <50 items>
[signals] <0 items>
appendix "_id" QString
[0] 95 QChar
[1] 105 QChar
[2] 100 QChar
changed false bool
e (null) QSharedPointer<CuteEntityManager::Entity>
entity QSharedPointer<CuteEntityManager::Entity> &
data AttendanceIncident
weakref 5 int
strongref 4 int
i QHash<QString, QVariant>::const_iterator
listmap <15 items> QHash<QString, QVariant>
[0] QHashNode<QString, QVariant>
[1] QHashNode<QString, QVariant>
[2] QHashNode<QString, QVariant>
[3] QHashNode<QString, QVariant>
[4] QHashNode<QString, QVariant>
[5] QHashNode<QString, QVariant>
[6] QHashNode<QString, QVariant>
[7] QHashNode<QString, QVariant>
[8] QHashNode<QString, QVariant>
[9] QHashNode<QString, QVariant>
[10] QHashNode<QString, QVariant>
[11] QHashNode<QString, QVariant>
[12] QHashNode<QString, QVariant>
[13] QHashNode<QString, QVariant>
[14] QHashNode<QString, QVariant>
relKey "room" QString
[0] 114 QChar
[1] 111 QChar
[2] 111 QChar
[3] 109 QChar
relations <4 items> QHash<QString, CuteEntityManager::Relation>
[0] QHashNode<QString, CuteEntityManager::Relation>
[1] QHashNode<QString, CuteEntityManager::Relation>
[2] QHashNode<QString, CuteEntityManager::Relation>
[3] QHashNode<QString, CuteEntityManager::Relation>
rels <4 items> QStringList
[0] "appData_id" QString
[1] "room_id" QString
[2] "pupil_id" QString
[3] "group_id" QString
v QVariant (QSharedPointer<Room>)
Der dbcon0.log zeigt folgende letzte Meldungen im DEBUG-Modus:
{"time":"2015-10-22T11:34:54", "query":"SELECT * FROM `attendanceincident` LEFT JOIN `incident` ON `incident`.`id` = `attendanceincident`.`id` WHERE `bookedAt` <= ? AND `bookedFor` <= ? AND ( `cancelledAt`IS NULL OR ( `cancelledAt` > ? AND `cancelledAt`IS NOT NULL ) ) AND `pupil_id`=? AND `appData_id`=? ORDER BY `bookedFor` DESC", "values": {"appData_id":"1", "bookedAt":"2015-09-14T10:11:00", "bookedFor":"2015-09-14T10:11:00", "cancelledAt":"2015-09-14T10:11:00", "pupil_id":"21"}}
{"time":"2015-10-22T11:34:54", "query":"SELECT * FROM `appattendancedata` LEFT JOIN `appdata` ON `appdata`.`id`=`appattendancedata`.`id` WHERE `appattendancedata`.`id`= ? LIMIT 1", "values": {"id":"1"}}
{"time":"2015-10-22T11:34:54", "query":"SELECT * FROM `pupil` LEFT JOIN `person` ON `person`.`id`=`pupil`.`id` WHERE `pupil`.`id`= ? LIMIT 1", "values": {"id":"21"}}
{"time":"2015-10-22T11:34:54", "query":"SELECT * FROM `group` WHERE `group`.`id`= ? LIMIT 1", "values": {"id":"1"}}
{"time":"2015-10-22T11:34:54", "query":"INSERT INTO `incident`(`additionalInfo`,`pupil_id`,`bookedFor`,`locked`,`bookedAt`,`group_id`,`cancelledAt`,`appData_id`)VALUES(?,?,?,?,?,?,?,?);", "values": {"additionalInfo":"Neuer Incident!", "appData_id":"1", "bookedAt":"2015-09-14T10:11:00", "bookedFor":"2015-09-14T10:11:00", "cancelledAt":"", "group_id":"1", "locked":"false", "pupil_id":"21"}}
{"time":"2015-10-22T11:34:55", "query":"INSERT INTO `attendanceincident`(`excusedAt`,`state`,`notExcusable`,`lessonsMissed`,`id`,`minutesLate`)VALUES(?,?,?,?,?,?);", "values": {"excusedAt":"", "id":"8", "lessonsMissed":"2", "minutesLate":"0", "notExcusable":"false", "state":"2"}}
{"time":"2015-10-22T11:34:55", "query":"SELECT * FROM `attendanceincident` LEFT JOIN `incident` ON `incident`.`id` = `attendanceincident`.`id` WHERE `bookedAt` <= ? AND `bookedFor` <= ? AND ( `cancelledAt`IS NULL OR ( `cancelledAt` > ? AND `cancelledAt`IS NOT NULL ) ) AND `pupil_id`=? AND `appData_id`=? ORDER BY `bookedFor` DESC", "values": {"appData_id":"1", "bookedAt":"2015-09-14T10:11:00", "bookedFor":"2015-09-14T10:11:00", "cancelledAt":"2015-09-14T10:11:00", "pupil_id":"21"}}
{"time":"2015-10-22T11:34:55", "query":"SELECT * FROM `appdata` WHERE `appdata`.`id`= ? LIMIT 1", "values": {"id":"1"}}
{"time":"2015-10-22T11:34:55", "query":"SELECT * FROM `group_appDatasAssociated` WHERE `appdata_id` = ?;", "values": {"id":"1"}}
{"time":"2015-10-22T11:34:55", "query":"SELECT * FROM `attendanceincident` LEFT JOIN `incident` ON `incident`.`id`=`attendanceincident`.`id` WHERE `attendanceincident`.`id`= ? LIMIT 1", "values": {"id":"8"}}
Aktionen