Calendar app crashes with sigsev when listing the calendar entries from eds
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Calendar App |
Fix Released
|
Critical
|
Renato Araujo Oliveira Filho | ||
qtorganizer5-eds (Ubuntu) |
Fix Released
|
Critical
|
Renato Araujo Oliveira Filho | ||
Bug Description
current build number: 302
device name: mako
channel: ubuntu-
last update: 2014-04-17 11:40:41
version version: 302
version ubuntu: 20140417
version device: 20140411.3
Added a google account that then created a bunch of calendar entries because of the calendar sync, and when trying to list them via the calendar-app, it crashes quite easily (opening -> daily -> week -> month, etc).
[Impact]
* The Calendar app will crash very easily when launched after syncing your Google calendar, especially when large number of events are present. The app crashes when simply navigating between views or opening a calendar event.
* This fix prevents the crash from occurring, regardless of number of events.
* Only impacts device users, not desktop
[Test Case]
* Install ubuntu touch on device
* Ensure you have google calendar events in google
* Create an online account for Google on the device via system-settings
* After receiving notification that sync has completed, open the Calendar app
* Navigate between views (Year, Month, Week, Day) and ensure no crashes
* Make sure you can open a specific calendar event for a particular day with no crashes.
[Regression Potential]
* Low. It's been well tested and verified to fix the crash situation without causing unwanted side-effects
* Only affects phone users, not used on desktop
Related branches
- Bill Filler (community): Approve
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 751 lines (+306/-71)8 files modifiedbuildOnDevice.sh (+113/-0)
qorganizer/qorganizer-eds-engine.cpp (+163/-65)
qorganizer/qorganizer-eds-engine.h (+3/-1)
qorganizer/qorganizer-eds-removebyidrequestdata.cpp (+1/-0)
qorganizer/qorganizer-eds-removerequestdata.cpp (+1/-0)
qorganizer/qorganizer-eds-requestdata.cpp (+19/-4)
qorganizer/qorganizer-eds-requestdata.h (+5/-1)
qorganizer/qorganizer-eds-saverequestdata.cpp (+1/-0)
Changed in qtorganizer5-eds (Ubuntu): | |
assignee: | nobody → Renato Araujo Oliveira Filho (renatofilho) |
Changed in qtorganizer5-eds (Ubuntu): | |
importance: | Undecided → Critical |
Changed in qtorganizer5-eds (Ubuntu): | |
status: | New → In Progress |
description: | updated |
Changed in ubuntu-calendar-app: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
assignee: | nobody → Renato Araujo Oliveira Filho (renatofilho) |
status: | Confirmed → In Progress |
Changed in qtorganizer5-eds (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in ubuntu-calendar-app: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-calendar-app: | |
status: | Fix Committed → Fix Released |
Bt:
(gdb) bt full gine::cancelReq uest (this=<optimized out>, req=0x1e988b0) at /build/ buildd/ qtorganizer5- eds-0.1. 1+14.04. 20140415. 1/qorganizer/ qorganizer- eds-engine. cpp:981 :QOrganizerAbst ractRequest: :cancel (this=0x1e988b0) at qorganizerabstr actrequest. cpp:275 gine::~ QOrganizerEDSEn gine (this=0x1f5ce40, __in_chrg= <optimized out>) at /build/ buildd/ qtorganizer5- eds-0.1. 1+14.04. 20140415. 1/qorganizer/ qorganizer- eds-engine. cpp:99 gine::~ QOrganizerEDSEn gine (this=0x1f5ce40, __in_chrg= <optimized out>) at /build/ buildd/ qtorganizer5- eds-0.1. 1+14.04. 20140415. 1/qorganizer/ qorganizer- eds-engine. cpp:108 gerData (this=0x1f5cd28, __in_chrg= <optimized out>) at qorganizermanag er_p.h: 81 :QOrganizerMana ger::~QOrganize rManager (this=0x1f5cd18, __in_chrg= <optimized out>) at qorganizermanag er.cpp: 367 :QOrganizerMana ger::~QOrganize rManager (this=0x1f5cd18, __in_chrg= <optimized out>) at qorganizermanag er.cpp: 368 ganizerModelPri vate (this=0x1f5cb18, __in_chrg= <optimized out>) at qdeclarativeorg anizermodel. cpp:113 qt5/QtCore/ qscopedpointer. h:62 <optimized out>) at /usr/include/ qt5/QtCore/ qscopedpointer. h:109 anizerModel: :~QDeclarativeO rganizerModel (this=0x1f5ca58, __in_chrg= <optimized out>) at qdeclarativeorg anizermodel. cpp:209 <optimized out>) at /usr/include/ qt5/QtQml/ qqmlprivate. h:90 :QQmlElement< QDeclarativeOrg anizerModel> ::~QQmlElement (this=0x1f5ca58, __in_chrg= <optimized out>) at /usr/include/ qt5/QtQml/ qqmlprivate. h:90 :deleteChildren (this=this@ entry=0x1eb0db8 ) at kernel/ qobject. cpp:1841 <optimized out>) at kernel/ qobject. cpp:934
__PRETTY_ FUNCTION_ _ = "virtual QObject: :~QObject( )" :~QQuickItem (this=0x1eb0d58, __in_chrg= <optimized out>) at items/qquickite m.cpp:2038 SizeItem (this=0x1eb0d58, __in_chrg= <optimized out>) at items/qquickimp licitsizeitem_ p.h:51 :~QQuickLoader (this=0x1eb0d58, __in_chrg= <optimized out>) at items/qquickloa der.cpp: 311 <optimized out>) at ../../include/ QtQml/. ./../src/ qml/qml/ qqmlprivate. h:90
#0 0x00000030 in ?? ()
No symbol table info available.
#1 0xb0244cc8 in QOrganizerEDSEn
data = 0x1d7e5f0
#2 0xb195bc9c in QtOrganizer:
ml = <optimized out>
#3 0xb0244af2 in QOrganizerEDSEn
req = <optimized out>
_container_ = {c = {{p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x1eae9b8}, d = 0x1eae9b8}}, brk = 0, i = {i = 0x1eae9c8}, e = {i = 0x1eae9cc}}
#4 0xb0244bc8 in QOrganizerEDSEn
No locals.
#5 0xb196300a in ~QOrganizerMana
No locals.
#6 QtOrganizer:
No locals.
#7 0xb19630a4 in QtOrganizer:
No locals.
#8 0xb0c65a46 in ~QDeclarativeOr
No locals.
#9 cleanup (pointer=0x1f5cb18) at /usr/include/
No locals.
#10 ~QScopedPointer (this=0x1f5ca68, __in_chrg=
oldD = 0x1f5cb18
#11 QDeclarativeOrg
No locals.
#12 0xb0c461fc in ~QQmlElement (this=0x1f5ca58, __in_chrg=
No locals.
#13 QQmlPrivate:
No locals.
#14 0xb6297da0 in QObjectPrivate:
i = 0
#15 0xb629bfee in QObject::~QObject (this=<optimized out>, __in_chrg=
d = <optimized out>
#16 0xb6dc9588 in QQuickItem:
No locals.
#17 0xb6e2e8c2 in ~QQuickImplicit
No locals.
#18 QQuickLoader:
No locals.
#19 0xb6dd6950 in ~QQmlElement (this=0x1eb0d58, __in_chrg=
No locals.
#20 QQmlPrivate::...