OutOfMemory while updating Maven remote indices

After importing my maven projects into idea 9 some dependencies in the pom were marked with errors because they weren't found in the local maven repository.
I checked the maven respository preferences and saw that the remote repository (company internal nexus) wasn't updated yet. So i hit the update button but then only a error was reported.

The log file stated this:
2009-12-30 21:06:30,015 [  37250]   INFO -      #org.jetbrains.idea.maven - Failed to update Maven indices for: [central] http://my.company.internal.nexus/nexus/content/groups/public

java.io.IOException: Map failed
    at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:758)
    at sun.nio.ch.FileChannelImpl.transferToTrustedChannel(FileChannelImpl.java:447)
    at sun.nio.ch.FileChannelImpl.transferTo(FileChannelImpl.java:520)
    at com.intellij.openapi.util.io.FileUtil.performCopy(FileUtil.java:537)
    at com.intellij.openapi.util.io.FileUtil.copy(FileUtil.java:500)
    at com.intellij.openapi.util.io.FileUtil.copyDir(FileUtil.java:591)
    at com.intellij.openapi.util.io.FileUtil.copyDir(FileUtil.java:571)
    at org.jetbrains.idea.maven.indices.MavenIndex.updateData(MavenIndex.java:377)
    at org.jetbrains.idea.maven.indices.MavenIndex.updateOrRepair(MavenIndex.java:298)
    at org.jetbrains.idea.maven.indices.MavenIndices.updateOrRepair(MavenIndices.java:144)
    at org.jetbrains.idea.maven.indices.MavenIndicesManager.doUpdateIndices(MavenIndicesManager.java:277)
    at org.jetbrains.idea.maven.indices.MavenIndicesManager.access$200(MavenIndicesManager.java:55)
    at org.jetbrains.idea.maven.indices.MavenIndicesManager$3.run(MavenIndicesManager.java:239)
    at com.intellij.openapi.progress.BackgroundTaskQueue$1.run(BackgroundTaskQueue.java:59)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:422)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:197)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:222)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:188)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:337)
    at com.intellij.openapi.application.impl.ApplicationImpl$5.run(ApplicationImpl.java:328)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:124)
Caused by: java.lang.OutOfMemoryError: Map failed
    at sun.nio.ch.FileChannelImpl.map0(Native Method)
    at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:755)
    ... 26 more


The original idea.exe.vmargs looks like this:

-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-ea

After some tries i found a way to update the index with following vmargs:

-Xms128m
-Xmx256m
-XX:MaxPermSize=512m
-ea
-server



Now the question:
is this normal? Does this have to be like this?
I like the idea maven integration but its kinda useless to have a pom completion if the maven repository can't be indexed and thus every artifact thats not in the local repository can't be resolved.


Maybe there is a way to fix this?!

Regards
Stefan Weber

1 comment

Please sign in to leave a comment.