Page 1 of 2

BUG: GetChildLineageFromUid throws exception in IE11

Posted: Fri Jan 24, 2014 10:28 pm
by krstcs
This is the FULL stack trace from the exception. Test worked fine on all other VMs running at the same time (IE 8/9/10).

Ranorex 4.1.4
Windows 7 (VM)
IE 11

I can email the report if needed, but there isn't anything in there besides this.

Code: Select all

GetChildLineageFromUid failed on FlavorElement with flavor 'web'. Index was outside the bounds of the array.
Show/Hide Stacktrace

Server stack trace: at Ranorex.Core.InvokerControl.CallMethod(CallMethodDelegate target, Object[] args) at Ranorex.Plugin.TridentIpc.TridentDom.GetChildLineageFromUid(IntPtr browserRef, IntPtr elemRef, String uid) at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Ranorex.Plugin.TridentIpc.ITridentDom.GetChildLineageFromUid(IntPtr browserRef, IntPtr elemRef, String uid) at Ranorex.Plugin.WebDocumentRemoteFlavorElement.GetChildLineageFromUid(String uidValue, UidFindResult& result) at Ranorex.Core.Element.FindFromUid(String uidValue, Element& result)

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Wed Jan 29, 2014 9:42 pm
by Support Team
Hello krstcs,

Thank you for the stack trace.
Yes it would be helpful to get the report. Would it also be possible to send a Ranorex Snapshot file from your application?

Regards,
Bernhard

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Wed Feb 05, 2014 7:28 pm
by krstcs
OK, I am sending my latest report to [email protected]. It took it a while to pop up again.

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Thu Feb 06, 2014 6:38 pm
by Support Team
Hi krstcs,

Thank you for the report file. I have already added an entry in our bug tracking system and answered your mail. Our development team will analyze the issue in more detail.

Regards,
Bernhard

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Mon Feb 17, 2014 9:32 pm
by krstcs
OK, one more thing to add to this. I finally found a related, but different exception at the end of one test.

Code: Select all

LineageGlueRule 'web_child_elements' caused COMException on Execute. The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED)) 
Show/Hide Stacktrace
 at mshtml.IHTMLElement.get_tagName() at Ranorex.Plugin.WebFlavorElement..ctor(IHTMLElement element, WebDocumentFlavorElement superParent, WebFlavorElement parentFrameElement) at Ranorex.Plugin.WebChildrenRule.Execute(GlueRuleExecutionState state) at Ranorex.Core.ElementEngine.ApplyGlueRules(Element element, GlueRuleExecutionState state)

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Thu Feb 20, 2014 8:31 pm
by krstcs
Is there any update on this?

This causing test failures now in IE11 due to timeouts because the exception is being thrown over and over and eating up CPU cycles on the test system which makes the timeout expire.

I have tried on Win8.1 with IE11 and have not been able to duplicate it, but it happens on every test with Win7.

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Fri Feb 21, 2014 3:02 pm
by Support Team
Hi krstcs,

I have added your reply to Bernhard’s post to our bug tracking system as well, since Bernhard is on vacation this week. Unfortunately there aren’t any updates till now. We will reply as soon as we get any further information from our development department.

Regards,
Robert

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Fri Feb 21, 2014 3:05 pm
by krstcs
Thanks Robert.

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Thu Mar 27, 2014 6:27 pm
by krstcs
Any update on this? It's been over a month.

This is getting to the point of not allowing testing on IE11. Tests are so slow they don't finish in the allowed time.

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Mon Mar 31, 2014 6:40 pm
by Support Team
Hello krstcs,

We changed some parts in our software which could be the root of the problem. Unfortunately it doesn't seem to fix your issue.
Unfortunately we have to reproduce the issue on our machines in order to analyze the issue in detail.
Is it possible to send us a sample solution in order to reproduce the behavior?
Thank you.

Regards,
Bernhard

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Thu Apr 03, 2014 6:03 pm
by krstcs
Bernhard, I've been trying to make a small test that would reproduce the issue, but with no success to this point.


However, I am now getting this, similar issue on IE8 as well, so I'm not sure this is limited to IE11.

From the report:

Code: Select all

GetChildLineageFromUid failed on FlavorElement with flavor 'web'. Failed to write to an IPC Port: The pipe is being closed.
Show/Hide Stacktrace

Server stack trace: at System.Runtime.Remoting.Channels.Ipc.IpcPort.Write(Byte[] data, Int32 offset, Int32 size) at System.Runtime.Remoting.Channels.Ipc.PipeStream.Write(Byte[] buffer, Int32 offset, Int32 count) at System.Runtime.Remoting.Channels.ChunkedMemoryStream.WriteTo(Stream stream) at System.Runtime.Remoting.Channels.Ipc.IpcClientHandler.SendRequest(IMessage msg, ITransportHeaders headers, Stream contentStream) at System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Ranorex.Plugin.TridentIpc.ITridentDom.AddRefCounts(IntPtr[] ptrs) at Ranorex.Plugin.WebRemoteFlavorElement..ctor(IntPtr elementRef, IntPtr superBrowserRef, List`1 parentFrameElemRefs, IntPtr ieHandle, ITridentDom proxy, IDictionary`2 initialValues, Boolean doRemoteRefCnt) at Ranorex.Plugin.WebFlavor.GetChildLineageFromUId(LinkedList`1 lineage, List`1 parentFrameRefs, IntPtr browserRef, IntPtr ieHandle, ITridentDom proxy, UidFindResult& result) at Ranorex.Plugin.WebDocumentRemoteFlavorElement.GetChildLineageFromUid(String uidValue, UidFindResult& result) at Ranorex.Core.Element.FindFromUid(String uidValue, Element& result)

EDIT TO ADD:
There appears to be 3 lines that are the same in the stack traces.

Code: Select all

 at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
...
 at Ranorex.Plugin.WebDocumentRemoteFlavorElement.GetChildLineageFromUid(String uidValue, UidFindResult& result)
 at Ranorex.Core.Element.FindFromUid(String uidValue, Element& result)
My guess would be that there is something not right in one of those methods.

I'll keep working on it when I have time.

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Thu Apr 03, 2014 6:15 pm
by krstcs
OK, further look at the report, and there is another, different trace mixed in.

Code: Select all

LineageGlueRule 'web_child_elements' caused RemotingException on Execute. Failed to write to an IPC Port: The pipe is being closed.
Show/Hide Stacktrace

Server stack trace: at System.Runtime.Remoting.Channels.Ipc.IpcPort.Write(Byte[] data, Int32 offset, Int32 size)
 at System.Runtime.Remoting.Channels.Ipc.PipeStream.Write(Byte[] buffer, Int32 offset, Int32 count)
 at System.Runtime.Remoting.Channels.ChunkedMemoryStream.WriteTo(Stream stream)
 at System.Runtime.Remoting.Channels.Ipc.IpcClientHandler.SendRequest(IMessage msg, ITransportHeaders headers, Stream contentStream)
 at System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
 at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
 at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
 at Ranorex.Plugin.TridentIpc.ITridentDom.AddRefCounts(IntPtr[] ptrs)
 at Ranorex.Plugin.WebChildrenRule.Execute(GlueRuleExecutionState state)
 at Ranorex.Core.ElementEngine.ApplyGlueRules(Element element, GlueRuleExecutionState state)
What is interesting is that this one has only one line in common with both the other ones...

Code: Select all

 at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
Maybe the problem is in this method? (It could just be that once the stack became unstable, this happens to be the spot that it all comes together, not sure.)


Anyway, thought I would add that here.

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Tue Apr 08, 2014 12:51 pm
by Support Team
Hello krstcs,

Thank you for your investigations. I forwarded the additional information to our development department.

Regards,
Robert

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Thu Apr 10, 2014 3:35 pm
by Support Team
Hello krstcs,

Unfortunately we are still not able to reproduce this issue. We stuck in our analysis. May I ask you once again to provide your solution or a part of the solution to us so that we are able to reproduce the issue.

Thank you in advance.

Regards,
Robert

Re: BUG: GetChildLineageFromUid throws exception in IE11

Posted: Thu Apr 10, 2014 3:49 pm
by krstcs
Sorry, yeah, thought I had sent that to you guys. I'll email it in a bit.

Warning though if you are going to try to run it, it uses SQL Connectors extensively and I cannot give access to our network in order to use the DB. In most cases the default values should work, but I can't promise anything.