BUG: GetChildLineageFromUid throws exception in IE11

Bug reports.
krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Fri Jan 24, 2014 10:28 pm

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)
Shortcuts usually aren't...

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by Support Team » Wed Jan 29, 2014 9:42 pm

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
.
Image

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Wed Feb 05, 2014 7:28 pm

OK, I am sending my latest report to [email protected]. It took it a while to pop up again.
Shortcuts usually aren't...

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by Support Team » Thu Feb 06, 2014 6:38 pm

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
.
Image

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Mon Feb 17, 2014 9:32 pm

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)
Shortcuts usually aren't...

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Thu Feb 20, 2014 8:31 pm

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.
Shortcuts usually aren't...

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by Support Team » Fri Feb 21, 2014 3:02 pm

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
.
Image

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Fri Feb 21, 2014 3:05 pm

Thanks Robert.
Shortcuts usually aren't...

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Thu Mar 27, 2014 6:27 pm

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.
Shortcuts usually aren't...

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by Support Team » Mon Mar 31, 2014 6:40 pm

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
.
Image

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Thu Apr 03, 2014 6:03 pm

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.
Shortcuts usually aren't...

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Thu Apr 03, 2014 6:15 pm

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.
Shortcuts usually aren't...

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by Support Team » Tue Apr 08, 2014 12:51 pm

Hello krstcs,

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

Regards,
Robert
.
Image

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by Support Team » Thu Apr 10, 2014 3:35 pm

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
.
Image

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: BUG: GetChildLineageFromUid throws exception in IE11

Post by krstcs » Thu Apr 10, 2014 3:49 pm

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.
Shortcuts usually aren't...