JDK7 setVisable(true) fails with null pointer

All
We have Swing and JFX running in JDK6 fine. When we upgraded to JDK 7 we saw this issue
2012-08-28 11:42:49.603 java[45928:707]      Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case.
2012-08-28 11:42:49.604 java[45928:707] Cocoa AWT: Running on AppKit thread 0 when not expected. (
     0   liblwawt.dylib                      0x0000000154cfe62a Java_sun_lwawt_macosx_CPlatformWindow_nativeSynthesizeMouseEnteredExitedEvents + 59
     1   ???                                 0x0000000105deddb1 0x0 + 4393459121
2012-08-28 11:42:49.604 java[45928:707]      Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case.
Exception in runnable
java.lang.NullPointerException
     at sun.lwawt.macosx.CPlatformWindow.getLocationOnScreen(CPlatformWindow.java:439)
     at sun.lwawt.LWWindowPeer.getLocationOnScreen(LWWindowPeer.java:368)
     at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2033)
     at java.awt.Component.getLocationOnScreen(Component.java:2018)
     at javafx.embed.swing.JFXPanel.updateScreenLocation(JFXPanel.java:481)
     at javafx.embed.swing.JFXPanel.processHierarchyEvent(JFXPanel.java:520)
     at java.awt.Component.processEvent(Component.java:6291)
     at java.awt.Container.processEvent(Container.java:2229)
     at java.awt.Component.dispatchEventImpl(Component.java:4861)
     at java.awt.Container.dispatchEventImpl(Container.java:2287)
     at java.awt.Component.dispatchEvent(Component.java:4687)
     at java.awt.Component.createHierarchyEvents(Component.java:5521)
     at java.awt.Container.createHierarchyEvents(Container.java:1437)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Component.show(Component.java:1619)
     at java.awt.Window.show(Window.java:1042)
     at java.awt.Component.show(Component.java:1651)
     at java.awt.Component.setVisible(Component.java:1603)
     at java.awt.Window.setVisible(Window.java:1014)
     at com.celertech.web.orderrouting.client.login.presenter.LoginPresenter.initialise(LoginPresenter.java:159)

All
We have Swing and JFX running in JDK6 fine. When we upgraded to JDK 7 we saw this issue
2012-08-28 11:42:49.603 java[45928:707]      Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case.
2012-08-28 11:42:49.604 java[45928:707] Cocoa AWT: Running on AppKit thread 0 when not expected. (
     0   liblwawt.dylib                      0x0000000154cfe62a Java_sun_lwawt_macosx_CPlatformWindow_nativeSynthesizeMouseEnteredExitedEvents + 59
     1   ???                                 0x0000000105deddb1 0x0 + 4393459121
2012-08-28 11:42:49.604 java[45928:707]      Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case.
Exception in runnable
java.lang.NullPointerException
     at sun.lwawt.macosx.CPlatformWindow.getLocationOnScreen(CPlatformWindow.java:439)
     at sun.lwawt.LWWindowPeer.getLocationOnScreen(LWWindowPeer.java:368)
     at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2033)
     at java.awt.Component.getLocationOnScreen(Component.java:2018)
     at javafx.embed.swing.JFXPanel.updateScreenLocation(JFXPanel.java:481)
     at javafx.embed.swing.JFXPanel.processHierarchyEvent(JFXPanel.java:520)
     at java.awt.Component.processEvent(Component.java:6291)
     at java.awt.Container.processEvent(Container.java:2229)
     at java.awt.Component.dispatchEventImpl(Component.java:4861)
     at java.awt.Container.dispatchEventImpl(Container.java:2287)
     at java.awt.Component.dispatchEvent(Component.java:4687)
     at java.awt.Component.createHierarchyEvents(Component.java:5521)
     at java.awt.Container.createHierarchyEvents(Container.java:1437)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Container.createHierarchyEvents(Container.java:1434)
     at java.awt.Component.show(Component.java:1619)
     at java.awt.Window.show(Window.java:1042)
     at java.awt.Component.show(Component.java:1651)
     at java.awt.Component.setVisible(Component.java:1603)
     at java.awt.Window.setVisible(Window.java:1014)
     at com.celertech.web.orderrouting.client.login.presenter.LoginPresenter.initialise(LoginPresenter.java:159)

Similar Messages

  • OIM 11G, DSML integration failing  with null pointer exception

    Hi,
    we are facing the similar probelm while sending a request from TIBCO BW to OIM 11G (Which is weblogic)
    The below request from TIBCO is not working and thowing a NULL POINTER EXCEPTION
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
    <ns:OIMUser xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://xmlns.oracle.com/OIM/provisioning" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">
    <ns:OIMUserId>xelsysadm</ns:OIMUserId>
    <ns:OIMUserPassword>Welcome123</ns:OIMUserPassword>
    </ns:OIMUser>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <ns0:processRequest xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://xmlns.oracle.com/OIM/provisioning">
    <sOAPElement xmlns="">
    <ns:modifyRequest xmlns:ns="urn:oasis:names:tc:SPML:2:0" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" returnData="data">
    <ns:psoID ID="Users:21"/>
    <ns:modification name="Users.User ID" operation="add">
    <ns:value>Richard1</ns:value>
    </ns:modification>
    </ns:modifyRequest>
    </sOAPElement>
    </ns0:processRequest>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    But if we change the <sOAPElement xmlns=""> to <sOAPElement> (removing the empty namespace) we can able to fire this soap.
    Could you please let me know are there any patch, workaround for this issue.
    Thanks
    Madhu

    I don't think OIM 11g supports DSML profile and may be that's the reason you are getting NPE.
    See: http://docs.oracle.com/cd/E14571_01/doc.1111/e14309/spmlapi.htm#CHDCBJAI
    It states:
    "SPML has two profiles: the XSD profile and the DSML profile. This release of Oracle Identity Manager makes use of the XSD profile."

  • BHOLD FIM Integration install failed with Null Pointer Exception

    Hi,
       I started BHOLD installation and completed Core and FIM Provisioning installs successfully. However, FIM Integration install keeps on failing while running FIMCustomization.exe with the following error:
    Unhandled Exception: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Object reference not set to an instance of an object. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose
    value is:
    System.NullReferenceException: Object reference not set to an instance of an object.   
    at Microsoft.ResourceManagement.ObjectModel.RmAttributeValue.ToString() in d:\_Bld\10\16\Sources\main\src\samples\BHOLD\2011 R2\FIM Integration\Microsoft.ResourceManagement.ObjectModel\RmAttributeValue.cs:line 146  
    at WorkFlowProviderForFIM2010.WorkFlowProvider.TransformFimToXml(RmResource aFIMobject, Boolean asDirty) in d:\_Bld\10\16\Sources\main\src\samples\BHOLD\2011 R2\FIM Integration\WorkFlowProviderForFIM2010\WorkFlowProvider.cs:line 957   
    at WorkFlowProviderForFIM2010.WorkFlowProvider.QueryObjects(String objectType, String attributeName, String dn, String[] attributes) in d:\_Bld\10\16\Sources\main\src\samples\BHOLD\2011 R2\FIM Integration\WorkFlowProviderForFIM2010\WorkFlowProvider.cs:line
    890   
    at BHOLD.RoleExchangePoint.BHOLDRoleExchangePoint.QueryObjectsX(String objectType, String attributeName, String dn, String...).
    I was able to generate the error when I run FIMCustomization.exe from command prompt. "C:\Program Files (x86)\BHOLD\FIM\FIM Customization\FimCustomization.exe" /apply "BHOLD-customization.xml" server MyComputer:5151
    The account running the install is part of FIM Administrators.
    What might be the issue?

    Hi Saurabh,
    FimCustomization.exe keeps crashing for me as well. I figured out it is all about the accounts that you are using. I have wrote a blog post that shows the scenario that worked for me. Hope it will help you.
    http://social.technet.microsoft.com/wiki/contents/articles/22621.fim-2010-installing-bhold-fim-integration.aspx

  • DTTestBed fails with Null Pointer Exception

    Hi
    I have installed Tim's DTTestBed on standalone OC4J version 10.1.3.2.0 using the JDK from Oracle JDeveloper10.1.3.3\jdk\bin.
    Tim's installation calls for J2SE version 1.4.2.
    I used the J2SE that Jdeveloper 10.1.3.3.
    The Sample EMPLOYEES.xml in Tim's blog uploads fine, but after specifying the username/pw/host info and submitting, I get a 500 Internal server error in the browser and the following entry in the DTTestbed\application.log:-
    08/01/16 10:58:25.763 DTTestBed: Servlet error
    java.lang.NullPointerException
         at DT3.jspService(_DT3.java:447)
         at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.2.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:597)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:521)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:712)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.2.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Any ideas?
    Thanks
    Mike

    Quick update - Here is the output from the command window from which the OC4J is running....
    08/01/16 10:58:25 Starting DT ...
    08/01/16 10:58:25 Instan DT ...
    08/01/16 10:58:25 Loading DT ...
    08/01/16 10:58:25 Connection being made ...
    08/01/16 11:32:16 ==================== DT2 Start ====================
    08/01/16 11:32:16 C:\oracle\OraOC4J\j2ee\home\applications\DTTestBed\DTTestBed\t
    emp
    08/01/16 11:32:16 inside loop
    08/01/16 11:32:16 Template Name: EMPLOYEESDT
    08/01/16 11:32:16
    08/01/16 11:32:16 1
    08/01/16 11:32:16 [oracle.apps.xdo.dataengine.TemplateParameter@1f37d13]
    08/01/16 11:32:16 2
    08/01/16 11:32:16 Template Name: EMPLOYEESDT
    08/01/16 11:32:16 4
    08/01/16 11:32:16 Completed
    08/01/16 11:32:16 ==================== DT2 End ====================
    08/01/16 11:32:43 ==================== DT3 Start ====================
    08/01/16 11:32:43 http://40e1:8888/
    08/01/16 11:32:43 URL: http://40e1:8888/DTTestBed/temp/
    08/01/16 11:32:43 Template: EMPLOYEESDT
    08/01/16 11:32:43 Data Template: oracle.apps.xdo.dataengine.TemplateParser@6e4e8
    2
    08/01/16 11:32:43 Conn String: 127.0.0.1:1521:ora1023
    08/01/16 11:32:43 User: scott
    08/01/16 11:32:43 Org:
    08/01/16 11:32:43 Layout: on
    08/01/16 11:32:43 Schema: on
    08/01/16 11:32:43 <dataTemplate name="EMPLOYEES" defaultPackage="" description="
    Employee Data">
    <properties>
    <property name="include_parameters" value="true"/>
    <property name="include_null_Element" value="true"/>
    <property name="xml_tag_case" value="upper"/>
    <property name="db_fetch_size" value="500"/>
    <property name="scalable_mode" value="off"/>
    <property name="include_rowsettag" value="false"/>
    <property name="debug_mode" value="off"/>
    </properties>
    <parameters>
    <parameter name="pDeptNo" dataType="number" defaultValue=""/>
    </parameters>
    <lexicals/>
    <dataQuery>
    <sqlStatement name="Q1" dataSourceRef="">SELECT DEPTNO,DNAME,LOC
    from dept
    where deptno = nvl(:pDeptNo,deptno)
    order by deptno</sqlStatement>
    <sqlStatement name="Q2" dataSourceRef="">SELECT EMPNO,ENAME,JOB
    ,MGR,HIREDATE,SAL,nvl(COMM,0) COMM
    from EMP
    WHERE DEPTNO = :DEPTNO</sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_DEPT" source="Q1" groupFilter="">
    <element name="DEPT_NUM" value="DEPTNO" function=""/>
    <element name="DEPT_NAME" value="DNAME" function=""/>
    <element name="LOCATION" value="LOC" function=""/>
    <group name="G_EMP" source="Q2" groupFilter="">
    <element name="EMPNO" value="EMP_NUM" function="
    "/>
    <element name="EMP_NAME" value="ENAME" function=
    ""/>
    <element name="JOB_TITLE" value="JOB" function="
    "/>
    <element name="MANAGER" value="MGR" function=""/
    >
    <element name="HIRE_DATE" value="HIREDATE" funct
    ion=""/>
    <element name="SALARY" value="SAL" function=""/>
    <element name="COMMISSION" value="COMM" function
    =""/>
    </group>
    </group>
    </dataStructure>
    </dataTemplate>
    08/01/16 11:32:43 Starting DT ...
    08/01/16 11:32:43 Instan DT ...
    08/01/16 11:32:43 Loading DT ...
    08/01/16 11:32:43 Connection being made ...
    Hope this helps.
    Thanks
    Mike

  • Java Callout in OSB failing with null pointer exception

    Hi,
    We have a requirement where we need to convert XML String to org.apache.xmlbeans.impl.values.XmlAnyTypeImpl type using java-callout, but value is not getting set when we are trying to do the same. Below is the code we are using in the java callout:
    byte [] bArray = xml.getBytes();
    InputStream is = new ByteArrayInputStream(bArray);
    Reader reader = new InputStreamReader(is,"UTF-8");
    InputSource iss = new InputSource(reader);
    iss.setEncoding("utf-8");
    xmlNode1 =
    DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(iss);
    XmlAnySimpleType xmlObj = XmlAnySimpleType.Factory.parse(n);
    xmlAnyTypeImpl.set_newValue(xmlObj);
    Node resNode = xmlAnyTypeImpl.getDomNode();
    Can someonce please help for the same.
    Regards,
    Soumik

    First check whether the java class that is called is able to read the string message that is passed by the proxy service.

  • Help with Null Pointer Exception

    Hi, I am working on a simple menu program. It compiles and works correctly except for one item. I am having a problem with Greying out a menu item...... Specifically, When I press the EDIT / OPTIONS / READONLY is supposed to Greyout the Save and SaveAs options. But, when I do that it displays a Null Pointer Exception error message in the command window.
    Your advice would be much appreciated!
    Now for the code
    /  FileName Menutest.java
    //  Sample Menu
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class MenuTest extends JFrame {
       private Action saveAction;
         private Action saveAsAction;
         private JCheckBoxMenuItem readOnlyItem;
       // set up GUI
       public MenuTest()
          super( "Menu Test" );
    //*   file menu and menu items
          // set up File menu and its menu items
          JMenu fileMenu = new JMenu( "File" );
          // set up New menu item
          JMenuItem newItem = fileMenu.add(new TestAction( "New" ));
          // set up Open menu item
          JMenuItem openItem = fileMenu.add(new TestAction( "Open" ));
              //  add seperator bar
              fileMenu.addSeparator();
          // set up Save menu item
          JMenuItem saveItem = fileMenu.add(new TestAction( "Save" ));
          // set up Save As menu item
          JMenuItem saveAsItem = fileMenu.add(new TestAction( "Save As" ));
              //  add seperator bar
              fileMenu.addSeparator();
              // set up Exit menu item
          JMenuItem exitItem = new JMenuItem( "Exit" );
          exitItem.setMnemonic( 'x' );
          fileMenu.add( exitItem );
          exitItem.addActionListener(
             new ActionListener() {  // anonymous inner class
                // terminate application when user clicks exitItem
                public void actionPerformed( ActionEvent event )
                   System.exit( 0 );
             }  // end anonymous inner class
          ); // end call to addActionListener
    //*   Edit menu and menu items
              // set up the Edit menu
              JMenu editMenu = new JMenu( "Edit" );
              //JMenuItem editMenu = new JMenu( "Edit" );
          // set up Cut menu item
          Action cutAction = new TestAction("Cut");
          cutAction.putValue(Action.SMALL_ICON, new ImageIcon("cut.gif"));
          // set up Copy menu item
          Action copyAction = new TestAction("Copy");
          copyAction.putValue(Action.SMALL_ICON, new ImageIcon("copy.gif") );
          // set up Paste menu item
          Action pasteAction = new TestAction("Paste");
          pasteAction.putValue(Action.SMALL_ICON, new ImageIcon("paste.gif") );
              editMenu.add(cutAction);
              editMenu.add(copyAction);
              editMenu.add(pasteAction);
          //  add seperator bar
              editMenu.addSeparator();
              // set up Options menu, and it submenus and items
              JMenu optionsMenu = new JMenu("Options");
              readOnlyItem = new JCheckBoxMenuItem("Read-only");
              readOnlyItem.addActionListener(
                   new ActionListener()
                   {  //  anonymous inner class
                        public void actionPerformed( ActionEvent event)
                          saveAction.setEnabled(!readOnlyItem.isSelected());
                          saveAsAction.setEnabled(!readOnlyItem.isSelected());
                }  // end anonymous inner class
              ); // end call to addActionListener
              optionsMenu.add(readOnlyItem);
              // add seperator bar
              optionsMenu.addSeparator();
              //  Work on Radio Buttons
              ButtonGroup textGroup = new ButtonGroup();
              JRadioButtonMenuItem insertItem = new JRadioButtonMenuItem("Insert");
              insertItem.setSelected(true);
              JRadioButtonMenuItem overTypeItem = new JRadioButtonMenuItem("Overtype");
              textGroup.add(insertItem);
              textGroup.add(overTypeItem);
              optionsMenu.add(insertItem);
              optionsMenu.add(overTypeItem);
              editMenu.add(optionsMenu);
    //*   Help menu and menu items
              // set up the Help menu
              JMenu helpMenu = new JMenu( "Help" );
              helpMenu.setMnemonic( 'H' );
          // set up index menu item
          JMenuItem indexItem = helpMenu.add(new TestAction( "Index" ));
          indexItem.setMnemonic( 'I' );
          helpMenu.add( indexItem );
              // set up About menu item
          JMenuItem aboutItem = new JMenuItem( "About" );
          aboutItem.setMnemonic( 'A' );
          helpMenu.add( aboutItem );
          aboutItem.addActionListener(
             new ActionListener() {  // anonymous inner class
                // display message dialog when user selects Open
                public void actionPerformed( ActionEvent event )
                   JOptionPane.showMessageDialog( MenuTest.this,
                      "This is MenuTest.java \nVersion 1.0 \nMarch 15, 2004",
                      "About", JOptionPane.PLAIN_MESSAGE );
             }  // end anonymous inner class
          ); // end call to addActionListener
          // create menu bar and attach it to MenuTest window
          JMenuBar bar = new JMenuBar();
          setJMenuBar( bar );
          bar.add( fileMenu );
              bar.add( editMenu );
              bar.add( helpMenu );
          setSize( 500, 200 );
          setVisible( true );
       } // end constructor
       public static void main( String args[] )
          MenuTest application = new MenuTest();
          application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
       // inner class to handle action events from menu items
       private class ItemHandler implements ActionListener {
          // process color and font selections
          public void actionPerformed( ActionEvent event )
           repaint();
          } // end method actionPerformed
       } // end class ItemHandler
       //  Prints to action name to System.out
      class TestAction extends AbstractAction
              public TestAction(String name) { super(name); }
          public void actionPerformed( ActionEvent event )
             System.out.println(getValue(Action.NAME) + " selected." );
       } // end class TestAction
    } // end class MenuTest

    alan, I've been trying to figure out a solution.
    You can initialize it like this
    private Action saveAction= new Action();
         private Action saveAsAction=new Action();
    THE ABOVE WILL NOT WORK.
    because Action is an interface. An interface does not have constructors. However, interface references are used for polymorphic purposes.
    Anyway, all you have to do is find some class that implemets Action interface.... I cant seem to find one. Or maybe this is not how its supposed to be done?
    Hopefully, someone can shed some light on this issue.
    FYI,
    http://java.sun.com/products/jfc/swingdoc-api-1.1/javax/swing/Action.html

  • SAP Portal Display Documents is hanging with Null Pointer Exception

    Hi I am having problems with an iview from the products section of SAP standard iviews
    In my portal page I have the following three iviews, find documents, display master data and display documents both the find docs and display master data work great, but the display documents seems to hang and a java Null Pointer Exception shows in the data frame of IE.  It hangs up the whole page and I have to keep hitting back button to close the window and open.  I have the following in config for web front end
    DOC_OBJ is mapped to DOKAR, DOKNR, DOKVR and DOKTL with default set.
    DOC_REQ is set to DOKAR default checked
    EQUI_REQ is set to EQUI-EQUNR default checked
    This is under SIMG_SPORT -> products -> select data fields for web front end
    Am I missing something?
    Cheers,
    Devlin

    The following code is your problem:
    //-------construct
    public void MySlide()
      contents = new Tile[ROWS][COLS];
      reset();
    }Constructors don't return anything including void. Therefore you really aren't calling the above method as you assume in your main method as it is not a constructor. Remove the void keyword and your initializing code will execute properly.

  • DPM 2012 R2 All backups fail with recovery point volume not available after resizing OS disk

    I resized the C drive partition of my DPM server (the data is on a separate dedicated array) and everything failed. I put it back but everything is still failing with the same problem as here:
    DPM 2007: The recovery point volume is not available?
    I've run chkdsk for a couple and both have given the following after doing 3 stages:
    Windows has scanned the file system and found no problems.
    No further action is required.
    The backups still fail and the only error information I can find in the event logs is:
    Backup job for datasource: Online\<VM name> on production server: <host FQDN> failed.
    How can I find out what the problem actually is?
    Is it possible to resize the C drive containing a DPM install? If so what can it be safely resized to? It easily met the minimum requirements and I don't know of anything in the documentation that says resizing the OS disk may cause issues.
    Preparing your environment for System Center 2012 R2 Data Protection Manager (DPM)

    Hi,
    Resizing the boot partition (usually C:) should not effect DPM in any way.  DPM writes directly to it's volumes contained in the storage pool and not through the mount points on the C: drive.    So is the DPM UI showing
    missing volume next to some data sources ?   Try doing a DPM disk rescan and see if that removes the missing volume flag. 
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This
    posting is provided "AS IS" with no warranties, and confers no rights.

  • Crystal report (crystalReportsViewer) crash with null pointer exception

    Hi,
    My application are simple : m_crystalReportsViewer.ViewerCore.ReportSource = report; but in throw exception null pointer when I call showDialog.
    I see in code, we have method ShowTabHeader.
    private void ShowTabHeader(bool isShow)
        Grid child = VisualTreeHelper.GetChild(this.tabViews, 0) as Grid;
        TabPanel panel = child.FindName("HeaderPanel") as TabPanel;
        if (!isShow)
            panel.Visibility = Visibility.Collapsed;
        else
            panel.Visibility = Visibility.Visible;
    My problem :  child.FindName("HeaderPanel") as TabPanel return null
    =>  if (!isShow)
            panel.Visibility = Visibility.Collapsed;
        else
            panel.Visibility = Visibility.Visible;
    throws null pointer exception.
    Do you have any idea about this?
    Thanks.
    Here is stack trace :
    Unerwarteter Fehler im System ---> System.NullReferenceException: Object reference not set to an instance of an object.
       at SAPBusinessObjects.WPF.Viewer.ReportAlbum.ShowTabHeader(Boolean isShow)
       at SAPBusinessObjects.WPF.Viewer.ReportAlbum.ItemsChangedEventHandler(Object sender, ItemsChangedEventArgs e)
       at System.Windows.Controls.Primitives.ItemsChangedEventHandler.Invoke(Object sender, ItemsChangedEventArgs e)
       at System.Windows.Controls.ItemContainerGenerator.OnItemAdded(Object item, Int32 index)
       at System.Windows.Controls.ItemContainerGenerator.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
       at System.Windows.Controls.ItemContainerGenerator.System.Windows.IWeakEventListener.ReceiveWeakEvent(Type managerType, Object sender, EventArgs e)
       at System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)
       at System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
       at System.Collections.Specialized.CollectionChangedEventManager.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
       at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
       at System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
       at System.Windows.Controls.ItemCollection.System.Windows.IWeakEventListener.ReceiveWeakEvent(Type managerType, Object sender, EventArgs e)
       at System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)
       at System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
       at System.Collections.Specialized.CollectionChangedEventManager.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
       at System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
       at System.Windows.Data.ListCollectionView.ProcessCollectionChangedWithAdjustedIndex(NotifyCollectionChangedEventArgs args, Int32 adjustedOldIndex, Int32 adjustedNewIndex)
       at System.Windows.Data.ListCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)
       at System.Windows.Data.CollectionView.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
       at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
       at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
       at System.Collections.ObjectModel.Collection`1.Add(T item)
       at SAPBusinessObjects.WPF.Viewer.ReportAlbum.OnCreateNewDocumentViewComplete(CreateNewDocumentArgs args)
       at SAPBusinessObjects.WPF.Viewer.DelegateMarshaler.<>c__DisplayClass6`1.<Invoke>b__4(Object )
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
       --- End of inner exception stack trace ---
    Edited by: duyhai707 on Jul 13, 2011 7:42 PM
    Edited by: duyhai707 on Jul 13, 2011 8:09 PM

    A lot I don't understand in here... actually, I don't understand anything in your post:
    When you call ShowDialog, what exactly are you trying to show?  The code is the decompiled showtabheader method of the viewer. So, are you trying to override the viewer control and reportalbum?  My guess is that the null reference is for the reportalbum's child object which is not the reportalbum object of the viewer.  I don't understand why the code since its all handled internally to the viewer anyhow.
    Perhaps searching the forum for code sample will help?
    Also, see the [WPF Demo|http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/a09f7025-0629-2d10-d7ae-df006a51d1a8]
    Other good WPF resources to consult:
    http://www.redmondpie.com/incorporate-crystal-reports-in-a-c-wpf-application/
    http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/a09f7025-0629-2d10-d7ae-df006a51d1a8
    http://www.codeproject.com/Tips/74499/Crystal-Report-in-WPF.aspx
    Re: Crystal Reports for Visual Studio 2010 - WPF Viewer for .Net 4.0
    http://codegain.com/articles/crystalreports/howto/incorporate-crystal-reports-in-wpf-using-c-sharp.aspx
    CRVS2010 Beta - WPF Viewer, how to hide the GroupTree control?
    Re: CRVS2010 Beta - WPF Viewer, how to hide the GroupTree control?
    Ludek
    Follow us on Twitter http://twitter.com/SAPCRNetSup
    Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]

  • Speech recognition problem with null pointer exception

    im trying to run the simple hello program that came with IBM speech for java
    i've put the speech.jar file in the right folder and it compiles all fine but when i run it i get this error:
    locale is en_US
    java.lang.NullPointerException
    at Hello.main(Hello.java:171)
    but i dont know enough about java speech to figure out what is null and what shouldn't be null...
    thx
    nate
    P.S.
    here is the program code
    import java.io.*;
    import java.util.Locale;
    import java.util.ResourceBundle;
    import java.util.StringTokenizer;
    import javax.speech.*;
    import javax.speech.recognition.*;
    import javax.speech.synthesis.*;
    public class Hello {
    static RuleGrammar ruleGrammar;
    static DictationGrammar dictationGrammar;
    static Recognizer recognizer;
    static Synthesizer synthesizer;
    static ResourceBundle resources;
    static ResultListener ruleListener = new ResultAdapter() {
    public void resultAccepted(ResultEvent e) {
    try {
    FinalRuleResult result = (FinalRuleResult) e.getSource();
    String tags[] = result.getTags();
    if (tags[0].equals("name")) {
    String s = resources.getString("hello");
    for (int i=1; i<tags.length; i++)
    s += " " + tags;
    speak(s);
    } else if (tags[0].equals("begin")) {
    speak(resources.getString("listening"));
    ruleGrammar.setEnabled(false);
    ruleGrammar.setEnabled("<stop>", true);
    dictationGrammar.setEnabled(true);
    recognizer.commitChanges();
    } else if (tags[0].equals("stop")) {
    dictationGrammar.setEnabled(false);
    ruleGrammar.setEnabled(true);
    recognizer.commitChanges();
    } else if (tags[0].equals("bye")) {
    speak(resources.getString("bye"));
    if (synthesizer!=null)
    synthesizer.waitEngineState(Synthesizer.QUEUE_EMPTY);
    Thread.sleep(1000);
    System.exit(0);
    } catch (Exception ex) {
    ex.printStackTrace();
    int i = 0;
    String eh[] = null;
    public void resultRejected(ResultEvent e) {
    if (eh==null) {
    String s = resources.getString("eh");
    StringTokenizer t = new StringTokenizer(s);
    int n = t.countTokens();
    eh = new String[n];
    for (int i=0; i<n; i++)
    eh = t.nextToken();
    if (((Result)(e.getSource())).numTokens() > 2)
    speak(eh[(i++)%eh.length]);
    static ResultListener dictationListener = new ResultAdapter() {
    int n = 0; // number of tokens seen so far
    public void resultUpdated(ResultEvent e) {
    Result result = (Result) e.getSource();
    for (int i=n; i<result.numTokens(); i++)
    System.out.println(result.getBestToken(i).getSpokenText());
    n = result.numTokens();
    public void resultAccepted(ResultEvent e) {
    Result result = (Result) e.getSource();
    String s = "";
    for (int i=0; i<n; i++)
    s += result.getBestToken(i).getSpokenText() + " ";
    speak(s);
    n = 0;
    static RecognizerAudioListener audioListener =new RecognizerAudioAdapter(){
    public void audioLevel(RecognizerAudioEvent e) {
    System.out.println("volume " + e.getAudioLevel());
    static EngineListener engineListener = new EngineAdapter() {
    public void engineError(EngineErrorEvent e) {
    System.out.println
    ("Engine error: " + e.getEngineError().getMessage());
    static void speak(String s) {
    if (synthesizer!=null) {
    try {
    synthesizer.speak(s, null);
    } catch (Exception e) {
    e.printStackTrace();
    } else
    System.out.println(s);
    public static void main(String args[]) {
    try {
    if (args.length>0) Locale.setDefault(new Locale(args[0], ""));
    if (args.length>1) Locale.setDefault(new Locale(args[0], args[1]));
    System.out.println("locale is " + Locale.getDefault());
    resources = ResourceBundle.getBundle("res");
    recognizer = Central.createRecognizer(null);
    recognizer.allocate();
    recognizer.getAudioManager().addAudioListener(audioListener);
    recognizer.addEngineListener(engineListener);
    dictationGrammar = recognizer.getDictationGrammar(null);
    dictationGrammar.addResultListener(dictationListener);
    String grammarName = resources.getString("grammar");
    Reader reader = new FileReader(grammarName);
    ruleGrammar = recognizer.loadJSGF(reader);
    ruleGrammar.addResultListener(ruleListener);
    ruleGrammar.setEnabled(true);
    recognizer.commitChanges();
    recognizer.requestFocus();
    recognizer.resume();
    synthesizer = Central.createSynthesizer(null);
    if (synthesizer!=null) {
    synthesizer.allocate();
    synthesizer.addEngineListener(engineListener);
    speak(resources.getString("greeting"));
    } catch (Exception e) {
    e.printStackTrace();
    System.exit(-1);

    yes, the problem seems to be with allocating the engine, but I don't know exactly why recognizer.allocate() returns null...I have already installed IBM ViaVoice and Speech for Java, and have set the supposedly correct paths...

  • WebLogic Server 12c (12.1.1) start fail with null keystore name

    Hi, I just installed WebLogic server following the instruction at http://docs.oracle.com/cd/E22289_01/html/821-1274/installing-app-dev.html#scrolltoc but when I try to start it, I got "opening of file based keystore failed". I turn on debug with startWebLogic.sh -Djava.security.debug=jpspolicy and found the error "null keystore name".
    Can anybody tell me how to fix that?
    Thanks very much in advance
    Albert

    Hi,
    This community is to discuss Oracle Application Server specific issues, you can post this query in Oracle Weblogic for better response :-
    WebLogic Server - Management / Console / WLST / Configuration
    Regards,
    Prakash.

  • Reflection problems with null pointer exception

    I am having a problem with reflection. I keep getting a NullPointerException and can't figure out why.
    It is happening when I call this:
    ResponseObject result = (ResponseObject)method.invoke(classInstance, argArray);
    I can't figure out what the problem is. I had this reflection working, and then I made some changes to how the argument array was created. In the end, the argarray is the same.
    Any ideas?

    Also, the API for the method class says that a
    NullPointerException is thrown if the object in the
    first argument is null. I have tested for this, and
    it is not null.does it? read again, because giving 'null' as the first argument is perfectly legal. how else would you reflectively invoke a static method, since you might not have an actual instance of the class to pass

  • Help a noob - networkinfo extension packages but fails with null object ref?

    Hi,
    I am a bit of a noob when it comes to native etxtensions so bear with me.
    I need to expose the IP address of the app running on iOS, so have grabbed the iOS native extension.
    I am using Pro CC and have the ane properly installed, and reffed as it should be.
    When I debug over USB to the device, I get an error 1009 null object when I am trying to access:
    var ntf:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
    I am importing com.adobe.nativeExtensions.Networkinfo.InterfaceAddress;
    and the other as outlined in the demo as file.
    Checked the extension ID is ok in the xml descriptor.
    When I try to run on the 6.1 sim, I get an Invalid Input. bla bla bla could not be found for the target platform.
    Where am I going wrong, I am going round in circles here!
    Cheers :-)

    Two days ago the same problem started in our production enviroment
    its not happening all the time though
    i've checked the logs on the mailbox server and found that the get-mailbox command is sometimes triggered before the Enable-Mailbox command is completed .
    This is so weird  , all commands ins the scripts should be triggered on complete !
    anyway , im still investigating the problem 
    I wonder if you have found any solution for this issue ?
    Regards,
    Best Regards Bisher Shbib

  • Custom Schedule Task ( Null Pointer Exception)

    Hi All,
    I had written Custom Schedule task: Below is the code
    When i run the Schedule task it is failing throwing Null Pointer Exception. the code is not able to fetch userId ,passwordex and passwordwar values in execute method. please help me
    package oracle.iam.sample.notification;
    import java.sql.Date;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    import oracle.iam.identity.exception.NoSuchUserException;
    import oracle.iam.identity.exception.UserLookupException;
    import oracle.iam.identity.usermgmt.api.UserManager;
    import oracle.iam.identity.usermgmt.vo.User;
    import oracle.iam.notification.api.NotificationService;
    import oracle.iam.notification.exception.EventException;
    import oracle.iam.notification.exception.MultipleTemplateException;
    import oracle.iam.notification.exception.NotificationException;
    import oracle.iam.notification.exception.NotificationResolverNotFoundException;
    import oracle.iam.notification.exception.TemplateNotFoundException;
    import oracle.iam.notification.exception.UnresolvedNotificationDataException;
    import oracle.iam.notification.exception.UserDetailsNotFoundException;
    import oracle.iam.notification.vo.NotificationEvent;
    import oracle.iam.platform.Platform;
    import oracle.iam.platform.authz.exception.AccessDeniedException;
    import oracle.iam.scheduler.vo.TaskSupport;
    import static oracle.iam.identity.usermgmt.api.UserManagerConstants.AttributeName.MANAGER_KEY;
    import static oracle.iam.identity.usermgmt.api.UserManagerConstants.AttributeName.USER_LOGIN;
    import oracle.iam.platform.kernel.vo.Orchestration;
    public class PasswordExpiry extends TaskSupport {
    public PasswordExpiry() {
    super();
    public void execute(HashMap taskParameters) {
    System.out.println("inside the Execute methode");
    System.out.println("Schedule task Arguments "+taskParameters);
    String userId = (String)taskParameters.get("User Login");
    System.out.println("===========input=============== "+userId);
    String passwordex=taskParameters.get("usr_pwd_expire_date").toString();
    System.out.println("===========input=============== "+passwordex);
    String passwordwar=taskParameters.get("usr_pwd_warn_date").toString();
    System.out.println("===========input=============== "+passwordwar);
    try {
    System.out.println("inside the Try block");
    NotificationService notService = Platform.getService(NotificationService.class);
    NotificationEvent eventToSend = this.createNotificationEvent(userId, passwordex,passwordwar);
    notService.notify(eventToSend);
    } catch (Exception e) {
    e.printStackTrace();
    private NotificationEvent createNotificationEvent(String userKey, String passwordex,
    String passwordwar) throws NoSuchUserException, UserLookupException,
    AccessDeniedException {
    NotificationEvent event = new NotificationEvent();
    //get user IDs to whom notification is to be sent and set it in the
    //event object being created
    String[] receiverUserIds= getRecipientUserIds(userKey);
    event.setUserIds(receiverUserIds);
    //Set template name to be used to send notification for this event
    event.setTemplateName("PasswordWarningNotificationTemplate");
    //Setting senderId as null here and hence default sender ID would
    //get picked up
    event.setSender(null);
    //Create a map with key value pair for the parameters declared at time
    //of configuring notification event
    HashMap<String, Object> map = new HashMap<String, Object>();
    map.put("usr_key", userKey);
    map.put("usr_pwd_warn_date", passwordex);
    map.put("usr_pwd_expire_date",passwordwar);
    event.setParams(map);
    return event;
    private String[] getRecipientUserIds(String userKey) throws NoSuchUserException,
    UserLookupException, AccessDeniedException {
    UserManager usrMgr = Platform.getService(UserManager.class);
    User user = null;
    String userId = null;
    Set<String> userRetAttrs = new HashSet<String>();
    //Sending notification to both the user and his/her manager
    userRetAttrs.add(MANAGER_KEY.getId());
    userRetAttrs.add(USER_LOGIN.getId());
    User manager = null;
    String managerId = null;
    String managerKey = null;
    Set<String> managerRetAttrs = new HashSet<String>();
    managerRetAttrs.add(USER_LOGIN.getId());
    //Retrieving User ID
    user = usrMgr.getDetails(userKey, userRetAttrs, false);
    userId = user.getAttribute(USER_LOGIN.getId()).toString();
    List<String> userIds = new ArrayList<String>();
    userIds.add(userId);
    if (user.getAttribute(MANAGER_KEY.getId()) != null) {
    managerKey = user.getAttribute(MANAGER_KEY.getId()).toString();
    manager = usrMgr.getDetails(managerKey, managerRetAttrs, false);
    //Retrieving User's Manager ID
    managerId = manager.getAttribute(USER_LOGIN.getId()).toString();
    userIds.add(managerId);
    //To return String[] than an Object array
    String[] recipientIDs = userIds.toArray(new String[0]);
    return recipientIDs;
    * Call notification Engine passing an event object to it
    * @param event
    * @throws NotificationException
    private void sendNotification(NotificationEvent event) throws NotificationException {
    try {
    //Call notify method of NotificationService to pass on the event
    //to notification engine
    NotificationService notificationService = Platform.getService(
    NotificationService.class);
    notificationService.notify(event);
    } catch (EventException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (UnresolvedNotificationDataException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (TemplateNotFoundException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (MultipleTemplateException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (NotificationResolverNotFoundException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (UserDetailsNotFoundException e) {
    throw new NotificationException(e.getMessage(), e.getCause());
    } catch (NotificationException e){
    throw e;
    public HashMap getAttributes() {
    return null;
    public void setAttributes() {}
    Thank you

    The task parameters passed into a scheduled job are the parameters defined for the scheduled task definition in the metadata xml and configured in the scheduled job. They are not the data of an individual user as you seem to be trying to get. In a scheduled task I would expect some sort of search for users to operate on.

  • EvaluatingTteststand 4.2.1: Null pointer access violation (error 17502) when attempting to use a mixed-mode std::map / boost shared_ptr class contained in a DLL through an interface from a different DLL

    Hi there.
    I have been working on a test system which will potentially have TestStand at its core, and downloaded/installed the 4.2.1 evaluation. Current details from the information dialog are:
    TestStand Engine version 4.2.1 (4.2.1.83)
    Sequence Editor Verison 4.2.1.83
    The system will drive mobile radio devices using RS232 serial interfaces, usnig a variety of serial protocols (Hayes, and a couple of proprietary binary protocols for other work).
    We already have in existence a soak tester, written in VS2005 with MFC unmanaged DLLs and also managed DLLs, which are mixed up together to provide different aspects of the functionality required for the binary protocols.
    I have created:
    1. a "master wrapper" DLL for the constellation of other DLLs - this offers up a simple C-API interface which I hope TestStand will use. It's called "SerialSessionMgr.dll""
    2. a mixed managed / unmanaged "IJW" (it just works) DLL which wraps up the binary logging protocol control interfaces, which are entirely in managed C++/CLI: the "master wrapper" DLL calls into this through an unmanaged interface to create instances of the CLI-compiled class which interfaces to the underlying managed DLLs imlpementing the logging protocol. This is called "WinTseInterface.dll".
    Before I started evaluating TestStand, I knocked up a test harness using CPPUnit / MFC, with which I was able to test SerialSessionMgr.dll and its' use of WinTseInterface.dll and verify they worked. The harness loads the DLL dynamically at run-time using AfxLoadLibrary() to try to emulate the way TestStand uses it.
    When we open a
    TSE session:
    The SerialSessionManager makes a call to the
    WinTseInterface.dll to "create" a logging instance. The instance is
    created in a std::map which is held by the CWinApp derived class, this map
    contains boost::shared_ptr of the class which works with a managed class. So we
    have a call trace: Client
    app->SerialSessionManager{TseStartSession()}->WinTseInterface{WINTSE_GetWinTseBridge()} - WINTSE_GetWinTseBridge()
    just creates a new instance of the unmanaged class which interfaces through to
    the managed CLI/C++ class beneath, and returns the address to the
    SerialSessionManager, which stores it.
    The SerialSessioManager actually initialises the WinTseBridge using a method of a C++ pure virtual interface class to the class in the std::map in the WinTseInterface DLL
    implements. The initialise call passes miscellaneous details and actually calls
    "gcnew" to create the managed class which interfaces to the
    underlying managed DLLs which implement the logging protocol.
    My logs of the DLL loading as seen in VS2005 debug output are attached this message as PDFs
    While trying to fix this, I have tried:
    Enhancing the WinTseInterface DLL so it manually loads all the other assemblies in the logging system, including the managed portion of WinTseInterface itself (no effect)
    All the different options for the way the C DLL adapter loads and unloads the DLL in the DLL adapter steptype in TestStand
    I've even tried calling directly into the WinTseInterface DLL before trying any SerialSessionManager DLL calls to try to load the WinTseInterface DLL completely beforehand
    and I cannot stop this exception.
    It seems like the object is created in the WinTseInterface DLL OK (I have debugged the creation step which runs for WINTSE_GetWinTseBridge() and the object is created OK) when the SerialSessionManager makes the call, but when it calls the first managed function, which creates the managed object, the DLL is reloaded as managed - I suspect this causes the object to be destroyed or overwritten, and thus the call to initialise bombs with null pointer violation.
    Have I done something obviously wrong, and what other approaches can I take? 
    Does TestStand 4.2.1 have issues with driving DLLs which use managed/unmanaged DLLs beneath them?
    My nuclear option is to throw the WinTseInterface DLL out completely and wrap up the managed C++ CLI code in a new interface, entirely managed, and use the TestStand ".Net" adaptor to drive that, creating my step library to run to that directly. This isn't ideal as I have some co-ordination of the protocols which is implemented in the SerialSessionMgr DLL.
    I hope someone can help. This one's low level, dirty and a stumper to me.
    Many thanks to the NI community. This is my first posting!
    Solved!
    Go to Solution.
    Attachments:
    CPPUnit Test Harness DLL load debug output.pdf ‏18 KB
    TestStand DLL load & crash debug output.pdf ‏43 KB

    Hi there Ray.
    First - many thanks for engaging with this thorny problem. Love the avatar BTW.
    I've been using the C/C++ DLL adapter: the original premise of the Serial Session Manager DLL was to provide a simple C type functional interface, using simple data types, so that TestStand would be able to drive the underlying functionality easily through a single DLL.
    Seeing as you've been kind enough to respond, I should explain the makeup of the DLLs a little more, I think.
    The SerialSessionManager (SSMgr) DLL uses C++ and MFC internally. This is the DLL which TestStand calls into directly through the C/C++ adapter. This DLL does have one odd feature though - because the it uses the Windows Multimedia Timer (implemented in WinMM.dll) I had to artificially create a scenario where it would load the .Net mscoree DLL _before_ it loads WinMM.dll - (http://connect.microsoft.com/VisualStudio/feedback/details/329819/freelibrary-in-the-winmm-dlls-modu...), basically WinMM.dll's init code gets rather upset when .Net DLLs load, which causes the entire executable to be unloaded with subsequent crashes.
    To work around this crash, the SSMgr has a single, completely empty, file which is compiled for CLR, effectively forcing a dependency into the DLL on the .Net subsystems and turning the DLL into a "IJW" binary. The resulting DLL doesn't actually have any executable managed .Net assemblies, but I'm guessing that it does contain enough .Net related stubs and information that when the DLL is loaded, mscoree.dll loads before WinMM.dll - and this means the system doesn't crash.
    Now, on to the WinTseInterface DLL. My initial description of this little software system was done in something of a hurry.
    This DLL is the C++/CLI "IJW" DLL which actually contains managed and unmanaged code. Underneath the WinTseInterface DLL is another system of (this time exclusively C++/CLI) DLL assemblies which implement the TSE protocol interpretation system.
    When the SSMgr DLL needs to start a TSE protocol session, it calls a C-API function in the WinTseInterface which creates a new CWinTseBridge class. Here's the steps in a little more detail:
    SSMgr DLL calls WINTSE_GetWinTseBridge(), passing in the name of the device which needs it (this is used to put the new WinTseBridge into a std::map in the WinTseInterface DLL) - this call runs just fine, and returns the address of the CWinTseBridge C++ object. This is stored in the SSMgr, because the CWinTseBridge class implements a pure virtual interface which is used by the SSMgr as a way of accessing the CWinTseBridge methods. 
    We now use the address from (1) to make a call to CWinTseBridge::Initialise(), passing some basic configuration details.
    I've run VS2005 debug on the Sequence Editor when running the test, and done F11 step-throughs of the code loading each parameter in the Initialise() call onto the stack, and what appears to happen is that when the call is made, the whole lot steps off into oblivion (a reference to 0x00000000 is made, I think).
    Do you think it's worth trying to get this approach to work? It would be useful to retain the control surface in the top of the SSMgr as there is co-ordination of the protocols within the logic of that component. If I move the Wintse control out into a separate managed DLL I may not have that co-ordination (this might be overcome with some design, as I've confirmed that it is possible to "reach into" the WinTseInterface DLL with TestStand and create and use managed objects from assemblies contained within).
    Are there any known issues with this version of TestStand using C/C++ CLI IJW DLLs? I haven't found much out there on the web.
    Attachments:
    Tse_Test.seq ‏7 KB

Maybe you are looking for

  • Thinkpad yoga ultrabook screen flickers

    I just got a thinkpad yoga and I have noticed since I started using it that the screen randomly flickers.  I can't narrow it down to a time where I'm doing a specific task.  Any help in tracking down the problem would be greatly appreciated. Solved!

  • Facial Recognition-- Best Practice

    Question about facial recognition for tagging, Lets say you have a person who has baby pictures, child pictures, teenager, and adult pictures. should you tell PE that these are different people (john infant, john child, john teenager, john adult) to

  • Will Captivate 8 files upload to sharepoint 2010

    has anyone tried creating a captivate 8 responsive file and uploading to sharepoint 2010. Or 2013?

  • Can't install Flash Player (stupid ActiveX!)

    I can't install Flash Player or Macromedia Player on my computer. The problem came out of nowhere. We seem to have no viruses. We go to the adobe site to install it, but after we click the install button, a little message shows up, asking to install

  • Audio in viewer playback but no audio in canvas

    I can't get any audio while playing the sequence on the time line. It is fine when playing the clip in the viewer. Please advise.