SecureLogin triggers application crash or hang

  • 7009531
  • 07-Oct-2011
  • 05-Nov-2012

Environment

Novell SecureLogin
NetIQ SecureLogin
NSL7.0.2
NSL7.0.3

Situation

Hang, crash, or GPF in MS Project
Lotus Notes hangs when an email attachment is opened
Computer Associates Erwin Data Modeler R8 will not exit normally
Hang, crash, or GPF in ADOBE  Accessibility, Adobe Reader, or ADOBE  Flash
ADOBE  Accessibility Wizard launches when not desired
User is prompted  to install / setup ADOBE Acrobat accessibility controls when opening PDF document
 
Problem does not occur if SecureLogin is not loaded

Resolution

Test to see whether the problem is specifically related to SecureLogin, or if there is an issue between the application and the Microsoft .net accessibility framework. UI Spy can be used for this test, as described below under “additional information.”

Note that there is a known issue in Microsoft's VS2010/VS2008 MFC code.  Symptoms such as those described above will occur when Secure Login or UI Spy is running with any other Microsoft Foundation Class (MFC ) application that calls EnableActiveAccessibility() .   Microsoft has corrected the problem in MFC 2012, but has no plans to correct it in MFC SDK for visual studio 2008 or 2010. 
 
Some third party vendors have updated their code to get around these problems. We have a confirmed report that a patch to Erwin Data Modeler addresses this issue, and an unconfirmed report that Adobe has a patch for it as well.  The first step in resolving this problem is to apply the current patch for the application that is showing the symptom.  If the problem persists after updating the third party application, try one or more of the following workarounds:

1. If SecureLogin is not used to single sign on for flash or .Net applications, disable dotnetsso or flashsso as discussed in TID
7008895
 
2. Disable the Adobe Accessibility Wizard by setting the following registry key:[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\10.0\Accessibility]"iWizardRun"=dword:00000000
 
3. Edit preferences in Acrobat Reader and choose the options to automatically read the document.

4. Delete or rename the Adobe Reader Accessibility plugin: 
C:\Program Files (x86)\Adobe\Reader 9.0\Reader\plug_ins\Accessibility.api

Note that this file will be reinstalled every time AdobeReader is updated, so you will need to keep deleting the accessibility plugin after each Adobe update.

5. Open a support call with other application vendor. 
 
6. If the problem seems to be specifically related to SecureLogin, capture a mini dump as discussed in TID 7008986 and open a call with NetIQ/ Novell.

Additional Information

UI Spy can be used to determine whether the problem is specific to SecureLogin or not.  UI Spy  uses a UI Automation Framework very similar to that used by SecureLogin's DotNetSSO, and listens for changes in windows structure essentially the same way SecureLogin does.  If the same crashes or problems appear in the application with UI Spy running (and SecureLogin not running), then you can be confident that the problem is between the third party application and Windows, and not with SecureLogin.

Instructions on testing with UISpy:

1. Download UISpy from any of several download sites.  It is a free download and can easily located by searching on “UISpy download.”

2. Launch UISpy and open the events, Configure menu.  Configure as detailed in steps 3-5 below, using the following graphic as a guide:



3. In the “Scope Flags” section, select the options for “descendants”

4. In the “Select Events” section chose “All Events,” “Events on 'pane,'” and  “Structure Changed.”  Click OK.

5. Click on Events, Start. 

You will see in the Output window that UISpy is active. The events and associated information will be listed in the "output" window when you move to any other window and perform an operation such as clicking a button or opening a menu items.   Configured in this manner UISPy is is similar to sldotnetsso listening mode.

6. Close SecureLogin if it is running so that results are not confused.

7. Perform the operation that caused the problem when SecureLogin was running.  If the problem occurs with UISpy you will know that the problem is are not caused by SecureLogin.