Closed
Bug 7195
Opened 26 years ago
Closed 25 years ago
UMR in xptcall
Categories
(Core :: XPCOM, defect, P3)
Tracking
()
RESOLVED
WONTFIX
M17
People
(Reporter: bruce, Assigned: rich.burridge)
Details
Attachments
(1 file)
(deleted),
text/plain
|
Details |
Solaris 2.6, Purify. Compiled with gcc 2.7.2.3.
A UMR in xptcall can't be good. I might be wrong though.
**** Purify instrumented ./apprunner.pure (pid 3014) ****
UMR: Uninitialized memory read (6 times):
* This is occurring while in:
*unknown func* [pc=0xef6e31f8]
nsXPCWrappedNativeClass::CallWrappedMethod(JSContext*,nsXPCWrappedNative*,const
XPCNativeMemberDescriptor*,int,unsigned int,long*,long*)
[xpcwrappednativeclass.cpp:540]
nsXPCWrappedNativeClass::GetAttributeAsJSVal(JSContext*,nsXPCWrappedNative*,cons
t XPCNativeMemberDescriptor*,long*) [xpcprivate.h:483]
WrappedNative_GetProperty(JSContext*,JSObject*,long,long*)
[xpcwrappednativeclass.cpp:734]
js_Interpret [jsinterp.c:2155]
js_Execute [jsinterp.c:815]
JS_EvaluateUCScriptForPrincipals [jsapi.c:2390]
nsJSContext::EvaluateString(const nsString&,const char*,unsigned
int,nsString&,int*) [nsJSEnvironment.cpp:120]
XULContentSinkImpl::EvaluateScript(nsString&,unsigned int)
[nsXULContentSink.cpp:1538]
XULContentSinkImpl::DoneLoadingScript(nsIUnicharStreamLoader*,nsString&,void*,un
signed int) [nsXULContentSink.cpp:1493]
nsUnicharStreamLoader::OnStopBinding(nsIURL*,unsigned int,const unsigned
short*) [nsNetStreamLoader.cpp:156]
nsDocumentBindInfo::OnStopBinding(nsIURL*,unsigned int,const unsigned
short*) [nsDocLoader.cpp:1527]
stub_complete(_NET_StreamClass*) [nsStubContext.cpp:772]
net_ProcessFile [mkfile.c:1360]
NET_ProcessNet [mkgeturl.c:3355]
NET_PollSockets [mkselect.c:298]
nsNetlibService::NetPollSocketsCallback(nsITimer*,void*)
[nsNetService.cpp:1276]
TimerImpl::FireTimeout() [nsTimer.cpp:73]
nsTimerExpired [nsTimer.cpp:189]
g_timeout_dispatch [gmain.c:1147]
g_main_dispatch [gmain.c:647]
g_main_iterate [gmain.c:854]
g_main_run [gmain.c:912]
gtk_main [gtkmain.c:475]
nsAppShell::Run() [nsAppShell.cpp:197]
nsAppShellService::Run() [nsAppShellService.cpp:400]
main [nsAppRunner.cpp:482]
_start [crt1.o]
* Reading 4 bytes from 0xefffe280 on the stack.
Updated•26 years ago
|
Assignee: dp → mccabe
Updated•26 years ago
|
Assignee: mccabe → jband
Comment 1•26 years ago
|
||
Reassigning to jband. Getting there...
Comment 2•26 years ago
|
||
Adding rogerl to the cc list...
Roger, is your code likely doing something wrong or is Purify in error?
Comment 3•26 years ago
|
||
Well, without wanting to ignore the possibility that my code IS likely doing
something wrong, I don't believe this is it. The InvokeByIndex code loads all
the parameter registers (o0..o5) from the outgoing space allocated on the stack
regardless of the number of parameters actually being used, so it's quite likely
that some of them will be loading un-initialized values, but that's o.k.
since they're not being used. InvokeCopyToStack could return the number of
registers to load and have the assembly code dispatch to the appropriate slot in
the load sequence, I'll take a look at that eventually.
Updated•26 years ago
|
Assignee: jband → rogerl
Comment 4•26 years ago
|
||
reassigning to roger.
Reporter | ||
Comment 5•26 years ago
|
||
I need to verify that this still happens after the Sun guys contributed the
updated code here. I'll attempt to do so this week.
Updated•26 years ago
|
Status: NEW → ASSIGNED
Updated•25 years ago
|
QA Contact: beppe → gerardok
Updated•25 years ago
|
Target Milestone: M13 → M14
Comment 6•25 years ago
|
||
Not going to make M13 for these.
Comment 8•25 years ago
|
||
Per Clayton, bulk moving Solaris bugs to Sun.
Assignee: rogerl → drapeau
Status: ASSIGNED → NEW
Re-assigning to Rich Burridge, working on Solaris port of Netscape 6.
Assignee: drapeau → rich.burridge
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Reporter | ||
Comment 10•25 years ago
|
||
This now appears to be:
UMR: Uninitialized memory read (234 times)
This is occurring while in:
*unknown func* [pc=0xef49ee0c]
EventHandler(PLEvent*) [nsProxyEvent.cpp:478]
if (proxyObject)
{
// invoke the magic of xptc...
=> nsresult rv = XPTC_InvokeByIndex(
proxyObject->GetRealObject(),
info->GetMethodIndex(),
info->GetParameterCount(),
info->GetParameterList());
nsProxyObject::Post(unsigned
int,nsXPTMethodInfo*,nsXPTCMiniVariant*,nsIInterfaceInfo*)
[nsProxyEvent.cpp:418]
nsProxyEventObject::CallMethod(unsigned short,const
nsXPTMethodInfo*,nsXPTCMiniVariant*) [nsProxyEventObject.cpp:403]
nsProxyEventClass::CallQueryInterfaceOnProxy(nsProxyEventObject*,const
nsID&,nsProxyEventObject**) [nsProxyEventClass.cpp:244]
nsProxyEventClass::DelegatedQueryInterface(nsProxyEventObject*,const
nsID&,void**) [nsProxyEventClass.cpp:346]
nsProxyEventObject::QueryInterface(const nsID&,void**)
[nsProxyEventObject.cpp:352]
nsQueryInterface::operator ()(const nsID&,void**)const
[nsCOMPtr.cpp:32]
nsCOMPtr<nsIHTTPNotify>::assign_from_helper(const
nsCOMPtr_helper&,const nsID&) [nsCOMPtr.h:813]
nsCOMPtr<nsIHTTPNotify>::nsCOMPtr<nsIHTTPNotify>(const
nsQueryInterface&) [nsCOMPtr.h:525]
nsHTTPChannel::OnHeadersAvailable() [nsHTTPChannel.cpp:1491]
nsHTTPChannel::FinishedResponseHeaders() [nsHTTPChannel.cpp:1651]
nsHTTPChannel::ReadFromCache(unsigned int,int)
[nsHTTPChannel.cpp:954]
nsHTTPChannel::AsyncRead(unsigned
int,int,nsISupports*,nsIStreamListener*) [nsHTTPChannel.cpp:282]
nsDocumentOpenInfo::Open(nsIChannel*,int,const char*,nsISupports*)
[nsURILoader.cpp:246]
nsURILoader::OpenURIVia(nsIChannel*,int,const
char*,nsISupports*,unsigned int) [nsURILoader.cpp:591]
nsURILoader::OpenURI(nsIChannel*,int,const char*,nsISupports*)
[nsURILoader.cpp:510]
ImageNetContextImpl::GetURL(ilIURL*,NET_ReloadMethod,ilINetReader*)
[nsImageNetContextAsync.cpp:751]
il_image_complete(il_container_struct*) [if.cpp:1562]
ImgDCallbk::ImgDCBHaveImageAll() [if.cpp:191]
process_buffered_gif_input_data(gif_struct*) [gif.cpp:692]
gif_delay_time_callback(void*) [gif.cpp:725]
timer_callback(nsITimer*,void*) [nsImageSystemServices.cpp:70]
nsTimerGtk::FireTimeout() [nsTimerGtk.cpp:58]
nsTimerExpired [nsTimerGtk.cpp:175]
g_timeout_dispatch [gmain.c:1147]
g_main_dispatch [gmain.c:647]
g_main_iterate [gmain.c:854]
g_main_run [gmain.c:912]
gtk_main [gtkmain.c:475]
Reading 4 bytes from 0xefffe4e8 on the stack.
Assignee | ||
Comment 11•25 years ago
|
||
Assignee | ||
Comment 12•25 years ago
|
||
[richb - 22nd March 2000]
I've attached:
http://bugzilla.mozilla.org/showattachment.cgi?attach_id=6791
This is a Purify log of the UMR's generated by calls to XPTC_InvokeByIndex
when I startup Mozilla (M14), and then just Quit from the File menu after the
Mozilla browser window is fully displayed. This is with Mozilla compiled with
Sun 5.0 compilers and using Purify 4.5.1.
There are 23 occurances of this error (each repeated multiple times). It's
interesting to note that the number of bytes below the frame pointer varies
with the different calls to XPTC_InvokeByIndex. I suspect there is a direct
correlation between this value and the number of parameters (and their size)
for the method being invoked, and Purify is getting confused by the
XPTC_InvokeByIndex assembly code just adjusting the frame pointer.
I'm not going to try to prove or disprove this theory.
Comment 13•25 years ago
|
||
How come this is still M15? M15 is already out!
Assignee | ||
Comment 14•25 years ago
|
||
[richb - 4/27/00]
It was M15 because of my inexperience with Bugzilla. I've adjusted this to
M17. I actually don't believe it's a bug; it's just Purify's inability to
handle hand-coded assembler files. I just haven't found the time to
prove that yet though.
Target Milestone: M15 → M17
Reporter | ||
Updated•25 years ago
|
Severity: major → trivial
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → WONTFIX
Reporter | ||
Comment 15•25 years ago
|
||
Closing after discussing with richb. We can just suppress this. We've all got
better work to do as this causes no real problems whatsoever.
You need to log in
before you can comment on or make changes to this bug.
Description
•