Info Screen/Dialog appears if not enough room to migrate

VERIFIED FIXED in M17

Status

Core Graveyard
Profile: BackEnd
P2
normal
VERIFIED FIXED
19 years ago
2 years ago

People

(Reporter: kevinyen, Assigned: racham)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [nsbeta2+] ETA:7/13 (Fix in hand))

Attachments

(1 attachment)

(Reporter)

Description

19 years ago
If one or more profiles cannot be migrated due to insufficient disk space,
dialog should appear telling user that his or some of his profiles aren't
available due to lack of space, what the user might want to do, and to refer
user to Release Notes for more info.

Updated

19 years ago
Assignee: selmer → racham
Target Milestone: M11

Comment 1

19 years ago
Bhuvan, unfortunately we need this pre-beta too.
(Assignee)

Updated

19 years ago
Status: NEW → ASSIGNED
(Assignee)

Comment 2

19 years ago
Yes. NSFileSpec has a method to get the available disk space.
Don and I will communicate on the error code he needs to return
in this case and that error will be handled accordingly.

Updated

19 years ago
Component: Profile Migration → Profile Manager

Comment 3

19 years ago
Setting component to profile manager to get this on the right radar.

Comment 4

19 years ago
*** Bug 14070 has been marked as a duplicate of this bug. ***

Comment 5

18 years ago
Dogfood Candidate

Updated

18 years ago
Summary: Info Screen/Dialog appears if not enough room to migrate → [DOGFOOD]Info Screen/Dialog appears if not enough room to migrate

Comment 6

18 years ago
Steve, what happens when you are out of space....e.g. what happens after the
info screen?  We aren't sure if it's dogfood.  More info please

Comment 7

18 years ago
We need more info to assist in PDT+ vs. PDT- decision.  What happens? Thanks!
(Assignee)

Comment 8

18 years ago
Here is what I think happens. Migration operation fails. No profilel information
will be set in the registry. After migration, the next command is to start the
apprunner with the migrated profile. This operation should fail and throw an
alert box, "failed to start communicator with the <profile name>".

Grace, will you please try to simulate this bug scenario ? You have to make one
of your drives really full and leave less than required space for profile
migration. Update the bug with the results.

Comment 9

18 years ago
Results from testing:
Migration progress bar is displayed then control returns to console prompt,
Migration operation fails, mozregistry.dat is create with 0 bytes, no message is
given the user as to what happened.

Updated

18 years ago
Whiteboard: [PDT-]RN

Comment 10

18 years ago
We will release note this for Dogfood. [PDT-]

Updated

18 years ago
Target Milestone: M11 → M13

Comment 11

18 years ago
More info,  I have a case where the user gets a partial migration.  Some of her
folders are missing and she wasn't getting any mail messages in her inbox.  This
scenario is for a POP account with 3000+ messages in inbox and 3000+ messages in
a subfolder of the inbox.  I'm still investigating...she cleaned up disk space
and migration seems to be taking too long.  See bug 20514
(Assignee)

Updated

18 years ago
Assignee: racham → dbragg
Status: ASSIGNED → NEW
Target Milestone: M13 → M14
(Assignee)

Comment 12

18 years ago
Don, we need to know when this has happened so we can put up a dialog.  Please
inform us how we can tell when this error has occured and then assign the bug
back.

Updated

18 years ago
Status: NEW → ASSIGNED

Comment 13

18 years ago
I haven't looked at the migration code in a LONG time.  Is this bug still the
same as when it was orignally logged?  There seems to be a lot of obfuscating
(ooh, big word) information.  I'm going to treat it as originally logged, i.e.
we're not returning a sufficient error code when there is a lack of space.

Comment 14

18 years ago
Ok. I looked at it.  The problem is that the ProcessPrefs function which is
called by Profile.cpp doesn't have an "out" parameter to return non-XPCOM
errors.  This will have to be added so that we can return a meaningful error.

There is another part of this that concerns me.  We are bailing out of the
migration code if there is not enough space but the code in Profile.cpp doesn't
do anything other than bail out as well.  There should at least be a generic
error handling condition in the profile.cpp code for the case where ProcessPrefs
fails.  All it does now is "return rv;".  All along we could have at least put
up a modal dialog that said, "Error during migration.  Please create a new
Profile" or something like that.  At least it would have prevented mysterious
"crash-like" behavior.

Updated

18 years ago
OS: Windows 95 → All
Hardware: PC → All

Comment 15

18 years ago
changing platform to all

Updated

18 years ago
Component: Profile Manager → Profile Migration

Comment 16

18 years ago
Fixing component to Profile Migration.

Don, your concern about our error handling is covered by bug 15037 since we'll
have to do something smart with the error returned to fix that bug.

Comment 17

18 years ago
This is on beta 1 PRD/QA beta status - adding beta1 for consideration
Keywords: beta1

Comment 18

18 years ago
Putting dogfood in the keyword field.
Keywords: dogfood

Updated

18 years ago
Summary: [DOGFOOD]Info Screen/Dialog appears if not enough room to migrate → Info Screen/Dialog appears if not enough room to migrate

Comment 19

18 years ago
Removing PDT- (from 10/26) 
Whiteboard: [PDT-]RN

Comment 20

18 years ago
Putting on PDT+ radar for beta1.  Not for dogfood, removing that keyword.
Keywords: dogfood
Whiteboard: [PDT+]

Updated

18 years ago
Whiteboard: [PDT+] → [PDT+]2/22

Comment 21

18 years ago
Ok, the backend fix for this is in.  There's now a new public method called 
GetError that you can used to find out if the migration failed because of disk 
space.  The error number is 200.

So, to call this you already have:
rv = pPrefMigrator->ProcessPrefs(showProgressAsModalWindow);

You need to add:
rv = pPrefMigrator->GetError(PRUint32 pointer)

Then check the value for 200.  (Currently that's the only specific error value 
we have but it's expandable!)  If it is 200 you'll need to show a dialog saying 
that there wasn't enough disk space to do the migration and whatever other 
processing you want.  I heard you were going to take them to the "Create New" 
process but that's up to the Profile Manager team.

Reassigning to the Profile Manager team for the "second half" of this bug fix.
Assignee: dbragg → racham
Status: ASSIGNED → NEW

Comment 22

18 years ago
Fixing component now that this is back in our court.
Component: Profile Migration → Profile Manager BackEnd

Comment 23

18 years ago
per PDT, can you provide an updated ETA. We're considering making this a PDT-
for beta1
(Assignee)

Comment 24

18 years ago
This definitely is not a beta stopper. Came into our plate very late. Please 
re-evalute this. This can be a pdt- bug. Changing to pdt-.
Whiteboard: [PDT+]2/22 → [PDT-]2/22

Comment 25

18 years ago
*** Bug 29144 has been marked as a duplicate of this bug. ***
(Assignee)

Updated

18 years ago
Status: NEW → ASSIGNED
(Assignee)

Updated

18 years ago
Target Milestone: M14 → M15
(Assignee)

Updated

18 years ago
Priority: P3 → P1
(Assignee)

Comment 26

18 years ago
Created attachment 7188 [details] [diff] [review]
patch to throw delete directory confirmation
(Assignee)

Comment 27

18 years ago
Wrong patch. It is the patch for bug 30156. Ignore that.

This bug has more issues due to the time at which the migration activity occurs 
(no parent dialog to provide context for auto migration failure, which is 
the most common case. Need to talk to windows & js gurus). This will not be done 
in M15. Moving to M16.
Target Milestone: M15 → M16
(Assignee)

Updated

18 years ago
Priority: P1 → P2
note, error value 200 and the signature for GetError() have changed.

see the code.

NS_ERROR_NOT_ENOUGH_SPACE_TO_MIGRATE is now the error we are returning.

see related bug #36249
(Assignee)

Comment 29

18 years ago
I think migration module (bug 36249) should own the idea of displaying a dialog 
if there isn't enough disk space. I will add code to make Profile Manager  
respond to the error codes passed back by the migration module.

Seth & Varada, we need to talk more about this on finalizing the flow of the 
events.

Adding nsbeta2 keyword.
Depends on: 36249
Keywords: beta1 → nsbeta2
Whiteboard: [PDT-]2/22

Comment 30

18 years ago
Putting on [nsbeta2+] radar for beta2 fix. 
Whiteboard: [nsbeta2+]
(Assignee)

Updated

18 years ago
Target Milestone: M16 → M17
(Assignee)

Updated

18 years ago
Whiteboard: [nsbeta2+] → [nsbeta2+] ETA:7/13

Comment 31

18 years ago
Bhuvan,

You'd mentioned that you had a fix for this.  If not, I think this might be one 
to cut until beta3.
(Assignee)

Comment 32

18 years ago
I am sorry....Fix is in hand...just need to be tested on other platforms (Mac, 
Linux)...
Whiteboard: [nsbeta2+] ETA:7/13 → [nsbeta2+] ETA:7/13 (Fix in hand)

Comment 33

18 years ago
OK.  If you can get this in today that would be great.
(Assignee)

Comment 34

18 years ago
Fixed. Pref migrator on encoutering disk space problems can return back to 
profile manager with options like create a new profile or just cancel the 
application session. Create Profile Wizard is presented to enable profile 
creation. On Cancel, we quit the app.. (single 4x profile case)

If user has multiple 4x profiles, the profile manager window comes up. Then 
on receiving a new profile request from pref migrator, create profile wizard 
will be shown as a modal dialog. On requesting Cancel, the control goes back to 
the profile manager sitting in the background. 
Status: ASSIGNED → RESOLVED
Last Resolved: 18 years ago
Resolution: --- → FIXED

Comment 35

18 years ago
build 200071709
retry allows user to free space to migrate
cancel/create new take back to profile manager
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.