Closed
Bug 950323
Opened 11 years ago
Closed 10 years ago
crash in XPCWrappedNative::CallMethod on start-up
Categories
(Core :: XPConnect, defect)
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: c, Assigned: ehsan.akhgari)
Details
Attachments
(3 files)
(deleted),
patch
|
benjamin
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
benjamin
:
review+
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 Light/26.0.1 (Beta/Release)
Build ID: 20131214135640
Steps to reproduce:
build the trunk with vs2013 and -GL optimize flag. crash on start-up.
xul.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx, XPCWrappedNative::CallMode mode) line 1873 C++
xul.dll!XPC_WN_GetterSetter(JSContext * cx, unsigned int argc, JS::Value * vp) line 1336 C++
xul.dll!js::Invoke(JSContext * cx, JS::CallArgs args, js::MaybeConstruct construct) line 463 C++
xul.dll!js::Invoke(JSContext * cx, const JS::Value & thisv, const JS::Value & fval, unsigned int argc, JS::Value * argv, JS::MutableHandle<JS::Value> rval) line 513 C++
xul.dll!js::InvokeGetterOrSetter(JSContext * cx, JSObject * obj, JS::Value fval, unsigned int argc, JS::Value * argv, JS::MutableHandle<JS::Value> rval) line 584 C++
xul.dll!js::Shape::get(JSContext * cx, JS::Handle<JSObject *> receiver, JSObject * obj, JSObject * pobj, JS::MutableHandle<JS::Value> vp) line 68 C++
xul.dll!js::baseops::GetProperty(JSContext * cx, JS::Handle<JSObject *> obj, JS::Handle<JSObject *> receiver, JS::Handle<jsid> id, JS::MutableHandle<JS::Value> vp) line 4281 C++
xul.dll!GetPropertyOperation(JSContext * cx, js::StackFrame * fp, JS::Handle<JSScript *> script, unsigned char * pc, JS::MutableHandle<JS::Value> lval, JS::MutableHandle<JS::Value> vp) line 264 C++
xul.dll!Interpret(JSContext * cx, js::RunState & state) line 2415 C++
xul.dll!js::RunScript(JSContext * cx, js::RunState & state) line 420 C++
xul.dll!js::ExecuteKernel(JSContext * cx, JS::Handle<JSScript *> script, JSObject & scopeChainArg, const JS::Value & thisv, js::ExecuteType type, js::AbstractFramePtr evalInFrame, JS::Value * result) line 614 C++
xul.dll!js::Execute(JSContext * cx, JS::Handle<JSScript *> script, JSObject & scopeChainArg, JS::Value * rval) line 648 C++
xul.dll!JS_ExecuteScript(JSContext * cx, JSObject * objArg, JSScript * scriptArg, JS::Value * rval) line 4725 C++
xul.dll!JS_ExecuteScriptVersion(JSContext * cx, JSObject * objArg, JSScript * script, JS::Value * rval, JSVersion version) line 4733 C++
xul.dll!mozJSComponentLoader::ObjectForLocation(nsIFile * aComponentFile, nsIURI * aURI, JSObject * * aObject, char * * aLocation, bool aPropagateExceptions, JS::MutableHandle<JS::Value> aException) line 1008 C++
xul.dll!mozJSComponentLoader::LoadModule(mozilla::FileLocation & aFile) line 425 C++
xul.dll!nsComponentManagerImpl::KnownModule::Load() line 746 C++
xul.dll!nsFactoryEntry::GetFactory() line 1773 C++
xul.dll!nsComponentManagerImpl::CreateInstanceByContractID(const char * aContractID, nsISupports * aDelegate, const nsID & aIID, void * * aResult) line 1080 C++
xul.dll!nsComponentManagerImpl::GetServiceByContractID(const char * aContractID, const nsID & aIID, void * * result) line 1441 C++
xul.dll!nsCOMPtr_base::assign_from_gs_contractid_with_error(const nsGetServiceByContractIDWithError & gs, const nsID & iid) line 101 C++
xul.dll!nsAppStartupNotifier::Observe(nsISupports * aSubject, const char * aTopic, const wchar_t * someData) line 63 C++
xul.dll!XREMain::XRE_mainRun() line 3844 C++
xul.dll!XREMain::XRE_main(int argc, char * * argv, const nsXREAppData * aAppData) line 4090 C++
xul.dll!XRE_main(int argc, char * * argv, const nsXREAppData * aAppData, unsigned int aFlags) line 4300 C++
Updated•11 years ago
|
Component: General → XPConnect
Reporter | ||
Comment 1•11 years ago
|
||
compile XPCWrappedNative.cpp without -GL make the crash gone.
Reporter | ||
Comment 2•10 years ago
|
||
after bug1028613, there are several warning C4731 in -GL builds.
c:\develop\mozilla\central\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp(76)
: warning C4731: “NS_InvokeByIndex”: frame pointer register 'ebp' modified by inline assembly code
c:\develop\mozilla\central\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp(76)
: warning C4731: “CallMethodHelper::Invoke”: frame pointer register 'ebp' modified by inline assembly code
c:\develop\mozilla\central\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp(76)
: warning C4731: “CallMethodHelper::Call”: frame pointer register 'ebp' modified by inline assembly code
c:\develop\mozilla\central\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp(76)
: warning C4731: “XPCWrappedNative::CallMethod”: frame pointer register 'ebp' modified by inline assembly code
Reporter | ||
Comment 3•10 years ago
|
||
Adding -GL- to xptcinvoke.cpp make the crash gone.
http://mxr.mozilla.org/mozilla-central/source/xpcom/reflect/xptcall/src/md/win32/moz.build#46
It seems to be a known bug.
Assignee | ||
Comment 4•10 years ago
|
||
Attachment #8446845 -
Flags: review?(benjamin)
Reporter | ||
Comment 6•10 years ago
|
||
It works. the warnings are gone.
By the way, I think it's a better idea to add -GL- when no_pgo is specified.
Flags: needinfo?(zhoubcfan)
Assignee | ||
Comment 7•10 years ago
|
||
(In reply to zhoubcfan from comment #6)
> It works. the warnings are gone.
Excellent!
> By the way, I think it's a better idea to add -GL- when no_pgo is specified.
Please file a different bug for that in Core::Build Config. That's really an unrelated issue to this one, but I think it probably makes sense to do that!
Updated•10 years ago
|
Attachment #8446845 -
Flags: review?(benjamin) → review+
Assignee | ||
Comment 8•10 years ago
|
||
Assignee: nobody → ehsan
Reporter | ||
Comment 9•10 years ago
|
||
Reporter | ||
Comment 10•10 years ago
|
||
Sorry for the trouble. But currently some lines are not necessary and kind of confusing. Either of the two patches should fix it.
Comment 11•10 years ago
|
||
Status: UNCONFIRMED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
Reporter | ||
Updated•10 years ago
|
Flags: needinfo?(ehsan)
Assignee | ||
Comment 12•10 years ago
|
||
(In reply to zhoubcfan from comment #10)
> Created attachment 8448506 [details] [diff] [review]
> correction.patch
>
> Sorry for the trouble. But currently some lines are not necessary and kind
> of confusing. Either of the two patches should fix it.
Why do you think these are unnecessary? Note the block at the very end of that moz.build file, I'm basically turning PGO off for this file in the rest of the cases where we don't set NO_PGO for the whole moz.build file.
Flags: needinfo?(ehsan)
Reporter | ||
Comment 13•10 years ago
|
||
(In reply to :Ehsan Akhgari (lagging on bugmail, needinfo? me!) from comment #12)
> (In reply to zhoubcfan from comment #10)
> > Created attachment 8448506 [details] [diff] [review]
> > correction.patch
> >
> > Sorry for the trouble. But currently some lines are not necessary and kind
> > of confusing. Either of the two patches should fix it.
>
> Why do you think these are unnecessary? Note the block at the very end of
> that moz.build file, I'm basically turning PGO off for this file in the rest
> of the cases where we don't set NO_PGO for the whole moz.build file.
xptcinvoke.cpp will be compiled only when !x86_64 and !GNU_CXX are both true.
Assignee | ||
Comment 14•10 years ago
|
||
Comment on attachment 8448506 [details] [diff] [review]
correction.patch
Aha, you're right!
Attachment #8448506 -
Flags: review?(benjamin)
Updated•10 years ago
|
Attachment #8448506 -
Flags: review?(benjamin) → review+
Assignee | ||
Comment 15•10 years ago
|
||
Comment 16•10 years ago
|
||
Comment 17•10 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•