SAP Business client “Menu” freezes the published application.

This is the RCA which was shared by SAP:

The message WM_GETOBJECT is called several times from external process(es) (it is not called by SAP code) and results in one of the callstacks above.

The COM object needs to return the return-value of the COM-Method “LresultFromObject” which gets the “IAccessible” interface of the COM object as parameter.

The “LresultFromObject” method-call internally does an increase of the COM object reference counter and the sender/caller needs to decrease this reference counter if he is done with the object.

The result of SAP RCA:

· An external process is triggering an WM_GETOBJECT message to the popup menu COM object

· The COM-Method “LresultFromObject” increases internally the reference counter

· The sender/caller of the WM_GETOBJECT SendMessage() is responsible to decrease the reference count à this seems not to happen

· COM Framework does not delete the popup menu COM object, because the reference counter is not “0” after we in SAP Coding call our own Release()

· In an RDP session no WM_GETOBJECT messages were triggered on popup menu COM object (during SAP internal debugging) and issue does not exist (also at customer side)

· Only occurs on special client PC CPUs with special Citrix Versions and special client PC OS

Ø Based on the above RCA, we determined that Citrix doesn’t call the WM_GETOBJECT directly but we utilize Microsoft Active Accessibility and Microsoft UI Automation to do the same. Please refer to below MSDN page on WM_GETOBJECT:

https://docs.microsoft.com/en-us/windows/win32/winauto/wm-getobject

Sent by both Microsoft Active Accessibility and Microsoft UI Automation to obtain information about an accessible object contained in a server application.

Applications never send this message directly. Microsoft Active Accessibility sends this message in response to calls to AccessibleObjectFromPoint, AccessibleObjectFromEvent, or AccessibleObjectFromWindow.

We make use of Microsoft Active Accessibility in different components. One of which is CtxUIMon.dll, which makes use of it when one of the following 2 Citrix policies is enabled (They are disabled by default)

1. “Remote the combo box”

2. “Automatic Keyboard Display”

For more details on the above policies, please refer to https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/policies/reference/ica-policy-settings/mobile-experience-policy-settings.html

Ø Citrix Workspace app is not the culprit as the issue is resolved by enabling the above mentioned policies and hence the issue is on the VDA side (Operating System)

Related:

  • No Related Posts

VDA is unable to Register with DDC with error: Failed to start WCF services

Server VDA machine does not get registered. Following Error is thrown on the VDA Event viewer

Error details:

Failed to start WCF services. Exception ‘Object reference not set to an instance of an object.’ of type ‘System.NullReferenceException’

COM component was unable to Load StackManager.ConnectToStackControlComServerAndVerify: COM exception System.InvalidCastException: Unable to cast COM object of type ‘System.__ComObject’ to interface type ‘Citrix.StackControlService.StackControl’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{BEE5F9CD-A777-47C7-BA5A-CDD82FFEC4D8}’ failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)). at Citrix.Cds.BrokerAgent.AgentToStack.ConnectToStackControlCOMServer() at Citrix.Cds.BrokerAgent.StackManager.ConnectToStackControlComServer(StackCapabilities& actualStackCapabilities, Int32 retryCount)

Related:

Virtual Apps 7.15 -VDA is unable to Register with DDC

Server VDA machine does not get registered. Following Error is thrown on the VDA Event viewer

Error details:

Failed to start WCF services. Exception ‘Object reference not set to an instance of an object.’ of type ‘System.NullReferenceException’

COM component was unable to Load StackManager.ConnectToStackControlComServerAndVerify: COM exception System.InvalidCastException: Unable to cast COM object of type ‘System.__ComObject’ to interface type ‘Citrix.StackControlService.StackControl’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{BEE5F9CD-A777-47C7-BA5A-CDD82FFEC4D8}’ failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)). at Citrix.Cds.BrokerAgent.AgentToStack.ConnectToStackControlCOMServer() at Citrix.Cds.BrokerAgent.StackManager.ConnectToStackControlComServer(StackCapabilities& actualStackCapabilities, Int32 retryCount)

Related:

Refine the ITA Add Remove Programs Search Report?

I need a solution

There’s an IT Analytics report for Add/Remove Programs which is nice because it also lists computer names.  However, it appears the Names don’t match what someone would normally see in their Programs & Features as well as including what looks like hidden applications.  Is there any way to generate a report where the product names are exactly as shown in a workstation’s Add/Remove Programs applet without all of the hidden stuff along with the associated computer names?

0

Related:

  • No Related Posts

Injection Script, what does it do?

what is the difference between asp injection and sql injection on an asp page · 61 · What is Dependency Injection and Inversion of Control in Spring Framework? 0 · Is this script at risk of SQL injection? 3 · What kind of SQL injection is this? 1 · Image script injection · 0 · testing for html/script injection and …

Related:

7022343: Unable to Paste in the Reflection for the Web Terminal Window

This behavior is due to a specific defect in this version of Java. For more information: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8043393. This defect is scheduled to be resolved when Java 9 is released, in September, 2016.

Workaround

Reflection for the Web versions 12.0 HF10 (12.0.521) and newer, 12.1, and 12.2 have a means of avoiding this paste problem, achieved by adding a special applet parameter to session configuration, as follows:

  1. Log into the Reflection for the Web Administrative WebStation and open “Session Manager”.
  2. Click the session name you want to add the parameter to.
  3. Click the blue “Applet Parameters” button.
  4. Notice the “Custom Parameters” section at the bottom of the page.
  5. Add a new custom parameter “alwaysEnableEditPaste” (without quotes). Note: the parameter is case sensitive. Be sure to capitalize the E for Enable and Edit and P for Paste.
View Full Size

Figure 1. Session Manager - Custom Parameters
Figure 1. Session Manager – Custom Parameters
  1. For the parameter’s “Value”, enter “true” (without quotes and in lower case).
  2. Click the “Add” button to add the parameter.
  3. Check to see that the parameter now displays in the “Current parameter”.window.
View Full Size

Figure 2 Session Manager - Current Parameters
Figure 2 Session Manager – Current Parameters
  1. Click on the “Continue” button on the bottom left.
  2. Click the “Save Settings” button to save the change.

Sessions that are running will need to be closed and reopened for the change to take effect.

Applying the Workaround to all Sessions

In environments where this issue occurs in several session configurations, you can apply the workaround without needing to edit each session. This can be done using a launcher template “customloginpage.jsp” as described in Technical Note 2386, and adding the needed applet parameter in the “rweb:applet” tag:

<rweb:param name="alwaysEnableEditPaste" value="true"/>

Adding the applet parameter to the launcher template causes the parameter to be applied to any session launched from the server.

Related:

7022457: Preventing Users from Disconnecting or Navigating Away from Reflection for the Web Sessions

Alerting Users to Disconnect Before Exiting or Navigating Away

You can configure Reflection for the Web to notify users to disconnect a host connection before they exit, thereby preventing ghost sessions on the host. The method you use depends on the kind of session you are running:

  • For Out-of-Browser Sessions – you can add an applet parameter to the session configuration that will display an alert message if the user attempts to exit the session while still connected.
  • For Embedded Sessions – you can run a script that notifies the user to disconnect from the host before closing the browser window or navigating away.

For Out-of-Browser Sessions

When you configure a session to use the following applet parameter, users are required to disconnect from the host before they can close the browser. Follow these steps to configure your session.

  1. Open the Administrative WebStation Session Manager tool.
  2. Select a session to configure by clicking it.
  3. In the Advanced settings section, click the Applet Parameters button.
  4. In the Add parameters section, select onExitJavaClass from the Parameter drop-down list.
  5. In the Value field, enter com.wrq.eNetwork.ECL.modules.PreventSessionClose
  6. Click Add.
  7. On the Applet Parameters page, click Continue.
  8. Click Save Settings.

Now when a user tries to close the browser, if the session is still connected, a message box will open saying, “You must disconnect from the host before exiting Reflection.” If the session is already disconnected, the browser will close without displaying a message.

Modifying the Message Title and Text

The text and title of this message can be modified by following the steps below.

  1. Open the Administrative WebStation and click Session Manager.
  2. Click the session you want to configure.
  3. Click Applet Parameters.
  4. In the Parameter field of the Custom parameters section, enter preventSessionCloseLabel.

This parameter enables you to customize the error message.

  1. In the Value field of the Custom parameters section, enter your customized message in the Value field, and then click Add.
  2. Repeat steps 4 and 5 for the parameter preventSessionCloseTitle.

This parameter enables you to customize the title of the error message.

  1. Click Continue, and then click Save Settings.

For Embedded Sessions

If you are running an embedded session, you can add a script to a JSP template that notifies users to disconnect from the host if they are still connected when exiting the browser or when navigating to another page. The script may not be able to enforce this action, however, and there may be differences in behavior between different browsers or browser versions.

The following example shows a JSP template for an embedded session that displays an alert message if the session is still connected to the host when the user attempts to close the browser or navigate away.

<%@ taglib uri="/WEB-INF/rweb.tld" prefix="rweb" %>

<html>

<head>

<script>

// Register the confirmExit function as an

// onbeforeunload event handler.

window.onbeforeunload = confirmExit;



var jsapi;



/*

* This function is invoked automatically by the

* Reflection session after session initialization is

* complete. It receives a reference to the JavaScript

* API.

*/

function jsapiInitialized( api )

{

jsapi = api;

}



/*

* Invoked from the onbeforeunload handler. If

* the session is still connected, returns a message

* to the browser that asks the user if it's okay to

* leave the page.

*/

function confirmExit()

{

if ( jsapi != null && jsapi.isConnected() )

{

return "The session is still connected. Please " +

"disconnect before closing the page or navigating away.";

}

}

</script>

<title>Prevent Browse Away Example</title>

</head>

<body>

<!--

The "preloadJSAPI" parameter will preload the Reflection

JavaScript API and send a notification message to the

jsapiInitialized function.

-->

<rweb:applet userequest="true">

<rweb:param name="preloadJSAPI" value="true"/>

</rweb:applet>

</body>

</html>

Related:

7021687: ActiveX Error: “Object does not support…”

This document (7021687) is provided subject to the disclaimer at the end of this document.

Environment

Reflection for HP version 13.0 through 14.x

Reflection for UNIX and OpenVMS version 13.0 through 14.x

Situation

When using Reflection’s ActiveX control in a Window’s form, users may see one of the following errors when loading the ActiveX application:

"Object does not support this property or method."

or

"Failed to load control r2winctrl from r2axctrl.ocx. Your version r2axctrl.ocx may be out dated. Make sure you are using the version of the control that was provided with your application."

Resolution

To resolve this error, either re-compile the ActiveX application using the version of Reflection that resides on the end user’s workstation, or upgrade the end user workstation so that it is running the same version of Reflection that was used to compile the ActiveX application.

Cause

These errors occur when the version of Reflection’s ActiveX control used in the Window’s form does not match the version of Reflection ActiveX installed on the end user’s workstation.

Additional Information

Legacy KB ID

This document was originally published as Attachmate Technical Note 1754.

Disclaimer

This Support Knowledgebase provides a valuable tool for NetIQ/Novell/SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented “AS IS” WITHOUT WARRANTY OF ANY KIND.

Related: