[svn] 3768: Fix BLZ-262: null pointer exception on redeploy of web app/ servlet.

Revision: 3768
Author: [email protected]
Date: 2008-10-21 07:48:14 -0700 (Tue, 21 Oct 2008)
Log Message:
Fix BLZ-262: null pointer exception on redeploy of web app/servlet.
I was too agressive in releasing the ThreadLocal variables when the servlet shut down.
Leave the nulling out code there, but add a createThreadLocalObjects() API that is called
on MessageBrokerServlet startup that will re-allocate these static variables if they are null.
QA: Yes
Doc: No
Ticket Links:
http://bugs.adobe.com/jira/browse/BLZ-262
Modified Paths:
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/FlexContext.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/MessageBroker.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/MessageBrokerServlet.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/io/SerializationContext.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/io/TypeMarshallingContext.jav a

Revision: 3768
Author: [email protected]
Date: 2008-10-21 07:48:14 -0700 (Tue, 21 Oct 2008)
Log Message:
Fix BLZ-262: null pointer exception on redeploy of web app/servlet.
I was too agressive in releasing the ThreadLocal variables when the servlet shut down.
Leave the nulling out code there, but add a createThreadLocalObjects() API that is called
on MessageBrokerServlet startup that will re-allocate these static variables if they are null.
QA: Yes
Doc: No
Ticket Links:
http://bugs.adobe.com/jira/browse/BLZ-262
Modified Paths:
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/FlexContext.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/MessageBroker.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/MessageBrokerServlet.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/io/SerializationContext.java
blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/io/TypeMarshallingContext.jav a

Similar Messages

  • [svn] 3779: Continue fix for BLZ-262: null pointer exception on redeploy of web app/servlet.

    Revision: 3779
    Author: [email protected]
    Date: 2008-10-21 10:23:55 -0700 (Tue, 21 Oct 2008)
    Log Message:
    Continue fix for BLZ-262: null pointer exception on redeploy of web app/servlet.
    Remove finally block in servlet init() as the call to destroy() in the catch block will clear ThreadLocals
    if there is an error. Move it to the end of try block instead since the init() thread doesn't need any
    thread locals set.
    Log the startup error before calling destroy() in init() catch clause.
    QA: Yes
    Doc: No
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-262
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/MessageBrokerServlet.java

    Hello!
    I had a similar problem under WebLogic 6.1 SP4 after deploying a war-file with
    a bug.
    After deploying the corrected file, it seemed that the old version was deployed
    again.
    Perhaps this behaviour will help you to load the new application/ejb:
    - undeploy
    - remove from targets
    - move to targets
    - deploy
    Claudia
    "Marco" <[email protected]> wrote:
    >
    hi all,
    i have found a werid problem in deploying applications in Solaris 8
    for weblogic
    7.0.
    i have deployed one EJB, and the first time i access it (thru teh web
    app embedded
    in the .ear) it gave me a null pointer exception because i was failing
    to lookup
    one environment variable.
    so, i fix the code, rebuild the ear and redeployed, and the same error
    happened
    again.
    i am sure i did not do any mistakees because i have put some system.err
    statements
    in the bean code to show the workflow, and when i have deployed it on
    Window 2k
    the statemens appeared.
    but in solaris they didnot appear, and i got the same exception that
    i had before..
    it looks like wls is caching teh ejb, because whenever i redeploy it
    (adding more
    and more system.err statements) it always execute the faulty code of
    when deployed
    the very first time.
    anyone can help?
    regards
    marco

  • [svn] 3766: Fix for BLZ-261: Null pointer exception in Websphere login code .

    Revision: 3766
    Author: [email protected]
    Date: 2008-10-21 05:59:49 -0700 (Tue, 21 Oct 2008)
    Log Message:
    Fix for BLZ-261: Null pointer exception in Websphere login code.
    Protect the debug logging from being called if the principal variable is null.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-261
    Modified Paths:
    blazeds/trunk/modules/opt/src/websphere/flex/messaging/security/WebSphereLoginCommand.jav a

    Revision: 3766
    Author: [email protected]
    Date: 2008-10-21 05:59:49 -0700 (Tue, 21 Oct 2008)
    Log Message:
    Fix for BLZ-261: Null pointer exception in Websphere login code.
    Protect the debug logging from being called if the principal variable is null.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-261
    Modified Paths:
    blazeds/trunk/modules/opt/src/websphere/flex/messaging/security/WebSphereLoginCommand.jav a

  • Xi 3.1 SP3 giving java null pointer exception error on scheduling webi

    after we have the system uptime running for a few days and have schedule webi jobs successfully for a few days, we constant get the message java null pointer exception error on scheduling webi.
    This only have days after restarting the environment.
    Seems to be coming up after scheduling a certain amount of webi reports.
    Only doing a stop all services and restart resolves the issue.
    XI 3.1 SP3
    SAP IK Sp3
    Tomcat55
    HPUX-IA64 (Hpunix) platform.

    Hello, I have the same issue.  If someone gives you an answer please let me know how to fix it.

  • Null pointer exception in jserv.log

    Genius,
    I am facing weired exception "Null pointer exception" in jserv.log.
    Apps Login is showing "internal server error"
    I tried enabled debug log level in jserv.conf, httpd.conf, all logs are having Null pointer exception message. not able to trace exactly what is the issue.
    This is 11.5.10 env.
    Can anybody help me out?
    Thanks

    fyi. i am the apps dba of that env.
    Yes bounced many times, after making several setups. found that ATG RUP patch 4 screwed got applied, developers applied the patches directly, which screwed the env.
    now we are recloning the test env.
    thanks folks for your support.

  • Null Pointer exception returned when object is not null!

    I've isolated the problem and cut down the code to the minimum. Why do I get a null pointer exception when the start method is called, when the object objJTextField is not null at this point???? I'm really stuck here, HELP!
    (two small java files, save as BasePage.java and ExtendedPage.java and then run ExtendedPage)
    first file
    ~~~~~~~
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public abstract class BasePage extends JFrame implements ActionListener
    private JPanel objJPanel = null;
    public BasePage()
    setSize(300,200);
    Container objContentPane = getContentPane();
    objJPanel = new JPanel();
    createObjects();
    createPage();
    // Add panels to content pane
    objContentPane.add(objJPanel);
    public void addComponentToPage(JComponent objJComponent)
    objJPanel.add(objJComponent);
    public void addButtonToPage(JButton objJButton)
    objJButton.addActionListener(this);
    objJPanel.add(objJButton);
    public void actionPerformed(ActionEvent objActionEvent)
    System.out.println("Action performed");
    userDefinedButtonClicked(objActionEvent.getActionCommand());
    // overide
    public abstract void createObjects();
    public abstract void createPage();
    public abstract void userDefinedButtonClicked(String sActionCommand);
    file 2
    ~~~~
    import javax.swing.*;
    public class ExtendedPage extends BasePage
    private JTextField objJTextField = null;
    private JButton objJButtonBrowse = null;
    public ExtendedPage()
    super();
    public void createObjects()
    objJTextField = new JTextField(20);
    objJButtonBrowse = new JButton("Start");
    objJButtonBrowse.setActionCommand("START");
    public void createPage()
    addComponentToPage(objJTextField);
    addButtonToPage(objJButtonBrowse);
    public void userDefinedButtonClicked(String sActionCommand)
    if ((sActionCommand != null) && (sActionCommand.equals("START")) )
    start();
    private void start()
    objJTextField.setText("Doesn't work");
    public static void main(String[] args)
    ExtendedPage objEP = new ExtendedPage();
    objEP.show();

    Hello ppaulf,
    Your problem is in your ExtendedPage.java file. You can fix this by changing the line
    private JTextField objJTextField = null;to:
    private JTextField objJTextField = new JTextField();This creates a proper instance.
    Good luck,
    Ming
    Developer Technical Support
    http://www.sun.com/developers/support

  • JAX-WS Client throws NULL Pointer Exception in NW 7.1 SP3 and higher

    All,
    My JAX-WS client is throwing an exception when attempting to create a client to connect to the calculation service. The exception is coming out of the core JAX-WS classes that are part of NetWeaver. (see exception below)
    Caused by: java.lang.NullPointerException
         at com.sap.engine.services.webservices.espbase.client.jaxws.core.SAPServiceDelegate.createDispatchContextExistingPort(SAPServiceDelegate.java:440)
         at com.sap.engine.services.webservices.espbase.client.jaxws.core.SAPServiceDelegate.createDispatchContext(SAPServiceDelegate.java:475)
         at com.sap.engine.services.webservices.espbase.client.jaxws.core.SAPServiceDelegate.createDispatch(SAPServiceDelegate.java:492)
         at com.sap.engine.services.webservices.espbase.client.jaxws.core.SAPServiceDelegate.createDispatch(SAPServiceDelegate.java:484)
         at javax.xml.ws.Service.createDispatch(Service.java:166)
    I have done some research and it appears that as of NetWeaver 7.1 SP3 SAP stopped using the SUN JAX-WS runtime and implemented their own SAP JAX-WS runtime. I also took the time to decompile the jar file that contained the SAPServiceDelegate class which is throwing the null pointer exception. (see method from SAPServiceDelegate below)
        private ClientConfigurationContext createDispatchContextExistingPort(QName portName, JAXBContext jaxbContext)
            BindingData bindingData;
            InterfaceMapping interfaceMap;
            InterfaceData interfaceData;
            bindingData = clientServiceCtx.getServiceData().getBindingData(portName);
            if(bindingData == null)
                throw new WebServiceException((new StringBuilder()).append("Binding data '").append(portName.toString()).append("' is missing!").toString());
            QName bindingQName = new QName(bindingData.getBindingNamespace(), bindingData.getBindingName());
            interfaceMap = getInterfaceMapping(bindingQName, clientServiceCtx);
            interfaceData = getInterfaceData(interfaceMap.getPortType());
            ClientConfigurationContext result = DynamicServiceImpl.createClientConfiguration(bindingData, interfaceData, interfaceMap, null, jaxbContext, getClass().getClassLoader(), clientServiceCtx, new SOAPTransportBinding(), false, 1);
            return result;
            WebserviceClientException x;
            x;
            throw new WebServiceException(x);
    The exception is being throw on the line where the interfaceMap.getPortType() is being passed into the getInterfaceData method. I checked the getInterfaceMapping method which returns the interfaceMap (line above the line throwing the exception). This method returns NULL if an interface cannot be found. (see getInterfaceMapping method  below)
       public static InterfaceMapping getInterfaceMapping(QName bindingQName, ClientServiceContext context)
            InterfaceMapping interfaces[] = context.getMappingRules().getInterface();
            for(int i = 0; i < interfaces.length; i++)
                if(bindingQName.equals(interfaces<i>.getBindingQName()))
                    return interfaces<i>;
            return null;
    What appears to be happening is that the getInterfaceMapping method returns NULL then the next line in the createDispatchContextExistingPort method attempts to call the getPortType() method on a NULL and throws the Null Pointer Exception.
    I have included the code we use to create a client below. It works fine on all the platforms we support with the exception of NetWeaver 7.1 SP3 and higher (I already checked SP5 as well)
          //Create URL for service WSDL
          URL serviceURL = new URL(null, wsEndpointWSDL);
          //create service qname
          QName serviceQName = new QName(targetNamespace, "WSService");
          //create port qname
          QName portQName = new QName(targetNamespace, "WSPortName");
          //create service
          Service service = Service.create(serviceURL, serviceQName);
          //create dispatch on port
          serviceDispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD);
    What do I need to change in order to create a JAX-WS dispatch client on top of the SAP JAX-WS runtime?

    Hi Guys,
    I am getting the same error. Any resolution or updates on this.
    Were you able to fix this error.
    Thanks,
    Yomesh

  • Null pointer exception while inserting a new row in ADF with jdev

    Hi,
    In ADF, I have retrieved some user information from LDAP server and I want to insert those values in to my table. But when I do this, I am getting a null pointer exception when I get the view object (ViewObject vo=getCRUIP002_1();). I am not sure why this happens.
    Here is my code. It is urgent.
    and please some one help me in fixing the issue.
    ViewObject vo=getCRUIP002_1();
    vo.clearCache();
    vo.setMaxFetchSize(0);
    vo.executeQuery();
    Row newRow=vo.createRow();
    vo.insertRow(newRow);
    SearchResult res = (SearchResult)results.next();
    Attributes attrs = res.getAttributes();
    // Row newRow = vo.getCurrentRow();
    newRow.setAttribute("LOGINNAME",(Object)attrs.get("sn").get().toString());
    newRow.setAttribute("PASSWORDVALUE","x");
    newRow.setAttribute("FIRSTNAME",(Object)attrs.get("sn").get().toString());
    newRow.setAttribute("LASTNAME",(Object)attrs.get("sn").get().toString());
    newRow.setAttribute("EMAIL",(Object)attrs.get("mail").get().toString());
    Thanks,
    Priya.S

    assuming ur jdev version is 10.1.2
    ViewObject vo=getCRUIP002_1();i dont think ur getting the view object hence null pointer expception.
    ViewObject vo = findViewObject("MyView1");
    if u r in the object class then first get the root application module and then access the View obejct from there.
    In ADF if u assign a null value, u will always get the null pointer exception coz of java. Run the app in debug mode and check the values step by step, by the way there is not exception handling in ur code either, Do u know how to debug in Jdev ?
    zaibi.

  • I can't figure out why I'm getting a Null Pointer Exception

    I'm writing a program that calls Bingo numbers. I got that part of the program to work but when I started adding Swing I kept getting a Null Pointer Exception and I don't know how to fix it. The Exception happens on line 15 of class Panel (g = image.getGraphics();). Here is the code for my classes. I'm still not finished with the program and I can't finish it until I know that this issue is resolved.
    package Graphics;
    import java.awt.Graphics;
    import javax.swing.JFrame;
    public class DrawFrame extends JFrame{
         public Panel panel;
         public DrawFrame(int x, int y, String s) {
              super(s);
              this.setBounds(0, 0, x, y);
              this.setResizable(false);
              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              this.setPreferredSize(getSize());
              panel = this.getPanel();
              this.getContentPane().add(panel);
              panel.init();
              this.setVisible(true);
         public Graphics getGraphicsEnvironment(){
              return panel.getGraphicsEnvironment();
         Panel getPanel(){
              return new Panel();
    package Graphics;
    import javax.swing.JPanel;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    public class Panel extends JPanel{
         Graphics g;
         Image image;
         public void init() {
              image = this.createImage(this.getWidth(), this.getHeight());
              g = image.getGraphics();
              g.setColor(Color.white);
              g.fillRect(0, 0, this.getWidth(), this.getHeight());
         Graphics getGraphicsEnvironment() {
              return g;
         public void paint(Graphics graph) {
              if (graph == null)
                   return;
              if (image == null) {
                   return;
              graph.drawImage(image, 0, 0, this);
    package Graphics;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    public class Keys extends KeyAdapter{
    public int keyPressed; //creates a variable keyPressed that stores an integer
    public void keyPressed(KeyEvent e) { //creates a KeyEvent from a KeyListner
              keyPressed = e.getKeyCode(); //gets the key from the keyboard
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.event.KeyEvent;
    import Graphics.*;
    public class Bingo {
         static Ball balls[][] = new Ball[5][15]; //creates a 2D 5 by 15 array
         public static void main(String[] args) {
              DrawFrame frame = new DrawFrame(1500, 500, "Welcome to the automated Bingo Caller."); //creates instance of DrawFrame that is 1000 pixels wide and 500 pixels high
              Graphics g = frame.getGraphicsEnvironment(); //calls the getGraphicsEnvironment method in the DrawFrame class
              Keys key = new Keys(); //creates instance of the Key class
              frame.addKeyListener(key); //adds a KeyListener called Key
              for (int x = 0; x < 5; x++) { //fills rows
                   for (int y = 0; y < 15; y++) { //fills columns
                        balls[x][y] = new Ball(x, y+1); //fills array
              frame.pack(); //adjusts the size of the frame so everything fits
              g.setColor(Color.black); //sets the font color to black
              g.setFont(new Font("MonoSpace", Font.PLAIN, 20)); //creates new font
              for(int y=0;y<balls.length;y++){ //draws all possible balls
                   g.drawString(balls[y][0].s, 0, y*100); //draws numbers
                   for(int x=0;x<balls[y].length;x++){ //draws all possible balls
                        g.drawString(balls[y][x].toString(), (x+1)*100, y*100); //draws letters
              do {
                   frame.repaint(); //repaints the balls when one is called
                   int x, y; //sets variables x and y as integers
                   boolean exit; //sets a boolean to the exit variable
                   do {
                        exit = false; //exit is set to false
                        x = (int)(Math.random() * 5); //picks a random number between 0 and 4 and stores it as x
                        y = (int)(Math.random() * 15); //picks a random number between 0 and 14 stores it as y
                        if (!balls[x][y].called) { //checks to see if a value is called
                             exit = true; //changes exit to true if it wasn't called
                             balls[x][y].called = true; //sets called in the Ball class to true if it wasn't called
                             System.out.println(balls[x][y]); //prints value
                   } while (!exit); //if exit is false, returns to top of loop
                   int count = 0; //sets a count for the number of balls called
                   for(int z=0;z<balls.length;z++){ //looks at balls
                        g.setColor(Color.black); //displays in black
                        g.drawString(balls[z][0].s, 0, z*100); //draws balls as a string
                        for(int a=0;a<balls[z].length;a++){ //looks at all balls
                             if (balls[z][a].called){ //if a ball is called
                                  g.setColor(Color.red); //change color to red
                                  count++; //increments count
                             } else {
                                  g.setColor(Color.black); //if it isn't called stay black
                             g.drawString(balls[z][a].toString(), (a+1)*100, y*100); //draws balls as string
                   do {
                        if (key.keyPressed == KeyEvent.VK_R||count==5*15) { //if R is pressed or count = 5*15
                             count=5*15; //changes count to 5*15
                             for(int z=0;z<balls.length;z++){ //recreates rows
                                  g.setColor(Color.black); //sets color to black
                                  g.drawString(balls[z][0].s, 0, z*100); //redraws rows
                                  for(int a=0;a<balls[z].length;a++){ //recreates columns
                                       balls[z][a] = new Ball(z, a+1); //fills array
                                       g.drawString(balls[z][a].toString(), (a+1)*100, z*100); //redraws columns
                   } while (key.keyPressed!=KeyEvent.VK_ENTER || count == 5 * 15); //determines if the key was pressed or counter is 5*15s
              } while (key.keyPressed == KeyEvent.VK_ENTER);
    public class Ball {
         String s; //initiates s that can store data type String
         int i; //initiates i that can store data as type integer
         boolean called = false; //initiates called as a boolean value and sets it to false
         public Ball(int x, int y) {
              i = (x * 15) + y; //stores number as i to be passed to be printed
              switch (x) { //based on x value chooses letter
              case 0:
                   s = "B";
                   break;
              case 1:
                   s = "I";
                   break;
              case 2:
                   s = "N";
                   break;
              case 3:
                   s = "G";
                   break;
              case 4:
                   s = "O";
         public String toString() { //overrides toString method, converts answer to String
              return s + " " + i; //returns to class bingo s and i
    }

    The javadoc of createImage() states that "The return value may be null if the component is not displayable."
    Not sure, but it may be that you need to call init() after this.setVisible(true).

  • Max Beans in Cache causes NULL Pointer Exception

    Hi All,
    a rather weird event (from our perspective) occurs when we do the
    following:
    We have an entity bean set to max beans in cache 100 (default value of
    our deployment tool ), the database table related to that bean holds
    lets say 300 entries.
    Doing a find all and in the same session bean instanciated transaction a
    processing loop over the enumeration of beans we get an NULL Pointer
    exception when accesing the 101 Bean. Neverthless the Weblogic server
    increases the cache size automatically but obviously not fast enough and
    not on time.
    has anyone experienced the same problem and has a fix for it, appart
    from increasing the cache size in the deployment descriptor ?
    any help welcome
    Michael

    Hi Michael.
    Can you post the stack trace of the NullPointerException? Was it in
    your code or ours? Also, what version of WebLogic are you using?
    -- Rob
    Rob Woollen
    Software Engineer
    BEA WebLogic
    [email protected]
    Michael Rupprecht wrote:
    Hi All,
    a rather weird event (from our perspective) occurs when we do the
    following:
    We have an entity bean set to max beans in cache 100 (default value of
    our deployment tool ), the database table related to that bean holds
    lets say 300 entries.
    Doing a find all and in the same session bean instanciated transaction a
    processing loop over the enumeration of beans we get an NULL Pointer
    exception when accesing the 101 Bean. Neverthless the Weblogic server
    increases the cache size automatically but obviously not fast enough and
    not on time.
    has anyone experienced the same problem and has a fix for it, appart
    from increasing the cache size in the deployment descriptor ?
    any help welcome
    Michael

  • Java Null Pointer Exception - with arraycopy method.

    Hi all,
    I have been trying to fix this for a while now, but I think I've been staring at the screen for too long to fix it!
    Basically I am trying to 'crossover' some arrays (evolutionary technique) but I keep getting a null pointer exception.
    Here is my customised class: class ChromosomeDetails {
         double[] chromosomePrices;
         int[] chromosomePoints;
         int[] chromosomePlayerIDs;
         int chromosomeFitness;
           ChromosomeDetails(double[] chromosomePrices, int[] chromosomePoints, int[] chromosomePlayerIDs, int chromosomeFitness) {
              this.chromosomePrices = chromosomePrices;
              this.chromosomePoints = chromosomePoints;
              this.chromosomePlayerIDs = chromosomePlayerIDs;
              this.chromosomeFitness = chromosomeFitness;     
           public ChromosomeDetails () {  
                chromosomePrices = null;
              chromosomePoints = null;
              chromosomePlayerIDs = null;
              chromosomeFitness = 0;
         public double[] getPrices() {
              return chromosomePrices;
         public int[] getPoints() {
              return chromosomePoints;
         public int[] getPlayerIDs() {
              return chromosomePlayerIDs;
         public int getFitness() {
              return chromosomeFitness;
    }  In my main method I create 2 instances of this class like so:ChromosomeDetails parentChromosomeADetails = new ChromosomeDetails();          
    ChromosomeDetails parentChromosomeBDetails = new ChromosomeDetails();...and 2 other instances that are left empty:ChromosomeDetails childChromosomeCDetails = new ChromosomeDetails();     
    ChromosomeDetails childChromosomeDDetails = new ChromosomeDetails();     I then try to 'crossover' the values in the arrays like so: int randomCrossoverPoint = new Random().nextInt(parentChromosomeADetails.chromosomePoints.length-1);
    System.arraycopy(parentChromosomeADetails.chromosomePrices, 0, childChromosomeCDetails.chromosomePrices, 0, randomCrossoverPoint);
    System.arraycopy(parentChromosomeBDetails.chromosomePrices, randomCrossoverPoint, childChromosomeCDetails.chromosomePrices, randomCrossoverPoint, (childChromosomeCDetails.chromosomePrices.length-randomCrossoverPoint));
    System.arraycopy(parentChromosomeADetails.chromosomePoints, 0, childChromosomeCDetails.chromosomePoints, 0, randomCrossoverPoint);
    System.arraycopy(parentChromosomeBDetails.chromosomePoints, randomCrossoverPoint, childChromosomeCDetails.chromosomePoints, randomCrossoverPoint, (childChromosomeCDetails.chromosomePoints.length-randomCrossoverPoint));
    System.arraycopy(parentChromosomeADetails.chromosomePlayerIDs, 0, childChromosomeCDetails.chromosomePlayerIDs, 0, randomCrossoverPoint);
    System.arraycopy(parentChromosomeBDetails.chromosomePlayerIDs, randomCrossoverPoint, childChromosomeCDetails.chromosomePlayerIDs, randomCrossoverPoint, (childChromosomeCDetails.chromosomePlayerIDs.length-randomCrossoverPoint));
                        However it gives me this error, relating to the first arraycopy method: Exception in thread "main" java.lang.NullPointerException
         at java.lang.System.arraycopy(Native Method)Please note that in this program, parentChromosomeADetails and parentChromosomeBDetails already hold data when I try to use the arraycopy method, whereas the childChromosomeCDetails and childChromosomeDDetails objects are empty, waiting for the data from the arraycopy methods. Any help would be immensely appreciated.

    it was learning very well yesterday, but that was before I introduced my customised class. I need my class as I need to be able to keep hold of all of the data, rather than just the chromosome points, so that I can see the exact strategy that the algorithm uses.
    It is indeed the child chromosome that is null, and I suppose that it because I had to initialise the int[] chromosomePoints, double[] chromosomePrices and int[] chromosomePlayerIDs as null. What is the best solution to this? using loops to initialise all values in the arrays as 0 before the arraycopy?!

  • Null pointer Exception with Custom EventQueue

    I created a simple class customEventQueue which is extended from EventQueue class and pushed it using
    Toolkit.getDefaultToolkit().getSystemEventQueue().push(customEventQueue);
    Now, whenever there are three modal dialogs on top of a frame and if I click on top dialog that closes all three dialog boxes, I get nullpointer exception in console. The custom event class does not have any method in it. It just extends from EventQueue.
    I checked it in different JRE and it happens only in JRE1.3.1.
    Has anybody tried the same thing with custom event queue? Any help is most welcome. Thanks...
    java.lang.NullPointerException
    at sun.awt.windows.WInputMethod.dispatchEvent(Unknown Source)
    at sun.awt.im.InputContext.dispatchEvent(Unknown Source)
    at sun.awt.im.InputMethodContext.dispatchEvent(Unknown Source)

    Hi Chandel me having the same problem
    java.lang.NullPointerException
    at sun.awt.windows.WInputMethod.dispatchEvent(Unknown Source)
    at sun.awt.im.InputContext.dispatchEvent(Unknown Source)
    at sun.awt.im.InputMethodContext.dispatchEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown
    Source)
    at
    java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Sour
    ce)
    at
    java.awt.DefaultKeyboardFocusManager.pumpApprovedKeyEvents(Unknown So
    urce)
    at
    java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Sour
    ce)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown
    Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.SequencedEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
    Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
    Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Th bigger problem is that i don't know what is causing this exception, cause the stack trace doesn't mention the line of code where the exception occurred.
    In earlier version of java we had pData null pointer exception. This bug manifests when the pull down menu doesn't fit completely into the frame's bounds and swing has to create a seaprate window for the pull-down.
    The problem is that WInputMethod caches a reference to peer and that that reference becomes stale when peer is destroyed and recreated.
    In this bug cached peer reference becomes stale as the Window for the menu is hidden (and its peer is destroyed) and shown again (with new peer this time).
    WInputMethod have a cached reference to the old peer but that old peer is not connected to the underlying native window used to display the menu.
    But it's been fixed. I want to know if our problem is in some way related to this pData bug.
    Thanx.

  • Oracle 10g JDev IDE 9.0.5.2 Null Pointer Exception while debugging

    Hi,
    In windows XP m/c, I am facing following Null Pointer
    Exception while debugging basic Java application through
    10g JDev 9.0.5.2, and it failed in debugging that application...
    May I know, How to get it out of this problem..., am
    suspecting Is it related to any of my windows XP configuration?
    Here's the stack trace shown in the 10g JDev console while
    debugging simple java application..,
    java.lang.NullPointerException
    at javax.swing.border.EmptyBorder.<init>(EmptyBorder.java:54)
    at com.sun.java.swing.plaf.windows.WindowsTableHeaderUI$XPDefaultRendere
    r.getTableCellRendererComponent(WindowsTableHeaderUI.java:63)
    at oracle.jdevimpl.runner.debug.ThreadsPanel$3.getTableCellRendererCompo
    nent(ThreadsPanel.java:306)
    at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderRenderer(BasicTabl
    eHeaderUI.java:394)
    at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderHeight(BasicTableH
    eaderUI.java:428)
    at javax.swing.plaf.basic.BasicTableHeaderUI.createHeaderSize(BasicTable
    HeaderUI.java:454)
    at javax.swing.plaf.basic.BasicTableHeaderUI.getPreferredSize(BasicTable
    HeaderUI.java:485)
    at javax.swing.JComponent.getPreferredSize(JComponent.java:1275)
    at oracle.jdevimpl.runner.debug.ThreadsPanel.threadsPanelSettingsChanged
    (ThreadsPanel.java:538)
    at oracle.jdevimpl.runner.debug.ThreadsWindow$AllThreadsPanel.threadsWin
    dowSettingsChanged(ThreadsWindow.java:408)
    at oracle.jdevimpl.runner.debug.ThreadsWindow.threadsWindowSettingsChang
    ed(ThreadsWindow.java:138)
    at oracle.jdevimpl.runner.debug.ThreadsWindow.<init>(ThreadsWindow.java:
    112)
    at oracle.jdevimpl.runner.debug.JDebugger.getThreadsWindow(JDebugger.jav
    a:3048)
    at oracle.jdevimpl.runner.debug.DebuggingProcess.selected(DebuggingProce
    ss.java:565)
    at oracle.ideimpl.runner.RunManager.viewSelectionChanged(RunManager.java
    :467)
    at oracle.ide.addin.AbstractView.fireViewSelectionChanged(AbstractView.j
    ava:484)
    at oracle.ideri.navigator.DefaultNavigatorWindow.fireViewSelectionChange
    d(DefaultNavigatorWindow.java:791)
    at oracle.ideri.navigator.DefaultNavigatorWindow$3.viewSelectionChanged(
    DefaultNavigatorWindow.java:1218)
    at oracle.ide.addin.AbstractView.fireViewSelectionChanged(AbstractView.j
    ava:484)
    at oracle.ideimpl.explorer.BaseTreeExplorer.actionPerformed(BaseTreeExpl
    orer.java:2077)
    at javax.swing.Timer.fireActionPerformed(Timer.java:271)
    at javax.swing.Timer$DoPostEvent.run(Timer.java:201)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh

    John,
    You mentioned "I closed the IDE so that the TopLink project would pick up the changes..."
    1. We need to find out why you needed to close the IDE? Was TopLink mapping editor not picking up your changes?
    2. I am sure you did not modified .java outside of Jdev, but in case if you did, let me know.
    3. After removing a superclass attribute, did you save all changes?
    4. We tried various combinations, but were unable to reproduce the project reopen issue that you mentioned was fixed by changing the ClassDescriptor.xml. It would be extremely helpful if you could either send us (anuj dot k dot jain at oracle dot com) a project that can reproduce this issue, or outline the exact steps.

  • XI Business scenario Null pointer exception

    Hi SDN,
    I am on NW2004s, with PI_Basis sp10, I am getting a Java.lang null pointer
    exception.
    Please guide me Step by step process on which service pack I have to be and what all patches of java should I apply / upgrade to fix this problem.
    Thanks in Advance,
    Regards,
    Sai.k.k

    Hi Konchada,
    Is this PI System newly installed?
    Let me know!
    Moreover have you imported <b>XI BASIS Component?</b>
    If it is newly installed, this problem is because you have not imported <b>XI BASIS Componen</b>t. You import the component through Integration Repository Environment.
    I think this will solve your issue
    Regards,
    Ramesh P
    Message was edited by:
            Ramesh P

  • Really frustrating Null Pointer Exception

    Hi I had the day off and was bored so I decided to start work on a poker game. Today I just started making a deck of cards and drawing a random card from it. However it isn't working as I get a very annoying null pointer exception which I don't understand. Anyway I will post my code:
    public class DeckOfCards
         public static void main(String args[])
              Deck daDeck = new Deck();
              Card[] drawnCards = new Card[10];
              for (int i=0; i < 10; ++i)
                   drawnCards[i] = daDeck.DrawCard();
                   System.out.println(drawnCards.getTitle());
    import java.util.*;
    public class Deck
         Suit Hearts;
         Suit Diamonds;
         Suit Spades;
         Suit Clubs;
         public void Deck()
              Hearts = new Suit("Hearts");
              Diamonds = new Suit("Diamonds");
              Spades = new Suit("Spades");
              Clubs = new Suit("Clubs");
         public Card DrawCard()
              System.out.println("Drawing card...");
              Random generator = new Random();
              Card card = null;
              System.out.println("Card variable inited");
              while (card == null)
                   System.out.println("Bleep");
                   switch (generator.nextInt(4))
                        case 0:
                             System.out.println("0");
                             return Hearts.getAvailableCard();
                        case 1:
                             System.out.println("1");
                             return Diamonds.getAvailableCard();
                        case 2:
                             System.out.println("2");
                             return Spades.getAvailableCard();
                        case 3:
                             System.out.println("3");
                             return Clubs.getAvailableCard();
                        default:
                             System.out.println("none");                    
              System.out.println("Exited while loop");
              return card;
    import java.util.*;
    public class Suit
         Card[] cards = new Card[13];
         public Suit(String suit_)
              cards[0] = new Card("Two", suit_);
              cards[1] = new Card("Three", suit_);
              cards[2] = new Card("Four", suit_);
              cards[3] = new Card("Five", suit_);
              cards[4] = new Card("Six", suit_);
              cards[5] = new Card("Seven", suit_);
              cards[6] = new Card("Eight", suit_);
              cards[7] = new Card("Nine", suit_);
              cards[8] = new Card("Ten", suit_);
              cards[9] = new Card("Jack", suit_);
              cards[10] = new Card("Queen", suit_);
              cards[11] = new Card("King", suit_);
              cards[12] = new Card("Ace", suit_);
         public Card getAvailableCard()
              System.out.println("Getting an available card...");
              Random generator = new Random();
              Card card = new Card();
              int randomNo = generator.nextInt(13);
              System.out.println(randomNo);
              if (cards[randomNo].isAvailable())
                   return cards[randomNo];
              return card;
    public class Card
         String strValue;
         String suitName;
         int value;
         int suit;
         boolean available = true;
         public Card()
              strValue = "Out";
              suitName = "cards";
         public Card(String strValue_, String suitName_)
              strValue = strValue_;
              suitName = suitName_;
         public String getTitle()
              String title = strValue + " of " + suitName;
              return title;
         public void setAvailable(boolean available_)
              available = available_;
         public boolean isAvailable()
              return available;
    What the program is meant to do is create a deck of cards, then pick ten cards, randomly picking a suit and card in that suit. If the card has already been drawn ( not available ) then the DrawCard() method should repick a suit and card and try again. The program may be doing something differently to what I have said and may be a bit messy just because I have messed around with things trying to understand why I am getting the exception. This is the exception:
    Exception in thread "main" java.lang.NullPointerException
    at Deck.DrawCard(Deck.java:34)
    at DeckOfCards.main(DeckOfCards.java:13)
    The program doesn't even make it to the first line of the getAvailableCard() method in the Suit Class.
    So all I am asking is can anyone see why I am getting the null pointer exception and what action could I take to fix it. Thankyou to anyone who has read this.

    Figure out what's null.
    Print out cards and then cards[randomNo].
    If those aren't null, then you need to look more closely at the erorr message and put in print statements to find out what is.
    Whatever turns out to be null, you'll need to trace back and figure out why.
    If it's the array, and the array is a member variable, then you need to know that reference member variables are initilaized to null.
    If the array isn't null (because you did cards = new Card[something]) but cards[randomNo] is null, then it's because you didn't do this: for (int ix = 0; ix < cards.length; ix++) {
        cards[ix] = new Card(...);
    }

Maybe you are looking for