LineageGlueRule errors in FF (Ranorex 8.1)

Bug reports.
User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

LineageGlueRule errors in FF (Ranorex 8.1)

Post by odklizec » Tue Apr 03, 2018 2:29 pm

After updating Ranorex with latest 8.1, I'm getting a lot of LineageGlueRule errors in FF (59.0.2 64-bit with Ranorex plugin 1.1.0).

I've prepared a small sample app (attached below), which can reproduce the problem. At least I was able to reproduce it on two machines (physical and VM). The problem is, that it reproduces mainly the first error (published below) and only rarely second error. However, in my production tests, I see mainly the second issue :) Sadly, I'm unable to provide a sample solution from my production AUT. So the sample I'm publishing is using public jqwidgets grid sample and similar steps I'm using in my production tests. But as mentioned, second problem happens very rarely.

Most of the time I'm getting this error:
LineageGlueRule 'firefox_web_child_elements' caused RanorexException on Execute. Error in MsgHostDom call: Tab id does not exist
Show/Hide Stacktrace
Ranorex.RanorexException: Error in MsgHostDom call: Tab id does not exist System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetDocumentChildren(Int32 wndId,Int32 tabId,Int64 frameId) +0xffffffff Ranorex.Plugin.FirefoxIpc.FirefoxDom.GetDocumentChildren(Int32 wndId,Int32 tabId,Int64 frameId) +0x0 Ranorex.Plugin.FirefoxWebChildrenRule.Execute(GlueRuleExecutionState state) +0xf Ranorex.Core.ElementEngine.ApplyGlueRules(Element element,GlueRuleExecutionStateImpl state,Boolean includeRemotes) +0x6a
But from time to time, I'm getting also this error:
LineageGlueRule 'firefox_web_child_elements' caused RanorexException on Execute. Message timeout reached.
Show/Hide Stacktrace
Ranorex.RanorexException: Message timeout reached. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetFrameElementFrameId(NpPtr elemId) +0xffffffff Ranorex.Plugin.FirefoxIpc.FirefoxDom.GetFrameElementFrameId(NpPtr elemId) +0x0 Ranorex.Plugin.FirefoxWebFlavorElement.get_FrameElementFrameId() +0x8 Ranorex.Plugin.FirefoxWebChildrenRule.Execute(GlueRuleExecutionState state) +0x10e Ranorex.Core.ElementEngine.ApplyGlueRules(Element element,GlueRuleExecutionStateImpl state,Boolean includeRemotes) +0x6a
Attachments
LoginProblem.zip
(248.57 KiB) Downloaded 17 times
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

seldin
Posts: 3
Joined: Mon Mar 02, 2015 4:33 pm

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by seldin » Wed Apr 04, 2018 9:55 pm

Same bug here.. This is critical for our web apps operation because neither does chrome plugin work, edge is not supported and with this FF does not work as well.

We are automating a web app using polymer (shadow doms) and without FF working properly none of ranorex solutions instruments the web app.

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

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by Support Team » Thu Apr 05, 2018 6:01 am

Hello all,

We are currently investigating the issue and I will post an update here once I have more information. Thank you very much odklizec for the sample as it will be very helpful towards finding the culprit.

Thank you for your patience while we investigate this issue.

I hope this helps!

-Jon
.
Image

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

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by Support Team » Thu Apr 05, 2018 12:41 pm

@odklizec:
We looked at your sample but it looks like most of the "tabid" messages are gone if FF is not killed at the end of each iteration, but instead cleanly shut down, with a bit of a delay between iterations. Generally, the "tab id not found" debug message can be ignored if it does not cause any subsequent errors (e.g. elements not found). (We might suppress them for certain situations in the future)

We could not reproduce your second error, but it can only happen if your page contains frames/iframes (even hidden ones). Is this a persisent error you are encountering which impacts your tests (e.g. search timeout, validation fail) or is this just noise in the report/log and some delay?
Does it occur randomly, or is there a specific frame which does not work at all? Do you have CORS iframes in your page or are they same-origin?
We think that the timeout might be caused by a frame being reloaded/removed while searching for elements in that frame. Also it would be interesting to know if the stack trace for the timeout error is always the same.

Michael
Ranorex Team
.
Image

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by odklizec » Fri Apr 06, 2018 12:47 pm

Hi Michael,

The problem is that the "tab id" warning appears not only after closing browser, but also many times before. Additionally, I just found that it appears in Chrome-based tests too, just much less frequently. Here is an example of warning in chrome:
Getting attribute 'InnerText' failed on FlavorElement with flavor 'chromeweb'. Error in MsgHostDom call: Tab with id 2 is no longer available.
Show/Hide Stacktrace
Ranorex.RanorexException: Error in MsgHostDom call: Tab with id 2 is no longer available. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetElementValue(NpPtr elemId,String name) +0xffffffff Ranorex.Plugin.ChromeWebFlavorElement.GetAttributeValue(Element element,String name) +0x21 Ranorex.Core.Element.GetAttributeValue(String name) +0x126
Here is a sample report, containing all kinds of warnings, both in Chrome and FF.
RPDashboard_20180406_111356.zip
(429.83 KiB) Downloaded 8 times
I just checked the page source and there seems to be just one iframe, but I'm not doing anything in this part of page. It's just an iframe with google map. So the problem is most probably caused by something else than iframes? The interesting part of all errors is that there is mentioned "Remoting" in stack trace, but I'm not using remoting at all?

And yes, these errors seem have impact on overall test speed. FF tests takes much longer to finish than Chrome tests. After releasing 8.1, I did a simple test in IE, Chrome and FF, which confirmed great speed improvement in FF. But it seems my production test is not much faster in FF than before (prior 8.1).
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

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

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by Support Team » Fri Apr 06, 2018 1:38 pm

Thank you for the report. First of all, I think the "tab no longer available" and "Failed to connect to an IPC port" can be safely ignored (and are Debug level anyway). When running your sample, the "tab id" message never appears on the first iteration, and after that only if the browser is not cleanly closed.

Those might be caused by the PopupWatchers digging through the DOM while it is closed/navigated (I dont know what your popup watchers are searching for though).

1) I would be interested if this behavior occurs at all with the popup watchers disabled. Also I would recommend just using one PopupWatcher with multiple watched items, if possible (for performance reasons).

2) What I am more concerned about are the message timeouts which all occur while trying to access frame contents. This probably happens because the rxpath search traverses into the iframe while searching something which isn't there yet, but for rxpath expressions containing "//" it needs to search the DOM exhaustively. We will set up a test with an embedded google maps iframe to try and reproduce the issue.

-Michael
.
Image

StephanBast
Posts: 3
Joined: Thu Sep 22, 2016 1:02 pm

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by StephanBast » Mon Apr 09, 2018 11:26 am

i have also the described timeout problem after updating to 8.1.
it occurs permanently on all out web testsuites and it is really slowing down them (which is the only impact).

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

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by Support Team » Tue Apr 10, 2018 10:23 am

We might have found the source of the timeouts: "about:blank" iframes. :idea:
Please check if you have any of those frames in your page (in Google Maps it's a nested iframe below the map iframe)

Will post an update when we have an updated addon.
.
Image

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by odklizec » Tue Apr 10, 2018 12:52 pm

Hi,

Thanks for the info. I’m currently out of the office but I will check it first thing tomorrow. I will keep you updated.
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

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

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by Support Team » Tue Apr 10, 2018 3:08 pm

Here is an extension which should fix the timeout issues (not the tab-id related debug messages). It would be great if you could give it a try.

We plan to release it later this week with Ranorex 8.1.1, which should also get rid of most "tab-id" debug messages.
[email protected]
FF Extension 1.1.2-testing
(15.3 KiB) Downloaded 27 times
Michael
Ranorex Team
.
Image

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by odklizec » Wed Apr 11, 2018 8:01 am

Hi,

I'm happy to confirm that most of the LineageGlueRule errors are gone with this new FF plugin. There are left the tab-id related errors and errors thrown after closing browser, but these are not critical. Generally speaking, speed of tests in Chrome and FF appears to be quite similar now. Thanks!

Error thrown after using Close Application (assigned to DOM element)...
(Chrome)
Getting attribute 'domain' failed on FlavorElement with flavor 'chromeweb'. Failed to connect to an IPC Port: The system cannot find the file specified.

Show/Hide Stacktrace
System.Runtime.Remoting.RemotingException: Failed to connect to an IPC Port: The system cannot find the file specified. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetTabInfo(Int32 wndId,Int32 tabId) +0xffffffff Ranorex.Plugin.ChromeWebDocumentFlavorElement.GetTabInfo() +0x7 Ranorex.Plugin.ChromeWebDocumentFlavorElement.GetAttributeValue(Element element,String name) +0x6e Ranorex.Core.Element.GetAttributeValue(String name) +0x126
(FF)
Getting attribute 'domain' failed on FlavorElement with flavor 'firefoxweb'. Failed to read from an IPC Port: The pipe has been ended.
Show/Hide Stacktrace
System.Runtime.Remoting.RemotingException: Failed to read from an IPC Port: The pipe has been ended. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetTabInfo(Int32 wndId,Int32 tabId) +0xffffffff Ranorex.Plugin.FirefoxIpc.FirefoxDom.GetTabInfo(Int32 wndId,Int32 tabId) +0x0 Ranorex.Plugin.FirefoxWebDocumentFlavorElement.GetTabInfo() +0x7 Ranorex.Plugin.FirefoxWebDocumentFlavorElement.GetAttributeValue(Element element,String name) +0x6e Ranorex.Core.Element.GetAttributeValue(String name) +0x126

LineageGlueRule 'firefox_web_child_elements' caused RemotingException on Execute. Failed to connect to an IPC Port: The system cannot find the file specified.

Show/Hide Stacktrace
System.Runtime.Remoting.RemotingException: Failed to connect to an IPC Port: The system cannot find the file specified. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetElementChildren(NpPtr elemId) +0xffffffff Ranorex.Plugin.FirefoxIpc.FirefoxDom.GetElementChildren(NpPtr elemId) +0x0 Ranorex.Plugin.FirefoxWebChildrenRule.Execute(GlueRuleExecutionState state) +0x99 Ranorex.Core.ElementEngine.ApplyGlueRules(Element element,GlueRuleExecutionStateImpl state,Boolean includeRemotes) +0x6a
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

ahoisl
Certified Professional
Certified Professional
Posts: 125
Joined: Fri Sep 07, 2007 8:16 am

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by ahoisl » Wed Apr 11, 2018 4:06 pm

FYI, we've just released Ranorex 8.1.1 which includes the fixed Ranorex Firefox extension. Please, give it a try :D

Regards,
Alex
Ranorex Team

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by odklizec » Thu Apr 12, 2018 8:34 am

Hi Alex,

I'm happy to report that 8.1.1 and FF plugin 1.1.3 fixed most of the lineagegluerule errors and solved the speed issues I experienced before. My tests running in FF are finally usable ;) In fact, the tests runs faster in FF than in Chrome :shock:

It appears that the lineagegluerule erros are still reproducible in Chrome. I'm still seeing these errors in chrome:
Getting attribute 'InnerText' failed on FlavorElement with flavor 'chromeweb'. Error in MsgHostDom call: Tab with id 2 is no longer available.
Show/Hide Stacktrace
Ranorex.RanorexException: Error in MsgHostDom call: Tab with id 2 is no longer available. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetElementValue(NpPtr elemId,String name) +0xffffffff Ranorex.Plugin.ChromeWebFlavorElement.GetAttributeValue(Element element,String name) +0x21 Ranorex.Core.Element.GetAttributeValue(String name) +0x126
LineageGlueRule 'chrome_web_child_elements' caused RanorexException on Execute. Message timeout reached.
Show/Hide Stacktrace
Ranorex.RanorexException: Message timeout reached. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetElementChildren(NpPtr elemId) +0xffffffff Ranorex.Plugin.ChromeWebChildrenRule.Execute(GlueRuleExecutionState state) +0x99 Ranorex.Core.ElementEngine.ApplyGlueRules(Element element,GlueRuleExecutionStateImpl state,Boolean includeRemotes) +0x6a
It seems that the Chrome plugin has not yet been updated with tab-id error (and other errors) fixed in FF plugin? The Chrome plugin in google store still says 1.1.2.

And this error still happens both in FF and Chrome, but because it happens at the very end of my tests (after Close Application action), I'm happy to ignore it ;)
LineageGlueRule 'chrome_web_child_elements' caused RemotingException on Execute. Failed to connect to an IPC Port: The system cannot find the file specified.

Show/Hide Stacktrace
System.Runtime.Remoting.RemotingException: Failed to connect to an IPC Port: The system cannot find the file specified. System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) +0x27 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) +0x1b3 Ranorex.Plugin.IDom.GetElementChildren(NpPtr elemId) +0xffffffff Ranorex.Plugin.ChromeWebChildrenRule.Execute(GlueRuleExecutionState state) +0x99 Ranorex.Core.ElementEngine.ApplyGlueRules(Element element,GlueRuleExecutionStateImpl state,Boolean includeRemotes) +0x6a
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

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

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by Support Team » Tue Apr 24, 2018 10:28 am

Hello odklizec,

I am happy to inform you that these Chrome issues (Exception "Error in MsgHostDom call: Tab with id 2 is no longer available." ) will be fixed with the next Ranorex release.

I hope this helps.

Sincerely,
Tomaž
.
Image

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: LineageGlueRule errors in FF (Ranorex 8.1)

Post by odklizec » Tue Apr 24, 2018 11:03 am

Hi Tomaz,

Thanks for the good news! I'm happy to hear you found the cure ;)
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration