Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

AIX 5.1 OutOfMemoryError

Status
Not open for further replies.

frlai

Programmer
Apr 22, 2002
5
US


I was trying to start up a gui client on a AIX 5.1 ( 5100-01 ) machine. It hangs after the first window appears. I've pasted the error log below.

This happens when I run it with both jdk1.2.2 and jdk1.3. However there were no such problem on another AIX 5.1 machine, as well as 4.3.3
machines

I've tried to adjust ms and mx in the startup script but that didn't help either ( originally we set -ms4m -mx92m, and had no problems on the other machines )

is this some kind of gui/awt configuration problem on this particular 5.1 machine? or something else ?

thanks for your time

----------------------------------------------------------------------------------------------------------------------------

Exception in thread "main" java.lang.OutOfMemoryError
at java.lang.Thread.start(Native Method)
at sun.awt.image.ImageFetcher$1.run(ImageFetcher.java:101)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.image.ImageFetcher.add(ImageFetcher.java:94)
at sun.awt.image.InputStreamImageSource.startProduction(InputStreamImageSource.java:15
at sun.awt.image.InputStreamImageSource.addConsumer(InputStreamImageSource.java:115)
at sun.awt.image.InputStreamImageSource.startProduction(InputStreamImageSource.java:15
at sun.awt.image.ImageRepresentation.startProduction(ImageRepresentation.java:602)
at sun.awt.image.ImageRepresentation.prepare(ImageRepresentation.java:640)
at sun.awt.motif.MToolkit.prepareScrImage(MToolkit.java:299)
at sun.awt.motif.MToolkit.prepareImage(MToolkit.java:323)
at java.awt.Component.prepareImage(Component.java:2150)
at java.awt.ImageMediaEntry.startLoad(MediaTracker.java:893)
at java.awt.MediaEntry.getStatus(MediaTracker.java:843)
at java.awt.ImageMediaEntry.getStatus(MediaTracker.java:889)
at java.awt.MediaTracker.statusAll(MediaTracker.java:441)
at java.awt.MediaTracker.waitForAll(MediaTracker.java:393)
at java.awt.MediaTracker.waitForAll(MediaTracker.java:363)


 
You are saying the two machines have the same memory and paging size? Make sure paging is active, etc, etc.
 
java -?
and
java -X
shows options available for your java VM
java -showversion displays true version of your java VM and JIT

ulimit -a
shows limits imposed by AIX 5.1L operating system

could be one of mentioned classes fail and mesage OutOfMemory is false - like missing audio lib,different classpath etc etc
 
thanks to all for replying

yes memory and paging is the same on both machines, and paging is active ( 4096MB with 6~7% used )

i did a `ulimit -a` on the 2 5.1 machines and they BOTH showed :

time(seconds) unlimited
file(blocks) 2097151
data(kbytes) 131072
stack(kbytes) 32768
memory(kbytes) 32768
coredump(blocks) 2097151
nofiles(descriptors) 2000

i even traced vmstat during the launch of the application and there seems to be plenty of mem available when it hanged somewhere between the 3rd and 7th line

kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 0 54797 37187 0 0 0 0 0 0 333 4283 585 6 3 91 0
1 0 57677 34307 0 0 0 0 0 0 341 20506 630 44 9 47 0
1 0 60146 31838 0 0 0 0 0 0 394 6255 736 40 3 57 0
0 0 60156 31827 0 0 0 0 0 0 580 5056 1287 10 3 87 0
0 0 60156 31827 0 0 0 0 0 0 312 2581 529 0 0 99 0
0 0 60156 31827 0 0 0 0 0 0 301 2502 534 0 1 99 0
0 0 60159 31824 0 0 0 0 0 0 324 4029 553 2 2 96 0

i doubt it's a path issue because the client i'm running comes within an install that has its own jdk and libraries, all the lib and class paths are relative to the installation directory, so they should be the same on both machines

=(
 
at java.security.AccessController.doPrivileged(Native Method)

reminds of file access permissions
 
Hello frlai,

1) What kind of GUI you are trying to start.
2) The CDE does not have anything to do with JAVA code at all.
3) Are you trying to use websm.
4) the error has to do with java code.
5) make sure non of the file system is full.
6) is the file system large file enabled.
7) are you using jfs or jfs2.
8) There was a issue with AIX 433 where inode structure was full and you get this out of memory message.
9) IBM had apar for this. you unmount the file system and mount the file system with
- mind option.
10) the mind option would extend the inode structure if it is full.
 
gheist : i was logged in as root and also did a chmod `-R 777 *` at the root of the installation

avadh :

1) it's a management utility, when i launch it, the logo of the manufacture ( who shall remain nameless ~_~ ) appears on the screen, and then it just hangs there

3) no we're not

4) but it works well on the other machines, that's the mind boggling part

5) they are plenty of free space

6) no it is not, but we have it as false on the other machines too

7) we're using jfs

8) this may be a stupid question but how do i supply the "- mind option" ? i didn't have an success
# mount -mind /test
mount: Not a recognized flag: m
Usage: mount [-fipr] [-n Node] [-o Options] [-t Type] [-{v|V} Vfs]
[-a | all | [[Node:]Device] [Directory]]

thanks all !
 
a question was - is your java all right ie - what is the outpot of
java -showversion

that should be a line showing version of your JIT, not OutOfMemory (Native method)

Java gas 2 main versions 1.1 and down (Bytecode V1) and 1.2 and up (Bytecode V2), thus a virtual machine 1.2 can run 1.4 applet assuming CLASSLIBPATH (or whatever) contains 1.4 system classes

if you need to mount with some option the command would be

"-o mind" not "-mind"
 

hi again

it didn't have -showverion, so i tried `java -version` instead :

# ./java -version
java version "1.2.2"
Classic VM (J2RE 1.2.2 IBM build ca122-20000607b (JIT enabled: jitc))

i tried remounting the file sys with "-o mind", but that wasn't of any help

=(
 
Hello,
The problem is in java code. either the path or the way the 3rd party software is making use of java.
what output do you get for lscons.
is your console CDE or ASCII.
Are you trying to bring this up on a console.
other thing that you can try is vi /etc/security
and set data,rss,stack -1.

 
hi avadh

lscons shows "dev/lft0"

yes i was trying to bring it up on a cde console the same way i did on the other machines

i've trying setting data,rss,stack all to -1, so now
# ulimit -a
time(seconds) unlimited
file(blocks) 2097151
data(kbytes) unlimited
stack(kbytes) unlimited
memory(kbytes) unlimited
coredump(blocks) 2097151
nofiles(descriptors) 2000

-------------------------------------------------

actually i tried starting it with java's -verbose option, and it shows that the error occured when it was trying to load a class from rt.lib :

.......
[Loading superclasses of sun/awt/image/ImageFetcher]
[Preparing sun/awt/image/ImageFetcher]
[Loaded sun.awt.image.FetcherInfo from /work2/AIX/41026test/jdk/jdk1.2.2/jre/lib/rt.jar]
[Loading superclasses of sun/awt/image/FetcherInfo]
[Preparing sun/awt/image/FetcherInfo]
[Initializing sun/awt/image/FetcherInfo]
[Running static initializer for sun/awt/image/FetcherInfo]
[Loaded sun.awt.image.ImageFetcher$1 from /work2/AIX/41026test/jdk/jdk1.2.2/jre/lib/rt.jar]
[Loading superclasses of sun/awt/image/ImageFetcher$1]
[Preparing sun/awt/image/ImageFetcher$1]
[Signaling in VM: java/lang/OutOfMemoryError, message: ]
at java.lang.Thread.start(Native Method)
at sun.awt.image.ImageFetcher$1.run(ImageFetcher.java:101)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.image.ImageFetcher.add(ImageFetcher.java:94)
at sun.awt.image.InputStreamImageSource.startProduction(InputStreamImageSource.java:158)
at sun.awt.image.InputStreamImageSource.addConsumer(InputStreamImageSource.java:115)
at sun.awt.image.InputStreamImageSource.startProduction(InputStreamImageSource.java:153)
at sun.awt.image.ImageRepresentation.startProduction(ImageRepresentation.java:606)
at sun.awt.image.ImageRepresentation.prepare(ImageRepresentation.java:644)
at sun.awt.motif.MToolkit.prepareScrImage(MToolkit.java:299)
at sun.awt.motif.MToolkit.prepareImage(MToolkit.java:323)
at java.awt.Component.prepareImage(Component.java:2171)
at java.awt.ImageMediaEntry.startLoad(MediaTracker.java:893)
at java.awt.MediaEntry.getStatus(MediaTracker.java:843)
at java.awt.ImageMediaEntry.getStatus(MediaTracker.java:889)
at java.awt.MediaTracker.statusAll(MediaTracker.java:441)
at java.awt.MediaTracker.waitForAll(MediaTracker.java:393)
at java.awt.MediaTracker.waitForAll(MediaTracker.java:363)
at sybase.scf.util.SCToolkit.loadImage(SCToolkit.java)
at sybase.scf.jviewer.ScjTreeView.<init>(ScjTreeView.java)
at sybase.scf.jviewer.ScjMainPanel.<init>(ScjMainPanel.java)
at sybase.scf.jviewer.ScjViewer.<init>(ScjViewer.java)
at sybase.scf.controller.MainController.run(MainController.java)
at sybase.scf.controller.MainController.main(MainController.java)
Exception in thread &quot;main&quot; java.lang.OutOfMemoryError[Loaded sun.io.UnknownCharacterException from /work2/AIX/41026test/jdk/jdk1.2.2/jre/lib/rt.jar]
[Loading superclasses of sun/io/UnknownCharacterException]
[Preparing sun/io/UnknownCharacterException]
[Loaded sun.io.MalformedInputException from /work2/AIX/41026test/jdk/jdk1.2.2/jre/lib/rt.jar]
[Loading superclasses of sun/io/MalformedInputException]
[Preparing sun/io/MalformedInputException]

at java.lang.Thread.start(Native Method)
at sun.awt.image.ImageFetcher$1.run(ImageFetcher.java:101)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.image.ImageFetcher.add(ImageFetcher.java:94)
at sun.awt.image.InputStreamImageSource.startProduction(InputStreamImageSource.java:158)
at sun.awt.image.InputStreamImageSource.addConsumer(InputStreamImageSource.java:115)
at sun.awt.image.InputStreamImageSource.startProduction(InputStreamImageSource.java:153)
at sun.awt.image.ImageRepresentation.startProduction(ImageRepresentation.java:606)
at sun.awt.image.ImageRepresentation.prepare(ImageRepresentation.java:644)
at sun.awt.motif.MToolkit.prepareScrImage(MToolkit.java:299)
at sun.awt.motif.MToolkit.prepareImage(MToolkit.java:323)
at java.awt.Component.prepareImage(Component.java:2171)
at java.awt.ImageMediaEntry.startLoad(MediaTracker.java:893)
at java.awt.MediaEntry.getStatus(MediaTracker.java:843)
at java.awt.ImageMediaEntry.getStatus(MediaTracker.java:889)
at java.awt.MediaTracker.statusAll(MediaTracker.java:441)
at java.awt.MediaTracker.waitForAll(MediaTracker.java:393)
at java.awt.MediaTracker.waitForAll(MediaTracker.java:363)
at sybase.scf.util.SCToolkit.loadImage(SCToolkit.java)
at sybase.scf.jviewer.ScjTreeView.<init>(ScjTreeView.java)
at sybase.scf.jviewer.ScjMainPanel.<init>(ScjMainPanel.java)
at sybase.scf.jviewer.ScjViewer.<init>(ScjViewer.java)
at sybase.scf.controller.MainController.run(MainController.java)
at sybase.scf.controller.MainController.main(MainController.java)
 
Hello,
It seems the problem is in the java code. You have this SUN AWT getting loaded.
This SUN java should not be loading. Problem with some java class files.

The IBM JAVA would say IBM in the java error. You are some how getting this Sun AWT class. I had seen this kind of error in the past. The problem in the past was the fileset and path, right now I do not remember how it was fixed .
You may have to remove the java from the system and reinstall it. See if SYBASE is by any chance instaling SUN JAVA on the system.

Sorry i do not have solution for your problem.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top