Closed Bug 265903 Opened 20 years ago Closed 20 years ago

Camino crashes when starting a download if download folder not specified in IC preferences (e.g. a fresh user account)

Categories

(Camino Graveyard :: Downloading, defect)

PowerPC
macOS
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED
Camino0.9

People

(Reporter: nmadura, Assigned: mozilla)

References

Details

(Keywords: crash, fixed1.7.6)

Attachments

(9 files, 1 obsolete file)

65.67 KB, text/plain
Details
89.98 KB, text/plain
Details
101.48 KB, text/plain
Details
34.19 KB, text/plain
Details
534 bytes, text/plain
Details
1.13 KB, text/plain
Details
978 bytes, text/plain
Details
23.33 KB, text/plain
Details
2.71 KB, patch
mikepinkerton
: superreview+
Details | Diff | Splinter Review
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8a5) Gecko/20041024 Camino/0.8+ Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8a5) Gecko/20041024 Camino/0.8+ Using nightlies (this bug does not affect 0.8.1), on any client with a fresh install (including new users on machine with an exisint install) Camino crashes when attempting to download anything. Reproducible: Always Steps to Reproduce: 1. Create a new user account 2. Login to new user account 3. Launch Camino 4. Download something Actual Results: Camino crashed Expected Results: File should have downloaded
WFM using trunk 2004102408 (v0.8+) NB on 10.3.5 I have tested all the given situations and all works fine here. All I can say is perhapos you should backup your profile/support folder and trash the orig one. Launch Camino, quit it. And move your bookmarks,cookies and history file back to the new profile/support folder.
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → WORKSFORME
Attached file Log From TalkBack
I installed Camino onto a brand new machine and using the user that installed Camino I did not experience a crash, but creating a new user and launching Camino caused a crash when ever I tried to download anything. I tried removing the camino folder in ~/Library/Application Support, that didn't affect anything. It crashes everytime I download something with that newer user account. The attached file is from the crash reporter.
Status: RESOLVED → UNCONFIRMED
Resolution: WORKSFORME → ---
Nathan what are you downloading and to what webiste do you go, becuase I honestly do not see any such behaviour. And nobody on the forum or mailing list has reported such an issue.
can you post a crash from either the crashlog or copied from the OS crash reporter (not Talkback)? The talkback info by itself is not human readable. thanks!
Attached file Log From CrashReporter
Attached is a copy of the log as spit out from the OS X CrashReporter... looks like the data contained in the Crash report is actually from three crashes on two days (I believe all three are from trying to download a file) and on the two different days were using (I believe) the latest nightlies at the time... I definitely downloaded the nightly tonight which caused the crash today (10/26).
Oops, I was also requested to submit a page that caused the crash, (I believe it is _any_ file that I try to download) however, typically my test case is the default start page ( http://www.mozilla.org/projects/camino/homepage.html ) and I usually just download from the link that says 0.81
Attachment #163331 - Attachment description: Crash Reporter Information → Log From TalkBack
The crashing problem is reported when "fast user switching" is used by firefox. (bug266138) Is login performed from the login panel?
Fast user switching is not being used, it isn't even enabled. A full "Log out" is preformed, and then the new user is selected from the dialog box and "Logged in." This is true of the other installs I have tried this with.
I can now reproduce this with 20041029 0.8+ (I was unable to do so on earlier nightlies when I tried). Here is a crash log (3 separate tries, the first two on one login and the third on a second login to that user but having deleted the profile before starting Camino). In case it's useful, the corresponding TalkBack incidents are TB1610495H, TB1610528E, and TB1610941Q.
Attachment #163938 - Attachment mime type: application/octet-stream → text/plain
hrm, it's crashing in internet config. my guess is that your IC prefs are corrupted somehow. we had a bug like this a while back but never could get it to repro. if you move ~/Library/Preferences/com.apple.internetconfig.plist to the desktop, log out and back in (just to be safe) and try camino again, do you get the same crashes?
(In reply to comment #10) > if you move ~/Library/Preferences/com.apple.internetconfig.plist to the desktop, log out and back in (just to be safe) and try camino again, do you get the same crashes? Unfortunately, it still crashes. No new ~/Library/Preferences/com.apple.internetconfig.plist seems to be created, either, if that's relevant. 2004103108 (v0.8+) 10.3.5
Figured this one out thanks to bug 218271 comment 16. Confirming with 0.8.2 and 2004120608 (v0.8+) on 10.3.6. Mike was right, the IC prefs were "corrupted." The key here is that the "stock" internetconfig.plist (created when a fresh user account is created)--or a missing internetconfig.plist, obviously--is missing the entry for the downloads directory! It seems that simply *opening* Safari prefs (which have the downloads dir settings in the first panel) causes this entry to be created in the IC plist, and Camino no longer crashes when downloading on a fresh user account, which probably explains why it's fairly rare. This probably needs to be addressed when implementing bug 218271 (if user can set Camino as default from Camino, no reason to open Safari and thus he/she won't pick up the IC download dir setting. I'll attach three IC plists: the stock one from my new user, Safari's editing of the stock profile (via opening Safari prefs), and the plist created by opening Safari's prefs when there is no IC plist file at all.
Status: UNCONFIRMED → NEW
Ever confirmed: true
nice catch, we'll keep this in mind for sure!
Assignee: pinkerton → joshmoz
Target Milestone: --- → Camino0.9
More info (perhaps a separate bug, but the root cause seems to me to be the same): I remembered that you can set the downloads directory in Camino...unfortunately, in this case you can't. If the downloads dir entry is missing from the IC prefs (or the IC prefs is missing), Camino crashes when opening the Navigation pane (which contains the Downloads tab), and only the Navigation pane, of the Camino prefs. Once Safari has added that field, the crash goes away. I've confirmed this behavior on both 0.8.2 and 2004120608 (v0.8+) on 10.3.6.
This might be a fun little thing to look at
Updating summary to reflect the results of Smokey's investigation.
Summary: Camino crashes when starting a download using latest nightlies (after 0.8.1) on fresh install or in a new user account → Camino crashes when starting a download if download folder not specified in IC preferences (e.g. a fresh user account)
The crash is definitely happening in Apple's code. Control never returns from ::ICGetPref(). I can reproduce the same crash in Colloquy (which uses similar code to us) by trying to open its file transfer pref pane from a fresh user account. However it manages to avoid crashing the whole app - you just can't access that one pref pane. I've tried detecting the error by using ::ICFindPrefHandle, but this too crashes. I can't find any reference to the bug on the internet, but maybe someone (Mike?) should raise it with Apple. I'm going to have a look at changing nsDirectoryService.cpp so that it loops over all the IC preferences and checks to see if each one is the download directory, to avoid having to ask for it and causing the crash.
Attached patch Proposed patch (obsolete) — Splinter Review
This patch makes nsDirectoryService loop through all the IC prefs to see if the download directory has been set, and only gets the pref it it exists. This avoids the crash in Apple's code. Although there are ~200 keys on my system, don't expect the performance implications to be significant, we only call this code when we display the download pref pane or when we start a download.
Assignee: joshmoz → Bruce.Davidson
Status: NEW → ASSIGNED
Attachment #170032 - Flags: review?(joshmoz)
Attachment #170032 - Flags: review?(joshmoz) → review+
Attachment #170032 - Flags: review?(sfraser_bugs)
as an aside, colloquy is open source. how do they handle this?
An alternate approach, suggested by smfr, to call ICGetPref but without the buffer, just to query if the pref exists still crashes out in the same place. I suggest that we go ahead with the current patch. For the record, the answer to pink's question is that Colloquy don't handle it either, they crash too (as of 2.0 (v2C11))!
Comment on attachment 170032 [details] [diff] [review] Proposed patch Please remove tabs from these changes >Index: xpcom/io/nsDirectoryService.cpp >=================================================================== >+ // ICGetPref() crashes when getting the download directory if the download >+ // directory has never been specified (e.g. a new user account), bug 265903. >+ // To work around this we enumerate through the IC prefs to see if the >+ // download directory has been specified before trying to obtain it. >+ long numPrefs = 0; >+ err = ::ICCountPref(icInstance, &numPrefs); >+ if (err == noErr) >+ { >+ Str255 key; Put 'key' inside the loop (the most local scope). >+ for ( long i = 0; i < numPrefs; ++i ) >+ { Fix those and sr=sfraser
Attachment #170032 - Flags: review?(sfraser_bugs) → review+
Patch simply fixes whitespace and addresses the review nit. Can people transfer r= across please.
Attachment #170032 - Attachment is obsolete: true
Attachment #171918 - Flags: superreview?(pinkerton)
Comment on attachment 171918 [details] [diff] [review] Patch addressing review comments sr=pink has a bug been filed with apple? someone should do that before it's forgotten about forever and other apps have to suffer (like colloquy)
Attachment #171918 - Flags: superreview?(pinkerton) → superreview+
landed on trunk
Status: ASSIGNED → RESOLVED
Closed: 20 years ago20 years ago
Resolution: --- → FIXED
> has a bug been filed with apple? Consider them informed.
Keywords: crash
I don't know the procedure for officially marking a bug as "Verified", but I will confirm that 2005012108 (v0.8+) no longer crashes when: 1) attempting to start a download with a) an IC.plist w/o a downloads directory entry and b) without an IC.plist 2) opening Camino's Downloads prefpane when the same a) and b) conditions exists. Great fix!
Comment on attachment 171918 [details] [diff] [review] Patch addressing review comments need a= for this to get on the branch.
Attachment #171918 - Flags: approval1.7.6?
Comment on attachment 171918 [details] [diff] [review] Patch addressing review comments a=mkaply
Attachment #171918 - Flags: approval1.7.6? → approval1.7.6+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: