mediagis / nominatim-docker

100% working container for Nominatim
Creative Commons Zero v1.0 Universal
1.07k stars 437 forks source link

bad_alloc while importing #426

Open ipg0 opened 1 year ago

ipg0 commented 1 year ago

Describe the bug During planet import unexpectedly throws bad_alloc and crashes.

To Reproduce Steps to reproduce the behavior:

  1. Import planet with --memory=20g --shm-size=20g
  2. osm2pgsql throws std::bad_alloc

Expected behavior The lack of memory should not quietly crash the app. Possibly, some way to pre-check if the system has enough memory or at least a way to predict how much memory is needed.

Screenshots & Logs

2023-02-27 00:54:57  ERROR: std::bad_alloc
Traceback (most recent call last):
  File "/usr/local/bin/nominatim", line 14, in <module>
    exit(cli.nominatim(module_dir='/usr/local/lib/nominatim/module',
  File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 264, in nominatim
    return parser.run(**kwargs)
  File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 126, in run
    return args.command.run(args)
  File "/usr/local/lib/nominatim/lib-python/nominatim/clicmd/setup.py", line 94, in run
    database_import.import_osm_data(files,
  File "/usr/local/lib/nominatim/lib-python/nominatim/tools/database_import.py", line 113, in import_osm_data
    run_osm2pgsql(options)
  File "/usr/local/lib/nominatim/lib-python/nominatim/tools/exec_utils.py", line 159, in run_osm2pgsql
    subprocess.run(cmd, cwd=options.get('cwd', '.'),
  File "/usr/lib/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/local/lib/nominatim/osm2pgsql', '--hstore', '--latlon', '--slim', '--log-progress', 'true', '--number-processes', '1', '--cache', '40193', '--style', '/usr/local/etc/nominatim/import-extratags.style', '--output', 'gazetteer', '--create', '--with-forward-dependencies', 'false', '/sources/data.osm.pbf']' returned non-zero exit status 1.

Desktop / Server (please complete the following information):