Closed Bug 437622 Opened 16 years ago Closed 16 years ago

Sunbird: Upgrade via update mechanism fails, restart results in error on local calendars (timezone extension not installed)

Categories

(Calendar :: Sunbird Only, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: peter, Assigned: ause)

References

Details

Attachments

(2 files)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008051202 Firefox/3.0
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.15pre) Gecko/20080605 Calendar/0.9pre

After upgrading to the nightly build of Calendar 0.9pre, I restarted the calendar resulting in the an error for every single one of my local calendars.



Reproducible: Always

Steps to Reproduce:
1.Upgrade to latest build
2.Start the calendar

Actual Results:  
It gives an error message for every local calendar and they don't show up after clicking away the error message

Expected Results:  
Normal startup and local calendars are shown.

The error message shown for every single local calendar:
Error Number: 2152333318
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.rollbackTransaction]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: file:///opt/sunbird/components/calStorageCalendarModule.js -> file:///opt/sunbird/js/calStorageCalendar.js :: anonymous :: line 1204"  data: no]
Probably the same cause as in Comment #29 Bug 363191 - missing timezone extension. Lets see if attachment 323930 [details] [diff] [review] in Bug 363191 fixes it.
	

(In reply to comment #1)
I doubt that, because the Linux packages look OK; think it's a Windows only.
Problem is solved but I do believe there's a problem with automatic upgrading.

I just downloaded the nightly build separately and after installing it, it works as the extension calendar-timezones@mozilla.org is installed. With the automatic upgrade I never got that extension.

Thanks Stefan for the hint, it made me look deeper into the situation.

Severity: major → normal
Installing a nightly with the addon under windows doesn't help. There the error still exists.
I did a quick test on Windows XP: I created a new profile using Sunbird 0.3.1, 0.5, 0.7, 0.8 and 0.9pre (2008060120). Each profile had two storage calendars and some events/tasks. After that I opened the profiles in Sunbird 0.9pre (2008060618). In all cases the upgrade was successfully and no errors were visible. Note: I did not tested the installer or the automatic update, just the zip packages.

I can confirm that opening the upgrade profile in the older Sunbird 0.8 or 0.9pre build shows the same "An error was encountered preparing the calendar located at moz-profile-calendar:// for use." and ""'Failure' when calling method: [calICalendar::uri]"" as in Bug 429521.

This is not the expected behavior. Sunbird should display the "upgraded by a newer version" dialog and exit.
There is probably something wrong in the database upgrade procedure. 

Bug 419601 raised DB_SCHEMA_VERSION from 8 to 9 about 3 months ago. 
Bug 363191 raised DB_SCHEMA_VERSION from 8 to 9 again 2 days ago.

I guess the code that prevents opening newer database somehow looks at the wrong version. Maybe the error in Comment #0 is caused by such a version mismatch too. One part of Sunbird thinks it's updated, another part not.
(In reply to comment #6)
> There is probably something wrong in the database upgrade procedure. 
> 
> Bug 419601 raised DB_SCHEMA_VERSION from 8 to 9 about 3 months ago. 
> Bug 363191 raised DB_SCHEMA_VERSION from 8 to 9 again 2 days ago.
I am not sure if this causes the problem, because the versions have been decoupled by bug 419601: cal_calmgr_schema_version vs. cal_calendar_schema_version.

> I guess the code that prevents opening newer database somehow looks at the
> wrong version. Maybe the error in Comment #0 is caused by such a version
> mismatch too. One part of Sunbird thinks it's updated, another part not.
Hmm, the code in calCalendarManager.js looks good to me.
I think we must increase cal_calmgr_schema_version every time we increase cal_calendar_schema_version, because otherwise the mentioned check wouldn't work.
All fair and good points, but why didn't I get the add-on calendar-timezones@mozilla.org through the automatic update?
At one point I installed the 0.9pre by downloading a .tar.gz file, I've been updating through the automatic updating functionality every day. A function has been added to the core since the time I installed the tar.gz file.
I believe I should receive that function through automatic update or, if adding a new function isn't possible through the automatic update, the process should inform me that a new function has been added to the core and I should download a new tar.gz. I understand the consequences of testing and can live with a solution like that.
(In reply to comment #9)
> All fair and good points, but why didn't I get the add-on
> calendar-timezones@mozilla.org through the automatic update?
I suspect, because it hasn't been included into the sunbird sets, see the last fix on bug 363191.
I filed Bug 438372 to track the schema check issue. 
Now we can return investigation the upgrade issue reported in Comment #0.
Before I try to do anything else, is there a way for my to recover my data, which seems to be gone? Is it not gone? That would be good to know, so that I do not do something to delete it....

If it is not gone, is there a way to recover it?
Ray, I am quite confident that your problem will be resolved with the fixes in bug 413908.
Has someone been able to reproduce the upgrade failure on Linux?
Keywords: qawanted
I couldn't reproduce it on Linux. Stefan, since you seem to have a pretty decent test (and upgrade) installation basis, could you have a look at my patches for bug 413908, please? It would really be great to avoid any regressions upfront.
Way to reproduce the problem:
Download nightly build from Jun 1st 2008. (I picked this date as I knew I updated after this date and it worked)
Start with sunbird --ProfileManager
Create new profile.
Create a second local calendar
Click Help -> Check for updates
Install the suggested update Jun 12th
Restart the calendar.
Problem occurs.
I can confirm the failure by using the Sunbird nightly update mechanism on Windows XP.

From looking at the updater log file I don't see any reference to calendar-timezones. Seems the updater doesn't try to add the extension at all.

Workaround: Manually download the Sunbird package and extract it to your installation location.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Linux → All
Hardware: PC → All
Summary: Upgrade nightly build 0.9pre, restart results in error on local calendars. → Upgrade via update mechanism fails, restart results in error on local calendars
I don't know if it has just reported and if it's related, but you get the same error on local calendar at restart if you *downgrade* Lightning to the build 2008060420 or older from a newer build (on Win XP SP2).
It occurs without add new calendar, simply install a Lightning build newer than 2008060420, then install (over it or after uninstall it) a 2008060420 or older and you get the error on local caledar at restart:

[Exception... "'Failure' when calling method: [calICalendar::uri]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: file:///C:/ThunderbirdPortable/Data/profile/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/js/calCalendarManager.js :: cmgr_createCalendar :: line 533"  data: no]
(In reply to comment #19)
That's the same as Bug 438372.
(In reply to comment #20)
Sorry :(, failure also on 0.9pre made me think to a different problem.
ause, do you have an idea why the nightly update doesn't include the new files?
in update.manifest, taken from a .mar update file, i found 

add-if "extensions/calendar-timezones@mozilla.org" "extensions/calendar-timezones@mozilla.org/chrome/calendar-timezones-en-US.jar"

so, wild guessing, update fails on sunbird versions that do not yet have the timezone extension at all but should work one the recent ones...

anyone already tried?
The lightning stub extension looks odd, too (add-if'ed).
Flags: blocking-calendar0.9+
and "tools/update-packaging/common.sh" explains that add-if.

no idea how to get around that...
> and "tools/update-packaging/common.sh" explains that add-if.

So we need a patch like Attachment 285861 [details] [diff] in Bug 399865 Comment #23 again?
ah, that way we survived last time ;)
yes, final update files will need some additional care and nightly updates will be broken for versions without timezone extension :(
Keywords: qawanted
Summary: Upgrade via update mechanism fails, restart results in error on local calendars → Upgrade via update mechanism fails, restart results in error on local calendars (timezone extension not installed)
Component: General → Sunbird Only
Summary: Upgrade via update mechanism fails, restart results in error on local calendars (timezone extension not installed) → Sunbird: Upgrade via update mechanism fails, restart results in error on local calendars (timezone extension not installed)
Assignee: nobody → ause
since we're on an own branch now, hacking mozilla/tools/update-packing/common.sh may be an option to avoid postprocessing each and every .mar file manually.
Attachment #337636 - Attachment description: exception for timezone extension that replaces "add-if" with "add" → SUNBIRD_0_9_BRANCH only! - exception for timezone extension that replaces "add-if" with "add"
Attachment #337636 - Flags: review?
Attachment #337636 - Flags: review? → review+
Comment on attachment 337636 [details] [diff] [review]
[checked in] SUNBIRD_0_9_BRANCH only! - exception for timezone extension that replaces "add-if" with "add"

Looks good, r=philipp
Attachment #337636 - Attachment description: SUNBIRD_0_9_BRANCH only! - exception for timezone extension that replaces "add-if" with "add" → [checked in] SUNBIRD_0_9_BRANCH only! - exception for timezone extension that replaces "add-if" with "add"
Attached patch add takes only one parameter โ€” โ€” Splinter Review
Attachment #337668 - Flags: review?
Attachment #337668 - Flags: review? → review+
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
checked update scenario with sunbird 0.9 (update starts with 0.5) -> VERIFIED.
Status: RESOLVED → VERIFIED
QA Contact: general → sunbird
Target Milestone: --- → 0.9
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: