Can't find route while self-hosting but official API works

I am trying to find driving direction in Bangalore India.

This returns the routes correctly

curl -X POST -H 'Accept: application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8' -H 'Accept-Encoding: gzip, deflate' -H 'Authorization: xxxxx' -H 'Connection: keep-alive' -H 'Content-Type: application/json; charset=utf-8' -H 'User-Agent: python-requests/2.25.1' -d '{"coordinates": [[77.3012692, 12.9544595], [77.5347711, 13.1792919]], "geometry_simplify": "true", "radiuses": [-1]}' https://api.openrouteservice.org/v2/directions/driving-car

Same request with self-hosted url is below

curl -X POST -H 'Accept: application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'Content-Type: application/json; charset=utf-8' -H 'User-Agent: python-requests/2.25.1' -d '{"coordinates": [[77.3012692, 12.9544595], [77.5347711, 13.1792919]], "geometry_simplify": "true", "radiuses": [80000,80000]}' http://xxx.xxx.xxx.xxx:8080/ors/v2/directions/driving-car

Response is:
{"error":{"code":2010,"message":"Could not find routable point within a radius of 80000.0 meters of specified coordinate 0: 77.3012692 12.9544595."},"info":{"engine":{"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"},"timestamp":1715248339030}}%

I tried setting the radiuses to -1

Request:

curl -X POST -H 'Accept: application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'Content-Type: application/json; charset=utf-8' -H 'User-Agent: python-requests/2.25.1' -d '{"coordinates": [[77.3012692, 12.9544595], [77.5347711, 13.1792919]], "geometry_simplify": "true", "radiuses": [-1]}' http://xxx.xxx.xxx.xxx:8080/ors/v2/directions/driving-car

Response:

{"error":{"code":2010,"message":"Could not find routable point within the maximum possible radius of 400.0 meters of specified coordinate 0: 77.3012692 12.9544595."},"info":{"engine":{"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"},"timestamp":1715248540627}}

I used the below file from https://giscience.github.io/openrouteservice/run-instance/running-with-docker

https://github.com/GIScience/openrouteservice/releases/download/v8.0.0/docker-compose.yml

source file

http://download.geofabrik.de/asia/india.html
http://download.geofabrik.de/asia/india-latest.osm.pbf

Config files:

docker-compose.yml

# Docker Compose file for the openrouteservice (ORS) application
# Documentation and examples can be found on https://giscience.github.io/openrouteservice/run-instance/running-with-docker
version: '3.8'

services:
  # ----------------- ORS application configuration ------------------- #
  ors-app:
    # Activate the following lines to build the container from the repository
    # You have to add --build to the docker compose command to do so
    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
    # Advanced option! If you different ids to 0:0 and 1000:1000, you have to rebuild the container with the build args UID,GID.
    # The user command is useful if you want easier bind mount access or better security.
    #user: "1000:1000" # Run "mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/files ors-docker/graphs ors-docker/logs && sudo chown -R 1000:1000 ors" before starting the container!
    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  # Mount the ORS application directory (for logs, graphs, elevation_cache, etc.) into its own directory
      #- ./graphs:/home/ors/graphs  # Mount graphs directory individually
      #- ./elevation_cache:/home/ors/elevation_cache  # Mount elevation cache directory individually
      #- ./config:/home/ors/config  # Mount configuration directory individually
      #- ./logs:/home/ors/logs  # Mount logs directory individually
      #- ./files:/home/ors/files  # Mount files directory individually
    environment:
      CONTAINER_LOG_LEVEL: DEBUG  # Log level for the container. Possible values: DEBUG, INFO, WARNING, ERROR, CRITICAL
      # If you don't want the default ors-config.yml you can specify a custom file name, that should match the file in
      # your 'config' volume mount.
      #ORS_CONFIG_LOCATION: /home/ors/config/my-ors-config.yml  # Location of your ORS configuration file in the docker container

      # ------------------ JAVA OPTS ------------------ #
      # Configure the memory settings for JAVA or pass additional opts
      # Fore more available ENV properties see Prepare CATALINA_OPTS and JAVA_OPTS
      # in https://github.com/GIScience/openrouteservice/blob/main/docker-entrypoint.sh
      XMS: 1g  # start RAM assigned to java
      XMX: 4g  # max RAM assigned to java. Rule of Thumb: <PBF-size> * <profiles> * 2
      # Example: 1.5 GB pbf size, two profiles (car and foot-walking)
      # -> 1.5 * 2 * 2 = 6. Set xmx to be AT LEAST `-Xmx6g`
      ADDITIONAL_JAVA_OPTS: ""  # further options you want to pass to the java command

      # ----------------- Properties configuration ------------------- #
      # Configure your whole container with only property ENVs.
      # These can be set alternatively or additionally to the yml configuration file.
      # Note, that any values set will override the corresponding values from the yml configuration file.
      # See the ors-config.env file for more options.
      # To have a configuration file-less container, uncomment at least the following properties.
      # The values are examples and provide the default configuration.
      #ors.engine.graphs_root_path: /home/ors/graphs
      #ors.engine.elevation.cache_path: /home/ors/elevation_cache
      #ors.engine.source_file: /home/ors/files/india-latest.osm.pbf

    # ----------------- ENV file configuration ------------------- #
    # Too many variables for your 'environment:' section?
    # Use an env_file with the ENV properties instead and define everything in there:
    # Values will be overwritten if set in the 'environment' section.
    #env_file: ors-config.env

    # ----------------- Healthcheck configuration ------------------- #
    # The healthcheck is disabled by default. Uncomment the following lines to enable it.
    # The healthcheck allows you to monitor the status of the ORS application.
    # Be careful with long graph builds, as the healthcheck will fail and show 'unhealthy' during this time.
    # This is especially useful if you run your ORS container in a production environment.
    #healthcheck:
    #  test: wget --no-verbose --tries=1 --spider http://localhost:8082/ors/v2/health || exit 1
    #  start_period: 1m
    #  interval: 10s
    #  timeout: 2s
    #  retries: 3
    #  disable: false

# ----------------- Docker Volumes configuration ------------------- #
# Define the Docker managed volumes for the ORS application. For more info on Docker Volumes see https://docs.docker.com/compose/compose-file/07-volumes/
# Volumes are used to persist the data and configuration of the ORS application.
# If you want to use volumes, uncomment the following lines and remove the ./ prefix from the volume paths in 'services.ors-app.volumes'.
#volumes:
#    graphs:
#    elevation_cache:
#    config:
#    logs:
#    files:

ors-docker/files folder contains india-latest.osm.pbf. ORS detects it correctly loads it when running.

ors-config.yml

##### openrouteservice settings file #####
# This file contains parameters for openrouteservice.
# For a full list of possible parameters see https://giscience.github.io/openrouteservice/run-instance/configuration/

##### General server settings #####
#server:
#  port: 8082
#  error:
#    whitelabel:
#      enabled: false
#  # Keep the context-path at / else the war file run with tomcat will have the context-path of /ors/v2 as well.
#  servlet:
#    context-path: /ors
#spring:
#  profiles:
#    active: default
#  mvc:
#    servlet:
#      path: /
##### Settings related to springdoc #####
#springdoc:
#  swagger-ui:
#    enabled: true
#    path: /swagger-ui
#    tryItOutEnabled: true
#    filter: false
#    syntaxHighlight:
#      activated: true
#    showExtensions: true
#  api-docs:
#    path: /v2/api-docs
#    version: OPENAPI_3_0
#  packages-to-scan: org.heigit.ors
#  pathsToMatch: /v2/**
##### Logging settings #####
#logging:
#  file:
#    name: ./logs/ors.log
#  pattern:
#    console: "%d{yyyy-MM-dd HH:mm:ss} %highlight{%-7p} %style{%50t}{Cyan} %style{[ %-40.40c{1.} ]}{Bright Cyan}   %m%n"
#    file: "%d{yyyy-MM-dd HH:mm:ss} %p [%-40.40c{1.}] - %m%n"
#  level:
#    root: WARN
#    org.heigit: INFO
##### openrouteservice specific settings #####
ors:
#  cors:
#    allowed_origins: "*"
#    allowed_headers: Content-Type, X-Requested-With, accept, Origin, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization
#    preflight_max_age: 600
#  messages:
#  ##### ORS endpoints settings #####
#  endpoints:
#    routing:
#      enabled: true
#      attribution: openrouteservice.org, OpenStreetMap contributors, tmc - BASt
#      gpx_name: ORSRouting
#      gpx_description: This is a directions instructions file as GPX, generated from openrouteservice
#      gpx_base_url: https://openrouteservice.org/
#      gpx_support_mail: support@openrouteservice.org
#      gpx_author: openrouteservice
#      gpx_content_licence: LGPL 3.0
#      maximum_avoid_polygon_area: 200000000
#      maximum_avoid_polygon_extent: 20000
#      maximum_alternative_routes: 3
#    matrix:
#      enabled: true
#      attribution: openrouteservice.org, OpenStreetMap contributors
#      maximum_routes: 2500
#      maximum_routes_flexible: 25
#      maximum_visited_nodes: 100000
#      maximum_search_radius: 2000
#      u_turn_costs: -1
#    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, driving-hgv
#          value: 100000
#      maximum_range_time_default: 18000
#      maximum_range_time:
#        - profiles: driving-car, driving-hgv
#          value: 3600
#      fastisochrones:
#        maximum_range_distance_default: 50000
#        maximum_range_distance:
#          - profiles: driving-car, driving-hgv
#            value: 500000
#        maximum_range_time_default: 18000
#        maximum_range_time:
#          - profiles: driving-car, driving-hgv
#            value: 10800
#    Snap:
#      enabled: true
#      attribution: openrouteservice.org, OpenStreetMap contributors
#  ##### ORS engine settings #####
  engine:
    source_file: /home/ors/files/india-latest.osm.pbf
#    init_threads: 1
#    preparation_mode: false
#    graphs_root_path: ./graphs
#    graphs_data_access: RAM_STORE
#    elevation:
#      preprocessed: false
#      data_access: MMAP
#      cache_clear: false
#      provider: multi
#      cache_path: ./elevation_cache
#    profile_default:
#      enabled: false
#      elevation: false
#      elevation_smoothing: false
#      encoder_flags_size: 8
#      instructions: true
#      optimize: false
#      traffic: false
#      maximum_distance: 100000
#      maximum_distance_dynamic_weights: 100000
#      maximum_distance_avoid_areas: 100000
#      maximum_waypoints: 50
#      maximum_snapping_radius: 400
#      maximum_distance_alternative_routes: 100000
#      maximum_distance_round_trip_routes: 100000
#      maximum_speed_lower_bound: 80
#      maximum_visited_nodes: 1000000
#      location_index_resolution: 500
#      location_index_search_iterations: 4
#      force_turn_costs: false
#      interpolate_bridges_and_tunnels: true
#      preparation:
#        min_network_size: 200
#        methods:
#          lm:
#            enabled: true
#            threads: 1
#            weightings: recommended,shortest
#            landmarks: 16
#      execution:
#        methods:
#          lm:
#            active_landmarks: 8
    profiles:
      car:
        enabled: true
#        profile: driving-car
#        elevation: true
#        encoder_options:
#          turn_costs: true
#          block_fords: false
#          use_acceleration: true
#        preparation:
#          min_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:
#              active_landmarks: 6
#        ext_storages:
#          WayCategory:
#          HeavyVehicle:
#          WaySurfaceType:
#          RoadAccessRestrictions:
#            use_for_warnings: true
#      hgv:
#        enabled: false
#        profile: driving-hgv
#        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
#          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:
#              active_landmarks: 6
#        ext_storages:
#          WayCategory:
#          HeavyVehicle:
#            restrictions: true
#          WaySurfaceType:
#      bike-regular:
#        enabled: false
#        profile: cycling-regular
#        encoder_options:
#          consider_elevation: true
#          turn_costs: true
#          block_fords: false
#        elevation: true
#        ext_storages:
#          WayCategory:
#          WaySurfaceType:
#          HillIndex:
#          TrailDifficulty:
#      bike-mountain:
#        enabled: false
#        profile: cycling-mountain
#        encoder_options:
#          consider_elevation: true
#          turn_costs: true
#          block_fords: false
#        elevation: true
#        ext_storages:
#          WayCategory:
#          WaySurfaceType:
#          HillIndex:
#          TrailDifficulty:
#      bike-road:
#        enabled: false
#        profile: cycling-road
#        encoder_options:
#          consider_elevation: true
#          turn_costs: true
#          block_fords: false
#        elevation: true
#        ext_storages:
#          WayCategory:
#          WaySurfaceType:
#          HillIndex:
#          TrailDifficulty:
#      bike-electric:
#        enabled: false
#        profile: cycling-electric
#        encoder_options:
#          consider_elevation: true
#          turn_costs: true
#          block_fords: false
#        elevation: true
#        ext_storages:
#          WayCategory:
#          WaySurfaceType:
#          HillIndex:
#          TrailDifficulty:
#      walking:
#        enabled: false
#        profile: foot-walking
#        encoder_options:
#          block_fords: false
#        elevation: true
#        ext_storages:
#          WayCategory:
#          WaySurfaceType:
#          HillIndex:
#          TrailDifficulty:
#      hiking:
#        enabled: false
#        profile: foot-hiking
#        encoder_options:
#          block_fords: false
#        elevation: true
#        ext_storages:
#          WayCategory:
#          WaySurfaceType:
#          HillIndex:
#          TrailDifficulty:
#      wheelchair:
#        enabled: false
#        profile: wheelchair
#        encoder_options:
#          block_fords: true
#        elevation: true
#        maximum_snapping_radius: 50
#        ext_storages:
#          WayCategory:
#          WaySurfaceType:
#          Wheelchair:
#            KerbsOnCrossings: true
#          OsmId:
#      public-transport:
#        enabled: false
#        profile: public-transport
#        encoder_options:
#          block_fords: false
#        elevation: true
#        maximum_visited_nodes: 1000000
#        gtfs_file: ./src/test/files/vrn_gtfs_cut.zip

ORS log when container is started using sudo docker compose up

WARN[0000] /home/ubuntu/xxx/xxx/docker-compose.yml: `version` is obsolete
[+] Running 1/2
 βœ” Network main_default  Created                                                                                                                                       0.1s
 β ‹ Container ors-app     Created                                                                                                                                       0.1s
Attaching to ors-app
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=4g
ors-app  | β–’ XMS=1g
ors-app  | β–’ CONTAINER_LOG_LEVEL=DEBUG
ors-app  | β–’ HOSTNAME=e533118519d0
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 /home/ors/files/india-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 -Xms1g -Xmx4g
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 -Xms1g -Xmx4g  -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-05-09 10:10:57 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-05-09 10:10:57 INFO                                                  main [ o.h.o.a.Application                      ]   The following 1 profile is active: "default"
ors-app  | 2024-05-09 10:10:57 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]
ors-app  | 2024-05-09 10:10:57 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup started.
ors-app  | 2024-05-09 10:10:57 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration file set by environment variable.
ors-app  | 2024-05-09 10:10:57 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Loaded file '/home/ors/config/ors-config.yml'
ors-app  | 2024-05-09 10:10:57 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup finished.
ors-app  | 2024-05-09 10:10:57 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]
ors-app  | 2024-05-09 10:11:02 INFO                                              ORS-Init [ o.h.o.a.s.l.ORSInitContextListener       ]   Initializing ORS...
ors-app  | 2024-05-09 10:11:02 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   Total - 1024 MB, Free - 953.12 MB, Max: 4 GB, Used - 70.88 MB
ors-app  | 2024-05-09 10:11:02 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ====> Initializing profiles from '/home/ors/files/india-latest.osm.pbf' (1 threads) ...
ors-app  | 2024-05-09 10:11:02 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   1 profile configurations submitted as tasks.
ors-app  | 2024-05-09 10:11:02 INFO                                            ORS-pl-car [ o.h.o.r.RoutingProfile                   ]   [1] Profiles: 'driving-car', location: '/home/ors/./graphs/car'.
ors-app  | 2024-05-09 10:11:03 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLMPreparationHandler   ]   Loaded landmark splitting collection from
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CorePreparationHandler     ]   Creating CH preparations, totalMB:1024, usedMB:281
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLMPreparationHandler   ]   Creating LM preparations, totalMB:1024, usedMB:286
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLandmarkStorage        ]   Created core node ID map for car_ors_fastest_with_turn_costs_highways of size 1446
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLandmarkStorage        ]   Created core node ID map for car_ors_fastest_with_turn_costs_allow_all of size 1446
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLandmarkStorage        ]   Created core node ID map for car_ors_shortest_with_turn_costs_highways of size 1446
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLandmarkStorage        ]   Created core node ID map for car_ors_shortest_with_turn_costs_allow_all of size 1446
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLMPreparationHandler   ]   Finished LM preparation, totalMB:1024, usedMB:308
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ 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-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   graph CH|car_ors|RAM_STORE|3D|turn_cost|7,20,5,4,5, details:edges:20 826(1MB), nodes:17 464(1MB), name:(2MB), geo:137 647(1MB), bounds:7.7084693,9.1039669,49.3325699,49.5168325,89.0,582.0, shortcuts:12 512 (1MB), nodesCH:17 464 (1MB), shortcuts:16 216 (1MB), nodesCH:17 464 (1MB), shortcuts:17 191 (1MB), nodesCH:17 464 (1MB)
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.RoutingProfile                   ]   [1] Edges: 20826 - Nodes: 17464.
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.RoutingProfile                   ]   [1] Total time: 1.802s.
ors-app  | 2024-05-09 10:11:04 INFO                                            ORS-pl-car [ o.h.o.r.RoutingProfile                   ]   [1] Finished at: 2024-05-09 10:11:04.
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   Total time: 1.89s.
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ========================================================================
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ====> Recycling garbage...
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   Before: Total - 1024 MB, Free - 709.12 MB, Max: 4 GB, Used - 314.88 MB
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   After: Total - 1024 MB, Free - 950.51 MB, Max: 4 GB, Used - 73.49 MB
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ========================================================================
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ====> Memory usage by profiles:
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   [1] 24.03 MB (32.7%)
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   Total: 24.03 MB (32.7%)
ors-app  | 2024-05-09 10:11:04 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ========================================================================
ors-app  | 2024-05-09 10:11:05 INFO                                                  main [ o.h.o.a.Application                      ]   Started Application in 9.919 seconds (process running for 12.612)
ors-app  | 2024-05-09 10:11:05 INFO                                                  main [ o.h.o.a.Application                      ]   openrouteservice {"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"}

Can anyone help?
What should I change?

Thanks

Hi @edBEEEEE ,

the bounds look like you are still running the heidelberg data set:
just try any directions request from the API playground with your self-hosted server.

If that’s the case remove the graphs folder once. Or run once with REBUILD_GRAPHS set to true.

Best regards

@amandus thanks.
I deleted the graphs folder and elevation related folder.

Now I am getting

curl -X POST -H 'Accept: application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8' -H 'Accept-Encoding: gzip, deflate' -H 'Authorization: 5b3ce3597851110001cf624862788640fe3342da849adcfd1cf921bd' -H 'Connection: keep-alive' -H 'Content-Type: application/json; charset=utf-8' -H 'User-Agent: python-requests/2.25.1' -d '{"coordinates": [[77.3012692, 12.9544595], [77.5347711, 13.1792919]], "geometry_simplify": "true", "radiuses": [-1]}' http://xxx.xxx.xxx.xxx/ors/v2/directions/driving-car

{"error":{"code":2099,"message":"Unable to get an appropriate route profile for RoutePreference = driving-car"},"info":{"engine":{"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"},"timestamp":1715322525130}}%
curl http://localhost:8080/ors/v2/status
{"engine":{"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"}}

Start up log is


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=4g
ors-app  | β–’ XMS=1g
ors-app  | β–’ CONTAINER_LOG_LEVEL=DEBUG
ors-app  | β–’ HOSTNAME=1d19d6166597
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 /home/ors/files/india-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 -Xms1g -Xmx4g
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 -Xms1g -Xmx4g  -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-05-10 06:28:27 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-05-10 06:28:27 INFO                                                  main [ o.h.o.a.Application                      ]   The following 1 profile is active: "default"
ors-app  | 2024-05-10 06:28:27 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]
ors-app  | 2024-05-10 06:28:27 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup started.
ors-app  | 2024-05-10 06:28:27 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration file set by environment variable.
ors-app  | 2024-05-10 06:28:27 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Loaded file '/home/ors/config/ors-config.yml'
ors-app  | 2024-05-10 06:28:27 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup finished.
ors-app  | 2024-05-10 06:28:27 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]
ors-app  | 2024-05-10 06:28:32 INFO                                              ORS-Init [ o.h.o.a.s.l.ORSInitContextListener       ]   Initializing ORS...
ors-app  | 2024-05-10 06:28:32 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   Total - 1024 MB, Free - 963.85 MB, Max: 4 GB, Used - 60.15 MB
ors-app  | 2024-05-10 06:28:32 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ====> Initializing profiles from '/home/ors/files/india-latest.osm.pbf' (1 threads) ...
ors-app  | 2024-05-10 06:28:32 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   1 profile configurations submitted as tasks.
ors-app  | 2024-05-10 06:28:32 INFO                                            ORS-pl-car [ o.h.o.r.RoutingProfile                   ]   [1] Profiles: 'driving-car', location: '/home/ors/./graphs/car'.
ors-app  | 2024-05-10 06:28:34 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLMPreparationHandler   ]   Loaded landmark splitting collection from
ors-app  | 2024-05-10 06:28:34 INFO                                            ORS-pl-car [ 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-05-10 06:28:34 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   graph CH|car_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, shortcuts:0 (0MB), nodesCH:-1 (0MB), shortcuts:0 (0MB), nodesCH:-1 (0MB), shortcuts:0 (0MB), nodesCH:-1 (0MB)
ors-app  | 2024-05-10 06:28:34 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   No custom areas are used, custom_areas.directory not given
ors-app  | 2024-05-10 06:28:34 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   start creating graph from /home/ors/files/india-latest.osm.pbf
ors-app  | 2024-05-10 06:28:34 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   using CH|car_ors|RAM_STORE|3D|turn_cost|,,,,, memory:totalMB:1024, usedMB:258
ors-app  | 2024-05-10 06:28:37 INFO                                                  main [ o.h.o.a.Application                      ]   Started Application in 11.36 seconds (process running for 13.754)
ors-app  | 2024-05-10 06:28:37 INFO                                                  main [ o.h.o.a.Application                      ]   openrouteservice {"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"}

What did I miss?

Thanks for the prompt response

To me, this looks a lot like your instance hasn’t fully built the graphs yet (and for india, I assume that this will take some time).

Check

http://localhost:8080/ors/v2/health

and see whether it returns ready.

1 Like

Yep that was the issue. It says not ready.
Also server OOM-ed with 137 while running i.e while building the graphs.
I guess will increase the RAM and try.

After changing the file to India, I should have rebuilt the graphs. That was the source for all this issues…
I should have read the documentation more carefully!

Thanks a lot! @jschnell and @amandus

1 Like

@jschnell
How long approximately will it take for graphs to be fully built?
PBF file size is 1.4GB and system has 3.7GB and 3.3GB of it is being used by ORS currently…

The graph build time is hard to predict as it depends on many factors such as the size of the street network, the enabled profiles and speedups, the hardware etc. On a modern laptop we are able to build Germany for driving-car in half an hour, needing at least 5GB of java heap space.

If your machine has not sufficient memory, you can try enabling memory mapping by setting graphs_data_accessto MMAP in the config: https://giscience.github.io/openrouteservice/run-instance/configuration/ors/engine/.

1 Like