Custom file : ors-app exited with code 137

Hey,

Thanks for this amazing project !

The sample data works perfectly (i installed it with docker compose up method).
I would like to fetch elevations and directions data from France (hiking). So i downloaded the pbf file from Geofabrik : https://download.geofabrik.de/europe/france-latest.osm.pbf

The problem is the following :

ors-app    | 14-Mar-2023 17:11:21.056 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
ors-app    | 14-Mar-2023 17:11:21.064 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 6206 ms
ors-app    | 14 Mar 17:11:21 INFO [extensions.ORSGraphHopper] - version 4.0|2023-03-03T11:19:19Z (7,20,5,4,5,7)
ors-app    | 14 Mar 17:11:21 INFO [extensions.ORSGraphHopper] - graph hiking_ors|RAM_STORE|3D|turn_cost|,,,,, details:edges:0(0MB), nodes:0(0MB), name:(0MB), geo:0(0MB), bounds:1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308
ors-app    | 14 Mar 17:11:21 INFO [extensions.ORSGraphHopper] - No custom areas are used, custom_areas.directory not given
ors-app    | 14 Mar 17:11:21 INFO [extensions.ORSGraphHopper] - start creating graph from /home/ors/ors-core/data/osm_file.pbf
ors-app    | 14 Mar 17:11:21 INFO [extensions.ORSGraphHopper] - using hiking_ors|RAM_STORE|3D|turn_cost|,,,,, memory:totalMB:1476, usedMB:149
ors-app    | 14 Mar 17:16:10 INFO [extensions.ORSGraphHopper] - call cleanUp for '/home/ors/ors-core/data/graphs/hiking' 
ors-app    | 14 Mar 17:16:10 INFO [extensions.ORSGraphHopper] - graph hiking_ors|RAM_STORE|3D|turn_cost|7,20,5,4,5, details:edges:17 646 026(606MB), nodes:13 698 988(262MB), name:(61MB), geo:141 644 152(541MB), bounds:-8.3230415,14.25475,35.2703341,53.3449967,0.0,0.0
ors-app    | 14 Mar 17:16:10 INFO [extensions.ORSGraphHopper] - will create PrepareRoutingSubnetworks with:
ors-app    | 	NodeCountBefore: '13698988'
ors-app    | 	getAllEdges().getMaxId(): '17646026'
ors-app    | 	List<FlagEncoder>: '[hiking_ors]'
ors-app    | 	minNetworkSize: '200'
ors-app    | 	minOneWayNetworkSize: '200'
ors-app    | 14 Mar 17:16:41 INFO [extensions.ORSGraphHopper] - nodes: 13 698 988, edges: 17 646 026
ors-app    | 14 Mar 17:16:43 INFO [extensions.ORSGraphHopper] - Bridge interpolation 0s, tunnel interpolation 0s, ferry interpolation 0s
ors-app exited with code 137

I got this error exited with code 137 at the same time.

I tried to increase my docker memory limit to 16GB and i put the Xmx to 13g but that did not solve my problem.

I tried with Belgium and a specific region in France the service works perfectly. Do you have an idea about this problem ?

Thanks a million,

Hey,

after looking through error codes for a bit, I think this is still related to OOM errors. 137 corresponds to SIGKILL, which in my opinion might only stem from the OOM-killer.

France is ~4GB in size, so if you’re trying to build all 9 profiles, 13GB of RAM might indeed be too few. Remember, we recommend roughly twice the PBF-size in RAM per profile (for building at least, for running, this reduces quite a bit.).

If you need all 9 profiles, try with a smaller pbf or with more RAM.
If not, delete all not needed profiles from the active: […]-section.

Best regards

Thanks for your reply!

I had only one profile into the active array “hiking”. I’m also trying to increase the RAM parameter.

Unfortunately, I still have the same problem :face_exhaling:

Here’s my ors-config.json file :

{
  "ors": {
    "info": {
      "base_url": "https://openrouteservice.org/",
      "swagger_documentation_url": "https://api.openrouteservice.org/",
      "support_mail": "support@openrouteservice.org",
      "author_tag": "openrouteservice",
      "content_licence": "LGPL 3.0"
    },
    "services": {
      "matrix": {
        "enabled": true,
        "maximum_routes": 100,
        "maximum_routes_flexible": 25,
        "maximum_search_radius": 5000,
        "maximum_visited_nodes": 100000,
        "allow_resolve_locations": true,
        "attribution": "openrouteservice.org, OpenStreetMap contributors"
      },
      "isochrones": {
        "enabled": true,
        "maximum_range_distance": [
          {
            "profiles": "any",
            "value": 50000
          },
          {
            "profiles": "driving-car, driving-hgv",
            "value": 100000
          }
        ],
        "maximum_range_time": [
          {
            "profiles": "any",
            "value": 18000
          },
          {
            "profiles": "driving-car, driving-hgv",
            "value": 3600
          }
        ],
        "fastisochrones": {
          "maximum_range_distance": [
            {
              "profiles": "any",
              "value": 50000
            },
            {
              "profiles": "driving-car, driving-hgv",
              "value": 500000
            }
          ],
          "maximum_range_time": [
            {
              "profiles": "any",
              "value": 18000
            },
            {
              "profiles": "driving-car, driving-hgv",
              "value": 10800
            }
          ],
          "profiles": {
            "default_params": {
              "enabled": false,
              "threads": 12,
              "weightings": "recommended",
              "maxcellnodes": 5000
            },
            "hgv": {
              "enabled": false,
              "threads": 12,
              "weightings": "recommended, shortest",
              "maxcellnodes": 5000
            }
          }
        },
        "maximum_intervals": 10,
        "maximum_locations": 2,
        "allow_compute_area": true
      },
      "routing": {
        "enabled": true,
        "mode": "normal",
        "routing_description": "This is a routing file from openrouteservice",
        "routing_name": "openrouteservice routing",
        "sources": [
          "/home/ors/ors-core/data/osm_file.pbf"
        ],
        "init_threads": 2,
        "attribution": "openrouteservice.org, OpenStreetMap contributors",
        "elevation_preprocessed": false,
        "profiles": {
          "active": [
            "hiking"
          ],
          "default_params": {
            "encoder_flags_size": 8,
            "graphs_root_path": "graphs",
            "elevation_provider": "multi",
            "elevation_cache_path": "cgiar_provider",
            "elevation_cache_clear": false,
            "instructions": true,
            "maximum_distance": 100000,
            "maximum_distance_dynamic_weights": 100000,
            "maximum_distance_avoid_areas": 100000,
            "maximum_waypoints": 50,
            "maximum_snapping_radius": 400,
            "maximum_avoid_polygon_area": 200000000,
            "maximum_avoid_polygon_extent": 20000,
            "maximum_distance_alternative_routes": 100000,
            "maximum_alternative_routes": 3,
            "maximum_distance_round_trip_routes": 100000,
            "maximum_speed_lower_bound": 80,
            "preparation": {
              "min_network_size": 200,
              "min_one_way_network_size": 200,
              "methods": {
                "lm": {
                  "enabled": true,
                  "threads": 1,
                  "weightings": "recommended,shortest",
                  "landmarks": 16
                }
              }
            },
            "execution": {
              "methods": {
                "lm": {
                  "active_landmarks": 8
                }
              }
            }
          },
          "profile-car": {
            "profiles": "driving-car",
            "parameters": {
              "encoder_flags_size": 8,
              "encoder_options": "turn_costs=true|block_fords=false|use_acceleration=true",
              "maximum_distance": 100000,
              "elevation": true,
              "maximum_snapping_radius": 350,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,
                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest"
                  },
                  "lm": {
                    "enabled": false,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 16
                  },
                  "core": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 64,
                    "lmsets": "highways;allow_all"
                  }
                }
              },
              "execution": {
                "methods": {
                  "lm": {
                    "active_landmarks": 6
                  },
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }
                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {},
                "WaySurfaceType": {},
                "RoadAccessRestrictions": {
                  "use_for_warnings": true
                }
              }
            }
          },
          "profile-hgv": {
            "profiles": "driving-hgv",
            "parameters": {
              "encoder_flags_size": 8,
              "encoder_options": "turn_costs=true|block_fords=false|use_acceleration=true",
              "maximum_distance": 100000,
              "elevation": true,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,
                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "recommended"
                  },
                  "core": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "recommended,shortest",
                    "landmarks": 64,
                    "lmsets": "highways;allow_all"
                  }
                }
              },
              "execution": {
                "methods": {
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }
                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {
                  "restrictions": true
                },
                "WaySurfaceType": {}
              }
            }
          },
          "profile-bike-regular": {
            "profiles": "cycling-regular",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-mountain": {
            "profiles": "cycling-mountain",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-road": {
            "profiles": "cycling-road",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-electric": {
            "profiles": "cycling-electric",
            "parameters": {
              "encoder_options": "consider_elevation=true|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-walking": {
            "profiles": "foot-walking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-hiking": {
            "profiles": "foot-hiking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-wheelchair": {
            "profiles": "wheelchair",
            "parameters": {
              "encoder_options": "block_fords=true",
              "elevation": true,
              "maximum_snapping_radius": 50,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "Wheelchair": {
                  "KerbsOnCrossings": "true"
                },
                "OsmId": {}
              }
            }
          },
          "profile-public-transport": {
            "profiles": "public-transport",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": true,
              "maximum_visited_nodes": 1000000,
              "gtfs_file": "openrouteservice-api-tests/data/vrn_gtfs.zip"
            }
          }
        }
      }
    },
    "logging": {
      "enabled": true,
      "level_file": "DEBUG_LOGGING.json",
      "location": "/var/log/ors",
      "stdout": true
    },
    "system_message": [
      {
        "active": false,
        "text": "This message would be sent with every routing bike fastest request",
        "condition": {
          "request_service": "routing",
          "request_profile": "cycling-regular,cycling-mountain,cycling-road,cycling-electric",
          "request_preference": "fastest"
        }
      },
      {
        "active": false,
        "text": "This message would be sent with every request for geojson response",
        "condition": {
          "api_format": "geojson"
        }
      },
      {
        "active": false,
        "text": "This message would be sent with every request on API v1 from January 2020 until June 2050",
        "condition": {
          "api_version": 1,
          "time_after": "2020-01-01T00:00:00Z",
          "time_before": "2050-06-01T00:00:00Z"
        }
      },
      {
        "active": false,
        "text": "This message would be sent with every request"
      }
    ]
  }
}

And my docker-compose.yml file :

version: '2.4'
services:
  ors-app:
    container_name: ors-app
    ports:
      - "8080:8080"
      - "9001:9001"
    image: openrouteservice/openrouteservice:latest
    user: "${UID:-0}:${GID:-0}"
    build:
      context: ../
      args:
        ORS_CONFIG: ./openrouteservice/src/main/resources/ors-config-sample.json
        OSM_FILE: ./openrouteservice/src/main/files/france-latest.osm.pbf
    volumes:
      - ./graphs:/home/ors/ors-core/data/graphs
      - ./elevation_cache:/home/ors/ors-core/data/elevation_cache
      - ./logs/ors:/home/ors/ors-core/logs/ors
      - ./logs/tomcat:/home/ors/tomcat/logs
      - ./conf:/home/ors/ors-conf
      # - ./data/france-latest.pbf:/home/ors/ors-core/data/france-latest.pbf
    environment:
      - BUILD_GRAPHS=False  # Forces the container to rebuild the graphs, e.g. when PBF is changed
      - "JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms1g -Xmx16g"
      - "CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.rmi.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost"
    mem_limit: 16000m
    mem_reservation: 8000m

Thanks a million,

Hey,

this shouldn’t make a difference, but if you set -Xmx to 16G anyways, you could already start out with a bit more memory, i.e. -Xms=12G or something along those lines.

Apart from that, why is mounting the pbf commented in the docker-compose.yml?

If you’re getting belgium and parts of france to run and only show the hiking profile (to confirm that that’s the only one that’s being used), then I’m a bit confused as to why france wouldn’t work…

Could you confirm that belgium runs with just the hiking profile, and that it correctly builds and possibly re-builds graphs?

Best regards

Hey,

After a few hours of testing, I managed to build the graph for France! The problem was that my PC’s RAM was reached after a while. With Xmx9g, it worked!

Thanks man,

1 Like

Hi there,

I have the same problem. I’m using the germany-latest.osm.pbf file from geofabrik. Originally I wanted to use bike, car and walking. However graph building for car worked, but for the other two it exited with code 137.

My docker-compose.yml looks like this:

services:
  # ----------------- ORS application configuration ------------------- #
  ors-app:
    build:
      context: ./
    container_name: ors-app
    ports:
      - "8080:8082"  # Expose the ORS API on port 8080
      - "9001:9001"  # Expose additional port for monitoring (optional)
    image: openrouteservice/openrouteservice:v8.0.0
    volumes:  # Mount relative directories. ONLY for local container runtime. To switch to docker managed volumes see 'Docker Volumes configuration' section below.
      - ./ors-docker:/home/ors  
    environment:
      REBUILD_GRAPHS: False  # Set to True to rebuild graphs on container start.
      CONTAINER_LOG_LEVEL: DEBUG  

      # ------------------ JAVA OPTS ------------------ #entrypoint.sh
      XMS: 12g  # start RAM assigned to java
      XMX: 25g  # max RAM assigned to java. 
      ADDITIONAL_JAVA_OPTS: ""  # further options you want to pass to the java command

My ors-config.yml looks like this:

ors:
  endpoints:
    isochrones:
      enabled: true
      attribution: openrouteservice.org, OpenStreetMap contributors
      maximum_locations: 2
      maximum_intervals: 1
      allow_compute_area: true
      maximum_range_distance_default: 50000
      maximum_range_distance:
        - profiles: driving-car, cycling-regular, foot-walking
          value: 100000
      maximum_range_time_default: 18000
      maximum_range_time:
        - profiles: driving-car, cycling-regular, foot-walking
          value: 3600
      fastisochrones:
        maximum_range_distance_default: 50000
        maximum_range_distance:
          - profiles: driving-car, cycling-regular, foot-walking
            value: 500000
        maximum_range_time_default: 18000
        maximum_range_time:
          - profiles: driving-car, cycling-regular, foot-walking
            value: 10800
  engine:
    source_file: germany-latest.osm.pbf
    profiles:
      walking:
        enabled: true

And the logs like this:

ors-app  | #################
ors-app  | # Container ENV #
ors-app  | #################
ors-app  | ✓ CONTAINER_LOG_LEVEL: DEBUG. Set CONTAINER_LOG_LEVEL=DEBUG for more details.
ors-app  | ▢ XMX=25g
ors-app  | ▢ XMS=12g
ors-app  | ▢ CONTAINER_LOG_LEVEL=DEBUG
ors-app  | ▢ HOSTNAME=a86c2a293c40
ors-app  | ▢ LANGUAGE=en_US
ors-app  | ▢ JAVA_HOME=/usr/lib/jvm/default-jvm
ors-app  | ▢ REBUILD_GRAPHS=false
ors-app  | ▢ PWD=/home/ors
ors-app  | ▢ HOME=/root
ors-app  | ▢ LANG=en_US
ors-app  | ▢ BUILD_GRAPHS=False
ors-app  | ▢ ADDITIONAL_JAVA_OPTS=
ors-app  | ▢ SHLVL=1
ors-app  | ▢ LC_ALL=en_US
ors-app  | ▢ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/default-jvm/bin
ors-app  | ▢ ORS_HOME=/home/ors
ors-app  | ▢ _=/usr/bin/env
ors-app  | ⓘ Any config file settings can be overwritten by environment variables.
ors-app  | ⓘ Use 'CONTAINER_LOG_LEVEL=DEBUG' to see the full list of active environment variables for this container.
ors-app  | ###########################
ors-app  | # Container sanity checks #
ors-app  | ###########################
ors-app  | ⓘ Running container as user root with id 0 and group 0
ors-app  | ▢ User and group are set to root with id 0 and group 0.
ors-app  | ✓ ORS_HOME: /home/ors exists and is writable.
ors-app  | ▢ Populated ORS_HOME=/home/ors with the default folders: files, logs, graphs, elevation_cache, config
ors-app  | ▢ ors.engine.graphs_root_path= is set and not empty and not set to /
ors-app  | ▢ ors.engine.elevation.cache_path= is set and not empty and not set to /
ors-app  | ✓ The file /home/ors/config/example-ors-config.env is up to date
ors-app  | ✓ The file /home/ors/config/example-ors-config.yml is up to date
ors-app  | ✓ Using the existing ors-config.yml from: /home/ors/config/ors-config.yml
ors-app  | ⓘ Default to graphs folder: /home/ors/graphs
ors-app  | ▢ OSM source file set to germany-latest.osm.pbf
ors-app  | ⓘ Any ENV variables will have precedence over configuration variables from config files.
ors-app  | ✓ All checks passed. For details set CONTAINER_LOG_LEVEL=DEBUG.
ors-app  | #####################################
ors-app  | # Container file system preparation #
ors-app  | #####################################
ors-app  | ▢ Changed ownership of /home/ors to root
ors-app  | ✓ The file /home/ors/files/example-heidelberg.osm.gz is up to date
ors-app  | ✓ Container file system preparation complete. For details set CONTAINER_LOG_LEVEL=DEBUG.
ors-app  | #######################################
ors-app  | # Prepare CATALINA_OPTS and JAVA_OPTS #
ors-app  | #######################################
ors-app  | ▢ CATALINA_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.rmi.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost
ors-app  | ▢ JAVA_OPTS: -Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms12g -Xmx25g
ors-app  | ✓ CATALINA_OPTS and JAVA_OPTS ready. For details set CONTAINER_LOG_LEVEL=DEBUG.
ors-app  | #####################
ors-app  | # ORS startup phase #
ors-app  | #####################
ors-app  | ✓ 🙭 Ready to start the ORS application 🙭
ors-app  | ▢ Startup command: java -Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms12g -Xmx25g  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.rmi.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost  -jar /ors.jar
ors-app  |
ors-app  |   .   ____          _            __ _ _
ors-app  |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
ors-app  | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
ors-app  |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
ors-app  |   '  |____| .__|_| |_|_| |_\__, | / / / /
ors-app  |  =========|_|==============|___/=/_/_/_/
ors-app  |  :: Spring Boot ::                (v3.1.6)
ors-app  |
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.Application                      ]   Starting Application v8.0.0 using Java 21.0.2 with PID 1 (/ors.jar started by root in /home/ors)
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.Application                      ]   The following 1 profile is active: "default"
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup started.
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration file set by environment variable.
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Loaded file '/home/ors/config/ors-config.yml'
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup finished.
ors-app  | 2024-04-16 09:04:31 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]
ors-app  | 2024-04-16 09:04:32 INFO                                              ORS-Init [ o.h.o.a.s.l.ORSInitContextListener       ]   Initializing ORS...
ors-app  | 2024-04-16 09:04:32 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   Total - 12 GB, Free - 11.92 GB, Max: 25 GB, Used - 76.85 MB
ors-app  | 2024-04-16 09:04:32 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ====> Initializing profiles from '/home/ors/germany-latest.osm.pbf' (1 threads) ...
ors-app  | 2024-04-16 09:04:32 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   1 profile configurations submitted as tasks.
ors-app  | 2024-04-16 09:04:32 INFO                                        ORS-pl-walking [ o.h.o.r.RoutingProfile                   ]   [1] Profiles: 'foot-walking', location: '/home/ors/./graphs/walking'.
ors-app  | 2024-04-16 09:04:32 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   version v4.9.1|2024-01-17T09:08:46Z (7,20,5,4,5,7)
ors-app  | 2024-04-16 09:04:33 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   graph pedestrian_ors|RAM_STORE|3D|turn_cost|,,,,, details:edges:0(0MB), nodes:0(0MB), name:(0MB), geo:0(0MB), bounds:1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308
ors-app  | 2024-04-16 09:04:33 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   No custom areas are used, custom_areas.directory not given
ors-app  | 2024-04-16 09:04:33 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   start creating graph from /home/ors/germany-latest.osm.pbf
ors-app  | 2024-04-16 09:04:33 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   using pedestrian_ors|RAM_STORE|3D|turn_cost|,,,,, memory:totalMB:12288, usedMB:283
ors-app  | 2024-04-16 09:04:33 INFO                                                  main [ o.h.o.a.Application                      ]   Started Application in 2.299 seconds (process running for 3.061)
ors-app  | 2024-04-16 09:04:33 INFO                                                  main [ o.h.o.a.Application                      ]   openrouteservice {"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"}
ors-app  | 2024-04-16 09:07:16 WARN                                        ORS-pl-walking [ c.g.r.o.OSMReader                        ]   Pillar node 1704877217 is already a tower node and used in loop, see #1533. Fix mapping for way 141631672, nodes:[286834584, 10566476396, 8848434754, 1704877217, 1704877217, 300679229, 2412741624, 1539968951, 1704877205, 305056643, 575597123, 2018304195, 2018304184, 2018304179, 575597121, 385679538]
ors-app  | 2024-04-16 09:08:17 WARN                                        ORS-pl-walking [ c.g.r.o.OSMReader                        ]   Parsing error in way with OSMID=1259766018 : Cannot parse duration tag value: 0.33 minutes
ors-app  | 2024-04-16 09:08:19 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   call cleanUp for '/home/ors/./graphs/walking'
ors-app  | 2024-04-16 09:08:19 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   graph pedestrian_ors|RAM_STORE|3D|turn_cost|7,20,5,4,5, details:edges:25 152 027(864MB), nodes:19 506 508(373MB), name:(58MB), geo:110 844 673(423MB), bounds:5.8630797,25.1965582,47.2491573,60.2200367,0.0,0.0
ors-app  | 2024-04-16 09:08:56 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   nodes: 19 506 508, edges: 25 152 027
ors-app  | 2024-04-16 09:08:58 INFO                                        ORS-pl-walking [ o.h.o.r.g.e.ORSGraphHopper               ]   Bridge interpolation 0s, tunnel interpolation 0s, ferry interpolation 0s
ors-app exited with code 137

I don’t really get why it’s exiting with 137, when enough ram is assigned and it somehow works for cars…

Any help is much appreciated.

I’ve assigned more Memory to the wsl backend using the .wslconfig file.

But again, graph building for cars works, but bike and walking soon exceed 30 GB of Memory usage, even when they are the only profiles active.

According to the documentation I would need 9 GB of Ram (4.5x2x1), so the assigned 30 in .wslconfig and Xmx should be enough…

Are giving docker enough resources?
With docker desktop you can do that in the settings->resources or set it in your terminal:

but make sure you read #understand-the-risks-of-running-out-of-memory

Also the Information on RAM requirements is based on native Unix systems and not tested for Windows with WSL.

Best regards