Closed Bug 529459 Opened 15 years ago Closed 15 years ago

crash at [@ CFDictionaryGetValue] in Safari profile migration code

Categories

(Firefox :: Migration, defect)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- beta4-fixed
status1.9.1 --- .8-fixed

People

(Reporter: jtd, Assigned: jaas)

Details

(Keywords: crash)

Crash Data

Attachments

(2 files)

#86 in top mac crashers:

http://crash-stats.mozilla.com/report/list?product=Firefox&platform=mac&query_search=signature&query_type=exact&query=&date=&range_value=1&range_unit=weeks&do_query=1&signature=CFDictionaryGetValue

Stack crawl:

0 CoreFoundation CFDictionaryGetValue
1 libbrowsercomps.dylib GetDictionaryCStringValue browser/components/migration/src/nsSafariProfileMigrator.cpp:303
2 libbrowsercomps.dylib nsSafariProfileMigrator::GetSourceHomePageURL browser/components/migration/src/nsSafariProfileMigrator.cpp:1258
3 XUL NS_InvokeByIndex_P xpcom/reflect/xptcall/src/md/unix/xptcinvoke_unixish_x86.cpp:179
4 XUL XPCWrappedNative::CallMethod js/src/xpconnect/src/xpcwrappednative.cpp:2456
5 XUL XPC_WN_GetterSetter js/src/xpconnect/src/xpcprivate.h:2323
6 libmozjs.dylib js_Invoke js/src/jsinterp.cpp:1386
7 libmozjs.dylib js_InternalInvoke js/src/jsinterp.cpp:1447
8 libmozjs.dylib js_InternalGetOrSet js/src/jsinterp.cpp:1510

Possibly related to bug 371824.  Occurs in both 3.0.x code and 3.5.x code.
Keywords: crash
Assignee: nobody → joshmoz
Summary: crash at CFDictionaryGetValue in bookmark migration code → crash at [@ CFDictionaryGetValue] in bookmark migration code
Attached patch fix v1.0Splinter Review
I suspect this only happens for users that have never launched Safari in their account. I can reproduce this sometimes when I remove my Safari plist preferences and then do a Safari import. I cannot reproduce consistently, and I can only reproduce in the official opt-no-symbols Firefox 3.5.5 build.

I suspect this patch will fix the problem, we'll have to make sure by tracking crash reports. CFDictionaryGetValue will crash if you pass NULL or a bad pointer so this patch checks that. It also fixes some other potentially problematic code including uninitialized pointers.
Attachment #414117 - Flags: review?(mstange)
Comment on attachment 414117 [details] [diff] [review]
fix v1.0

Looks fine to me.
Attachment #414117 - Flags: review?(mstange) → review+
Flags: blocking-firefox3.6?
Flags: blocking1.9.0.16?
Attachment #414117 - Flags: approval1.9.2+
Attachment #414117 - Flags: review?(dietrich)
Dietrich, I need a Firefox/browser reviewer. If you can't do it please re-target to someone who can. Thanks.
Comment on attachment 414117 [details] [diff] [review]
fix v1.0

looks ok, r=me.
Attachment #414117 - Flags: review?(dietrich) → review+
Summary: crash at [@ CFDictionaryGetValue] in bookmark migration code → crash at [@ CFDictionaryGetValue] in profile migration code
Summary: crash at [@ CFDictionaryGetValue] in profile migration code → crash at [@ CFDictionaryGetValue] in Safari profile migration code
pushed to mozilla-central

http://hg.mozilla.org/mozilla-central/rev/92c9e42e75e6
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
1.9.0.16 is frozen, pushing blocking request to 1.9.0.17.
Flags: blocking1.9.0.16? → blocking1.9.0.17?
Flags: blocking-firefox3.6? → blocking-firefox3.6+
blocking1.9.1: --- → ?
Flags: blocking1.9.0.17?
Attachment #414117 - Flags: approval1.9.1.7?
blocking1.9.1: ? → ---
Comment on attachment 414117 [details] [diff] [review]
fix v1.0

Approved for 1.9.1.8, a=dveditz for release-drivers
Attachment #414117 - Flags: approval1.9.1.8? → approval1.9.1.8+
Crash Signature: [@ CFDictionaryGetValue]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: