You won't believe this. The same error I used to get before I re-installed Ubuntu. I have Sun JDK btw & 8gb swap

I have no clue which memory is running short.
Code:
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/content/EventLogTags.java <= frameworks/base/core/java/android/content/EventLogTags.logtags
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/speech/tts/EventLogTags.java <= frameworks/base/core/java/android/speech/tts/EventLogTags.logtags
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/webkit/EventLogTags.java <= frameworks/base/core/java/android/webkit/EventLogTags.logtags
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/telephony/java/com/android/internal/telephony/EventLogTags.java <= frameworks/base/telephony/java/com/android/internal/telephony/EventLogTags.logtags
target Java: bouncycastle (out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
host Prebuilt: jarjar (out/host/common/obj/JAVA_LIBRARIES/jarjar_intermediates/javalib.jar)
Install: out/host/linux-x86/framework/jarjar.jar
JarJar: out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/emma_out/lib/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/noproguard.classes.jar
target Dex: bouncycastle
Copying: out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/noproguard.classes.dex
target Jar: bouncycastle (out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/javalib.jar)
'out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.dex' as 'classes.dex'...
target Java: framework (out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Copying: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/emma_out/lib/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes.jar
target Dex: framework
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.TreeMap.put(TreeMap.java:554)
at com.android.dx.dex.file.StringIdsSection.intern(StringIdsSection.java:135)
at com.android.dx.dex.file.StringIdsSection.intern(StringIdsSection.java:112)
at com.android.dx.dex.file.MemberIdItem.addContents(MemberIdItem.java:56)
at com.android.dx.dex.file.MethodIdItem.addContents(MethodIdItem.java:43)
at com.android.dx.dex.file.UniformItemSection.prepare0(UniformItemSection.java:76)
at com.android.dx.dex.file.Section.prepare(Section.java:214)
at com.android.dx.dex.file.DexFile.toDex0(DexFile.java:506)
at com.android.dx.dex.file.DexFile.toDex(DexFile.java:216)
at com.android.dx.command.dexer.Main.writeDex(Main.java:574)
at com.android.dx.command.dexer.Main.run(Main.java:218)
at com.android.dx.command.dexer.Main.main(Main.java:174)
at com.android.dx.command.Main.main(Main.java:95)
make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex] Error 3
vamshi@ubuntu:~/android/system$