----- Original Message -----
From: [EMAIL PROTECTED]
Sent: Thursday, July 12, 2001 5:54 PM
To: Discussion list for Java 3D API
Subject: JVM crashes when textures are loaded????
 
JVM occasionally crashes with the error message below.  The JVM crashes about one time out of ten executions.  I place a snippet of code below, hopping someone could give me a clue.
 
- I have have the latest drivers.
- I am using the OpenGL version of Java3D.
- It does not appear to be a memory leak.
- All the files are present.
- The program do not crash on every execution.
 
 
What is all this stuff below I am not using any of it?
 
Michael Carter
 
 
 
---------------
java.lang.NullPointerException
 at javax.media.j3d.RenderMolecule.addRenderAtom(RenderMolecule.java:1088)
 at javax.media.j3d.RenderBin.findRenderMolecule(RenderBin.java:3449)
 at javax.media.j3d.RenderBin.reInsertRenderAtom(RenderBin.java:2957)
 at javax.media.j3d.RenderBin.reInsertTextureBin(RenderBin.java:2951)
 at javax.media.j3d.RenderBin.reInsertAttributeBin(RenderBin.java:2943)
 at javax.media.j3d.RenderBin.processShapeChanged(RenderBin.java:1629)
 at javax.media.j3d.RenderBin.processMessages(RenderBin.java:1060)
 
 
 
 
// code where I believe the error is:
 
    void getTextures()
   {
     System.out.println("attempt to load texture from file: " + "sky.jpg" );
    tex = new TextureLoader("sky.jpg",
                     new String("RGB"), this);
 
        textureAppear = new Appearance[5] ;
         String[] filename = new String[6] ;
         filename[0] = new String("computer.jpg") ;
         filename[1] = new String("circuit2.jpg") ;
         filename[2] = new String("wall.jpg") ;
         filename[3] = new String("wall2.jpg") ;
         filename[4] = new String("floor.jpg") ;
         for( int i = 0; i < 5; i++)
         {
            System.out.println("attempt to load texture from file: "+filename[i]);
            TextureLoader loader = new TextureLoader(filename[i], this);
            ImageComponent2D image = loader.getImage();
            if(image == null)
               System.out.println("load failed for texture: "+filename[i]) ;
            Texture2D texture = new Texture2D(Texture.BASE_LEVEL, Texture.RGBA,
                                      image.getWidth(), image.getHeight()) ;
            texture.setImage(0, image);
            texture.setEnable(true);
            texture.setMagFilter(Texture.BASE_LEVEL_LINEAR);
            texture.setMinFilter(Texture.BASE_LEVEL_LINEAR);
            textureAppear[i] = new Appearance() ;
            textureAppear[i].setTexture(texture) ;
      }
   }

Reply via email to