Closed Bug 435557 Opened 13 years ago Closed 11 years ago

Calendars disappear after adding Google calendar and restart of TB


(Calendar :: Provider: GData, defect)

Windows XP
Not set


(Not tracked)



(Reporter: tleepa, Unassigned)



(5 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9pre) Gecko/2008052206 Minefield/3.0pre
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9pre) Gecko/2008052203 Lightning/0.6a1 Thunderbird/3.0a2pre - Build ID: 2008052203

After adding Google calendar to Thunderbird/Lightning combination all calendars that have been added afterward do not show in calendar view (including added Google calendar).

Let's say you have one, default calendar. You add Google calendar via GData provider and you can see all the events from that calendar.
However, after restart of TB you can see only the first calendar.
What is strange, TB asks for credentials to the remote calendar but you cannot see any events from that calendar. Error console says nothing.

If you try to add the remote calendar again, it is impossible to complete as TB does not react on clicking the Next button.
Error console shows:
Error: Already have calendar with URI
Source: chrome://calendar/content/calendarCreation.js
Line: 106
and twice the following:
Error: calendar is null
Source: file:///(...)/profile/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calItemModule.js -> file:///(...)/profile/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calCalendarManager.js
Line: 556

You can add more calendars, but they disappear after TB is restarted.
If you however try to import some events you will be presented with a dialog to choose the calendar to import the items to. And it will show ALL calendars created (including Google).
Please, compare the attached screen shot that shows sqlite manager exploring storage.sdb (4 calendars) and TB calendar view (1 calendar).

Reproducible: Always

Steps to Reproduce:
1. Start with empty storage.sdb so you do not loose your data.
2. Add remote Google calendar with some events (they are shown)
3. Add another calendar - local and import some data to it (optional)
4. Restart Thunderbird
Actual Results:  
Instead of three calendars: default one, Google and optional from step 3 there is only one shown (default) in calendar view. Same thing with the events - only items from default calendar are visible.

Expected Results:  
All calendars that have been created should be visible as well as corresponding events.

Only calendars created after adding (and including) Google calendar are affected.
Any local calendar created before is shown properly.

To get things back to normal I need to delete storage.sdb and let it be recreated.
Things seem to work with local calendars, I am not sure what about remote calendars not based on Google provider.
Attached image Screen shot
Please retest this with a fresh profile. It seems some of the calendars in the database are not being displayed for some reason.
Retested as requested.

At the beginning it looked ok but after restart every calendar I have is duplicated (events are shown only once) in a calendar view.
Sqlite shows only one entry per calendar.
Also Google calendar asks for password TWICE.

The following error shows up in console (it is repeated about 100 times):
Error: too much recursion
Source: chrome://calendar/content/calendar-common-sets.js
Line: 172

All of the above is doucmented in another screen shot.
Does this also happens using Thunderbird 2 + Lightning 0.9pre or is it Trunk only? Does it also happen without the Provider for Google Calendar extension, e.g. for just storage and ics calendars?
Tried TB 3.0a2pre - no problems with remote ics calendars (linked with file:///(...)calendar.ics)

On Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv: Gecko/20080522 Lightning/0.9pre Thunderbird/ - Build ID: 2008052203
No problems at all. Both remote ics and Google calendars work with no problem.

Resolving as WFM per comment#6
Closed: 12 years ago
Resolution: --- → WORKSFORME
Attached image Calendars after restart
I do not know why this bug has been set to "resolved".
I have stated in my comment#6 that it works with remote ics calendars with trunk.
It also works in branch version but it *still does not work* in trunk with Google Provider.

I am attaching a screen shot made with the latest b1 pre of TB and latest provider and lightning. First one made after adding calendars (2 local ics and 1 remote Google) but before the restart of the Thunderbird. Second made after restarting the application.

Error in the console:
Too much recursion
Line 172

a._updateaVisibleText is not a function
Line 210

Build info:
Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1b1pre) Gecko/20080926034006 Lightning/0.6a1 Shredder/3.0b1pre - Build ID: 20080926034006
Resolution: WORKSFORME → ---
(In reply to comment #10)
> a._updateaVisibleText is not a function
> chrome://global/content/bindings/textbox.xml
> Line 210

That's Bug 402573. (By the way: Did you wrote down the messages manually? You can just copy and paste them from the context menu.)
Tomasz, can you check this again with Tb 3.0b1pre and a recent Lightning 1.0pre nightly build?
Ok. I checked this with this build:
Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1b2pre) Gecko/20081120 Lightning/1.0pre Shredder/3.0b1pre - Build ID: 20081120031926

Same problem although symptoms are bit different.
Added one local calendar, one remote (google) calendar. Then added another local calendar. Restarted Shredder.
After restart any calendar added after and including google one is not visible in the left pane. What is strange, Events from these calendars are shown but without any formatting. See the screen shot.
The scrren shot also shows SQLite Manager with the storage.sdb open. You can see that the two calendars that are not visible exist in the database.

Error console shows some problems:
Error: [Exception... "'[JavaScript Error: "headerbox.firstChild is null" {file: "chrome://calendar/content/calendar-month-view.xml" line: 1208}]' when calling method: [calICompositeObserver::onCalendarAdded]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/modules/calUtils.jsm -> file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js :: notifyFunc :: line 1238"  data: yes] STACK: 1: [file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/modules/calUtils.jsm -> file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js:1241] notifyFunc
2: [file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/modules/calUtils.jsm -> file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js:1244] calListenerBag_notify
3: [file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js:208] anonymous
4: [file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js:182] anonymous
5: [file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calCompositeCalendar.js:185] anonymous

Plik źródłowy: file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/modules/calUtils.jsm -> file:///D:/Documents%20and%20Settings/_username_/Application%20Data/Thunderbird/Profiles/5xwl9fn4.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js
Wiersz: 1241

Błąd: uncaught exception: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0"  data: no]
Attached image Screen shot
Component: Internal Components → Provider: GData
QA Contact: base → gdata-provider
Confirmed using Lightning 1.0pre, Provider for Google Calendar 0.6pre and Shredder 3.0b2pre (all builds from 20090105) on Windows XP.

It works fine as long as no master password is required to access the stored credentials. If a master password is required Thunderbird hangs at the password prompt and uses 100% of CPU. After entering the password the error is shown and the calendar entry is missing in the calendar list.

Extract from console:
[calTimezoneService] using ...\timezones.sqlite
[calTimezoneService] timezones version: 0.1.2008i
Warning: redeclaration of property uri
Source file: file:///.../js/calGoogleRequest.js Line: 75
Warning: redeclaration of property responseListener
Source file: file:///.../js/calGoogleRequest.js Line: 76
Creating session for:

... Thunderbird hangs ...

Retrieved Password for in constructor
Reusing session for:
Error: [Exception... "'[JavaScript Error: "headerbox.firstChild is null" {file: "chrome://calendar/content/calendar-month-view.xml" line: 808}]' when calling method: [calICompositeObserver::onCalendarAdded]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: file:///.../calendar-js/calUtils.js :: notifyFunc :: line 1203"  data: yes] STACK: 1: [file:///.../calendar-js/calUtils.js:1206] notifyFunc
2: [file:///.../calendar-js/calUtils.js:1209] calListenerBag_notify
3: [file:///.../components/calCompositeCalendar.js:208] anonymous
4: [file:///.../components/calCompositeCalendar.js:182] anonymous
5: [file:///.../components/calCompositeCalendar.js:185] anonymous
6: [null:0] null
7: [chrome://calendar/content/calUtils.js:1874] getCompositeCalendar
8: [chrome://calendar/content/calendar-task-tree.xml:154] 

Source file: file:///.../calendar-js/calUtils.js
Line: 1206
Logging in to
Setting upload data for login request (hidden)
Ever confirmed: true
(In reply to comment #15)
> It works fine as long as no master password is required to access the stored
> credentials. If a master password is required Thunderbird hangs at the password
> prompt and uses 100% of CPU. After entering the password the error is shown and
> the calendar entry is missing in the calendar list.

I can confirm this as well.  Remove the master password and my invisible calendars return.
This one sucks :(

Along with the multiple master password prompts, these two bugs are bad bed fellows.
Flags: tb-integration?
Does this bug still exist in 1.0b1? I believe this might be a duplicate of bug 484089.
I'm assuming this is fixed by the mentioned bug, since most everyone noted this is going away when removing the MP.
Closed: 12 years ago11 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 484089
Flags: tb-integration?
Keywords: qawanted
You need to log in before you can comment on or make changes to this bug.