Closed Bug 1368232 Opened 8 years ago Closed 7 years ago

startup crash in mozilla::Addon::FullPath

Categories

(Toolkit :: Add-ons Manager, defect, P1)

55 Branch
defect

Tracking

()

VERIFIED FIXED
mozilla55
Tracking Status
firefox-esr52 --- unaffected
firefox53 --- unaffected
firefox54 --- unaffected
firefox55 --- verified

People

(Reporter: philipp, Assigned: kmag)

References

Details

(Keywords: crash, regression, Whiteboard: [triaged][tbird crash])

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is report bp-4c860ee2-b92e-4581-855a-51efd0170519. ============================================================= Crashing Thread (0) Frame Module Signature Source 0 xul.dll mozilla::Addon::FullPath() toolkit/mozapps/extensions/AddonManagerStartup.cpp:392 1 xul.dll mozilla::Addon::UpdateLastModifiedTime() toolkit/mozapps/extensions/AddonManagerStartup.cpp:413 2 xul.dll mozilla::AddonManagerStartup::ReadStartupData(JSContext*, JS::MutableHandle<JS::Value>) toolkit/mozapps/extensions/AddonManagerStartup.cpp:539 3 xul.dll XPTC__InvokebyIndex xpcom/reflect/xptcall/md/win32/xptcinvoke_asm_x86_64.asm:97 4 @0x21ca24c3fff 5 xul.dll XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) js/xpconnect/src/XPCWrappedNativeJSOps.cpp:982 6 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:470 7 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 8 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 9 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 10 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 11 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 12 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 13 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 14 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 15 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 16 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 17 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 18 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 19 xul.dll js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) js/src/vm/Interpreter.cpp:534 20 xul.dll js::fun_apply(JSContext*, unsigned int, JS::Value*) js/src/jsfun.cpp:1295 21 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:470 22 xul.dll js::Wrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/proxy/Wrapper.cpp:166 23 xul.dll js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/proxy/CrossCompartmentWrapper.cpp:353 24 xul.dll js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/proxy/Proxy.cpp:479 25 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:452 26 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 27 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 28 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 29 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 30 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 31 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 32 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 33 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 34 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 35 xul.dll js::Wrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/proxy/Wrapper.cpp:166 36 xul.dll js::CrossCompartmentWrapper::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/proxy/CrossCompartmentWrapper.cpp:353 37 xul.dll js::Proxy::call(JSContext*, JS::Handle<JSObject*>, JS::CallArgs const&) js/src/proxy/Proxy.cpp:479 38 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:452 39 xul.dll Interpret js/src/vm/Interpreter.cpp:3028 40 xul.dll js::RunScript(JSContext*, js::RunState&) js/src/vm/Interpreter.cpp:410 41 xul.dll js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) js/src/vm/Interpreter.cpp:488 42 xul.dll JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) js/src/jsapi.cpp:2832 43 xul.dll nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) js/xpconnect/src/XPCWrappedJSClass.cpp:1214 44 xul.dll nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) js/xpconnect/src/XPCWrappedJS.cpp:615 45 xul.dll PrepareAndDispatch xpcom/reflect/xptcall/md/win32/xptcstubs_x86_64.cpp:174 46 xul.dll SharedStub xpcom/reflect/xptcall/md/win32/xptcstubs_asm_x86_64.asm:57 47 xul.dll nsXREDirProvider::DoStartup() toolkit/xre/nsXREDirProvider.cpp:1027 48 xul.dll XREMain::XRE_mainRun() toolkit/xre/nsAppRunner.cpp:4385 49 xul.dll XREMain::XRE_main(int, char** const, mozilla::BootstrapConfig const&) toolkit/xre/nsAppRunner.cpp:4730 50 xul.dll XRE_main(int, char** const, mozilla::BootstrapConfig const&) toolkit/xre/nsAppRunner.cpp:4823 51 firefox.exe NS_internal_main(int, char**, char**) browser/app/nsBrowserApp.cpp:309 52 firefox.exe wmain toolkit/xre/nsWindowsWMain.cpp:115 53 firefox.exe __scrt_common_main_seh f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:253 Ø 54 kernel32.dll kernel32.dll@0x8363 55 ntdll.dll RtlUserThreadStart this is a startup crash regressing on 55.0a1 with MOZ_RELEASE_ASSERT(file) added in bug 1358846. user comments talk about sharing the same profile between windows & linux.
Yes, sharing the same profile between Windows and Linux would cause that, since the paths would not be valid on both platforms.
Incidentally, this is something we shouldn't allow.
Assignee: nobody → kmaglione+bmo
Priority: -- → P1
Whiteboard: triaged
Comment on attachment 8872079 [details] Bug 1368232: Handle invalid paths in addonStartup.json when profiles are shared between OSes. https://reviewboard.mozilla.org/r/143584/#review148094
Attachment #8872079 - Flags: review?(rhelmer) → review+
Pushed by maglione.k@gmail.com: https://hg.mozilla.org/integration/autoland/rev/cdf3e1dfc190 Handle invalid paths in addonStartup.json when profiles are shared between OSes. r=rhelmer
Summary: Crash in mozilla::Addon::FullPath → startup crash in mozilla::Addon::FullPath
Whiteboard: triaged → [triaged][tbird crash]
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
(In reply to Kris Maglione [:kmag] (busy; behind on reviews) from comment #3) > Incidentally, this is something we shouldn't allow. You will upset a non-zero number of people. I've been doing this for over a decade. Google "share a Firefox profile between Windows and Linux", there are (mostly old) articles on how to do this at mozillazine, support.mozilla.org, Lifehacker, etc. I urge you to create a bug for this and to proactively communicate the change in behavior. I suggest with a startup alert "It appears you're sharing a profile between operating systems. This will be disallowed in a future Firefox release. See bug xxxx" Thanks for addressing my crash. Can you say which add-on is breaking?
Flags: qe-verify+
I have reproduced this crash on Nightly 55.0a1 from 2017-05-27 on Win 10 x64. - https://crash-stats.mozilla.com/report/index/26403fa6-31b9-4fda-9e81-df73a1170712 This is verified fixed on 55.0b8 (20170710085521) using Windows 10 x64.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: