Closed Bug 12079 Opened 21 years ago Closed 21 years ago

run apprunner after clobber build, crash in assertion

Categories

(Core Graveyard :: Profile: BackEnd, defect, P2)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: buster, Assigned: vparthas)

References

Details

Two problems:
1) the crash
2) the assertion is misplaced, since the code just above it can null out the
pointer it dereferences.

code:
        if (NS_FAILED(profileService->GetCurrentProfileDir(gProfileDir)))
        {
            delete gProfileDir; // All that for nothing.  sigh.
            gProfileDir = nsnull;
        }
        NS_ASSERTION(*gProfileDir == currProfileDirSpec, "Profile spec does not
match!");


stack:
nsSimpleCharString::Length() line 257 + 12 bytes
nsSimpleCharString::IsEmpty() line 255 + 15 bytes
nsFileSpec::operator==(const nsFileSpec & {...}) line 968 + 11 bytes
GetProfileDirectory(nsFileSpec & {...}) line 141 + 16 bytes
nsSpecialFileSpec::operator=(nsSpecialFileSpec::Type App_UserProfileDirectory50)
line 299 + 9 bytes
nsSpecialFileSpec::nsSpecialFileSpec(nsSpecialFileSpec::Type
App_UserProfileDirectory50) line 226
nsSpecialFileSpec::operator=(nsSpecialFileSpec::Type App_PrefsDirectory50) line
248 + 13 bytes
nsSpecialFileSpec::nsSpecialFileSpec(nsSpecialFileSpec::Type
App_PrefsDirectory50) line 226
nsSpecialFileSpec::operator=(nsSpecialFileSpec::Type App_PreferencesFile50) line
346 + 13 bytes
nsFileLocator::GetFileLocation(nsFileLocator * const 0x00eeb760, unsigned int
66539, nsIFileSpec * * 0x0012fdd8) line 467
NS_LocateFileOrDirectory(unsigned int 66539) line 49 + 20 bytes
nsPref::useDefaultPrefFile() line 268 + 10 bytes
nsPref::ReadUserPrefs(nsPref * const 0x00ea6ad0) line 454 + 8 bytes
main1(int 2, char * * 0x00e51840) line 702
main(int 2, char * * 0x00e51840) line 828 + 13 bytes
mainCRTStartup() line 338 + 17 bytes
Assignee: shuang → matt
Assignee: matt → selmer
Component: Pref UI → Profile Manager
Assignee: selmer → gayatrib
Priority: P3 → P2
Target Milestone: M10
Blocks: 12696
Assignee: gayatrib → varada
This is a one-line change.  Since Gayatri is off today, Varada will check it in
with his next build.  The solution is to return PR_FALSE from the condition that
sets the global to null.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
this has been fixed
Status: RESOLVED → VERIFIED
yup, I haven't seen this crasher... 1999090908 build, NT, and others.
Component: Profile Manager → Profile Manager BackEnd
Moving all Profile Manager bugs to new Profile Manager Backend component.
Profile Manager component to be deleted.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.