Description of problem: The value passed to -mx is not big enough for gij, which fails with garbage collector out-of-memory errors. Version-Release number of selected component (if applicable): 1.0.2 How reproducible: Every time. Steps to Reproduce: 1. Ensure java-gcj-compat is your currently selected java alternative. 2. Run startconsole. Actual results: gij fails to load the directory console and prints the following warning: GC Warning: Out of Memory! Returning NIL! Expected results: gij loads the directory console successfully. Additional info: On the fedora-directory-devel list Richard asked: 1) Is there a reliable way to tell the memory capabilities of a JVM? No, not prior to running the JVM and not without profiling it. 2) Do we still need to use those options on 1.4.2 or later JVMs? No, no 1.4.2 JVM should require setting the -ms nor the -mx option. Which FDS-supported JVMs require these options? I think these JVMs should be tested for and the -ms and -mx options used only on them.
We've been using these options for a long, long time. We probably have memory leak issues in the console that cause the jvm to run OOM when running for a long time (a couple of days), so I don't know if these options were added to help with that situation. I would rather just get rid of them if we don't need them anymore.
I've seen the same problem on FC5. I was able to workaround this just by changing to -ms= and -mx= - the gij options seem to require a = before the value.
(In reply to comment #1) > We've been using these options for a long, long time. We probably have memory > leak issues in the console that cause the jvm to run OOM when running for a long > time (a couple of days), so I don't know if these options were added to help > with that situation. I would rather just get rid of them if we don't need them > anymore. Any progress on this?
> Any progress on this? Not yet. We have some time scheduled early next year for console issues, as part of the RH DirSvr 7.2 work.
Just a note - the Fedora DS console will simply not work with gcj, and probably will never work with gcj. Anyone who wants to use it will have to use a proprietary jvm, or wait for icedtea/openjdk.
These diffs remove the -ms and -mx options from the fedora-idm-console start script. Index: fedora-idm-console =================================================================== RCS file: /cvs/dirsec/fedora-idm-console/fedora-idm-console,v retrieving revision 1.1.1.1 diff -u -5 -t -r1.1.1.1 fedora-idm-console --- fedora-idm-console 1 Aug 2007 23:08:51 -0000 1.1.1.1 +++ fedora-idm-console 17 Oct 2007 18:39:08 -0000 @@ -29,6 +29,6 @@ CLASSDEST=@classdest@ # # Launch the Console # -java -ms8m -mx64m -cp @jssjar@:@ldapjdkjar@:$CLASSDEST/@basejar@:$CLASSDEST/@mccjar@:$CLASSDEST/@mcclangjar@:$CLASSDEST/@nmclfjar@:$CLASSDEST/@nmclflangjar@:$CLASSDEST/@themejar@ -Djava.library.path=@libdir@ -Djava.util.prefs.systemRoot="$HOME/.@prefsdir@" -Djava.util.prefs.userRoot="$HOME/.@prefsdir@" com.netscape.management.client.console.Console $* +java -cp @jssjar@:@ldapjdkjar@:$CLASSDEST/@basejar@:$CLASSDEST/@mccjar@:$CLASSDEST/@mcclangjar@:$CLASSDEST/@nmclfjar@:$CLASSDEST/@nmclflangjar@:$CLASSDEST/@themejar@ -Djava.library.path=@libdir@ -Djava.util.prefs.systemRoot="$HOME/.@prefsdir@" -Djava.util.prefs.userRoot="$HOME/.@prefsdir@" com.netscape.management.client.console.Console $*
Looks good.
Checked into fedora-idm-console (HEAD). Thanks to Noriko for her review! Checking in fedora-idm-console; /cvs/dirsec/fedora-idm-console/fedora-idm-console,v <-- fedora-idm-console new revision: 1.2; previous revision: 1.1 done