Source point(s) [0, 1, 2, 3, 4, ..., n] out of bounds


#22

Hi @timothy.

I found an alternative to VisualVM to determine the Java settings used in the docker container. From a bash terminal inside the ors-app container, do the following to view the Java settings used:

root@a485cee420ed:/ors-core# java -XX:+PrintFlagsFinal -version | grep 'MetaspaceSize\|HeapSize\|ThreadStackSize'
     intx CompilerThreadStackSize                   = 0                                   {pd product}
    uintx ErgoHeapSizeLimit                         = 0                                   {product}
    uintx HeapSizePerGCThread                       = 87241520                            {product}
    uintx InitialBootClassLoaderMetaspaceSize       = 4194304                             {product}
    uintx InitialHeapSize                          := 1056964608                          {product}
    uintx LargePageHeapSizeThreshold                = 134217728                           {product}
    uintx MaxHeapSize                              := 16884170752                         {product}
    uintx MaxMetaspaceSize                          = 18446744073709547520                    {product}
    uintx MetaspaceSize                             = 21807104                            {pd product}
     intx ThreadStackSize                           = 1024                                {pd product}
     intx VMThreadStackSize                         = 1024                                {pd product}
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

Next, my JAVA_OPTS settings from the docker-compose.yml file:

- JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=4 -Xms320G -Xmx60G -Xss3G -XX:MetaspaceSize=512 -verbose:gc

I think that my JAVA_OPTS are not being used. Please correct me if I’m wrong, as I’m not well versed in Java :frowning:.

Any suggestion is always welcomed.
Best regards.


#23

@ryuzakyl can you try setting in manually please?

https://javatutorial.net/java-increase-memory


#24

Hi @timothy.

I apologize for the delay.

I wasn’t able to manually update my java settings inside the container. I read from the url you recommended, but had no luck. I’m afraid I’m just a beginner using Java and Docker.

I could see that the JAVA_OPTS env variable was correctly set inside the container, but I have no clue on how to update such settings (-Xms, -Xmx, etc.) inside the container already running.

Any advice?
Thank you in advance.


#25

Hi @ryuzakyl - I don’t know what’s going on here, sorry. Those instructions above should work.

The largest *.osm.pbf file to work was ~2.9G with only one active profile, vehicles-car .

I’m guess this was Germany.pbf ? This works with vehicles-car but using north-america-latest.osm.pbf does not work, correct?

What kind of AWS box was this running on?


#26

Hi @timothy, @nils.

I apologize for not being able to reply sooner.

I finally managed to “index/analyze” the whole north-america-latest.osm.pbf file. I had to upgrade my AWS box up to m4.10xlarge.

I think the issue was related to the Docker container’s JVM configuration. Maybe the container was just using only a part of the AWS box’s RAM. While monitoring with htop, I never saw RAM consumption go over 32 GB.

Thank you very much for all your help.
Best regards.