[PROJ] terracotta core dump with proj-data from ubuntugis

solsTiCe d'Hiver solstice.dhiver at gmail.com
Thu Dec 2 06:05:35 PST 2021


hi.
I have an issue when running terracotta with the proj package from
ubuntuGIS ppa.
This porj-data 7.2.1 on ubuntu 20.04 with a custom compiled by myself
python 3.9.5

I have detailed the issue there
https://github.com/DHI-GRAS/terracotta/issues/239

Here is a copy:

Hello,
I don't know where to report this and I don't know either what is causing
this.

On ubuntu 20.04, with the ppa from terracotta core dump with proj-data from
ubuntugis. I have emailed the admin team of the repo. This is a copy.

I am trying to install terracotta (https://github.com/DHI-GRAS/terracotta/)
in a python virtualenv and this leads to error and core dump when proj-data
from ubuntuGIS repo is installed.

What I am doing is:

$ python3.9 -m venv tc4m
$ cd tc4m
$ source bin/activate
$ pip install terracotta
$ pip install Cython
$ pip install crick

$ terracotta
Usage: terracotta [OPTIONS] COMMAND [ARGS]...

  The command line interface for the Terracotta tile server.

  All flags must be passed before specifying a subcommand.

  Example:

      $ terracotta -c config.toml connect localhost:5000

Options:
  -c, --config TOML-FILE          Update global settings from this TOML file.
  --loglevel [debug|info|warning|error|critical]
                                  Set level for log messages
  --version                       Show the version and exit.
  --help                          Show this message and exit.

Commands:
  connect           Connect to a running Terracotta instance and interactively
                    explore data in it.

  ingest            Ingest a collection of raster files into a SQLite
                    database.

  optimize-rasters  Optimize a collection of raster files for use with
                    Terracotta.

  serve             Serve rasters through a local Flask development server.
free(): invalid pointer
Aborted (core dumped)

$ strace terracotta
[...]
fstat(4, {st_mode=S_IFREG|0664, st_size=1356, ...}) = 0
ioctl(4, TCGETS, 0x7fff96895090)        = -1 ENOTTY (Inappropriate
ioctl for device)
lseek(4, 0, SEEK_CUR)                   = 0
lseek(4, 0, SEEK_CUR)                   = 0
fstat(4, {st_mode=S_IFREG|0664, st_size=1356, ...}) = 0
read(4, "a\r\r\n\0\0\0\0T\254\250a\255\4\0\0\343\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
1357) = 1356
read(4, "", 1)                          = 0
close(4)                                = 0
ioctl(1, TCGETS, 0x7fff96896280)        = -1 ENOTTY (Inappropriate
ioctl for device)
write(1, "Usage: terracotta [OPTIONS] COMM"..., 971) = 971
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[],
sa_flags=SA_RESTORER, sa_restorer=0x7f2914b3d3c0},
{sa_handler=0x55adcaa9b2f2, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f2914b3d3c0}, 8) = 0
stat("/usr/share/proj/proj.db", {st_mode=S_IFREG|0644,
st_size=8925184, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=8925184, ...}) = 0
stat("/usr/share/proj/proj.db", {st_mode=S_IFREG|0644,
st_size=8925184, ...}) = 0
close(3)                                = 0
writev(2, [{iov_base="free(): invalid pointer", iov_len=23},
{iov_base="\n", iov_len=1}], 2free(): invalid pointer
) = 24
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7f2914b82000
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
getpid()                                = 49281
gettid()                                = 49281
tgkill(49281, 49281, SIGABRT)           = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=49281, si_uid=1001} ---

+++ killed by SIGABRT (core dumped) +++

I am writing this here because it seems to come from proj.db ???
There is no problem with proj-data-6.3.1 with proj.db from 2020

and this leads to more problem afterwards when trying to run terracotta
optimize-rasters

$ terracotta optimize-rasters ../NaturalnessBZHv1.tif -o optimized/
proj_create_from_database: SQLite error on SELECT name,
coordinate_system_auth_name, coordinate_system_code,
geodetic_crs_auth_name, geodetic_crs_code, conversion_auth_name,
conversion_code, area_of_use_auth_name, area_of_use_code,
text_definition, deprecated FROM projected_crs WHERE auth_name = ? AND
code = ?: no such column: area_of_use_auth_name
Optimizing 1 file on 1 process
NaturalnessBZHv1.tif ... (1/1)
proj_create_from_database: SQLite error on SELECT name,
coordinate_system_auth_name, coordinate_system_code,
geodetic_crs_auth_name, geodetic_crs_code, conversion_auth_name,
conversion_code, area_of_use_auth_name, area_of_use_code,
text_definition, deprecated FROM projected_crs WHERE auth_name = ? AND
code = ?: no such column: area_of_use_auth_name
free(): invalid pointer
Aborted (core dumped)

Any idea/help on how to fix this ?

I have no problem on archlinux, with proj 8.0.0 and python 3.9.9
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20211202/ff6bc13e/attachment-0001.html>


More information about the PROJ mailing list