Maybe do a search for library dupes / mismatches in your system for the postgis 
deps

find / -name “postgis*so”
find / -name “*libgeos*"
find / -name “*libgdal*”
find / -name “*libproj*”



> On Apr 23, 2024, at 10:20 AM, Jeffrey Durrence 
> <jeffrey.durre...@mcleanengineering.com> wrote:
> 
> Regina,
> 
> Thank you so much for your quick response (and for your contributions to the 
> rest of us in your writings)!
> 
> On the physical server I have:
>  POSTGIS="3.4.2 c19ce56" [EXTENSION] PGSQL="150" GEOS="3.10.2-CAPI-1.16.0" 
> PROJ="8.2.1 NETWORK_ENABLED=OFF 
> URL_ENDPOINT=https://cdn.proj.orgUSER_WRITABLE_DIRECTORY=/tmp/proj 
> DATABASE_PATH=/usr/share/proj/proj.db" GDAL="GDAL 3.4.3, released 2022/04/22" 
> LIBXML="2.9.13" LIBJSON="0.15" LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)" 
> (core procs from "3.4.1 ca035b9" need upgrade) RASTER (raster procs from 
> "3.4.1 ca035b9" need upgrade)
> 
> On the Azure server I have 
> POSTGIS="3.4.2 c19ce56" [EXTENSION] PGSQL="150" GEOS="3.11.1-CAPI-1.17.1" 
> (compiled against GEOS 3.10.2) PROJ="8.2.1 NETWORK_ENABLED=OFF 
> URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=/tmp/proj 
> DATABASE_PATH=/usr/share/proj/proj.db" GDAL="GDAL 3.4.3, released 2022/04/22" 
> LIBXML="2.9.13" LIBJSON="0.15" LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)" 
> RASTER
> 
> There are some differences, though I'm not sure of the best strategy to 
> reconcile this.  As for the raster extension, I don't use it for my 
> workflows.  I could drop the postgis_raster extension and see if that allows 
> my export/import to succeed without error.
> 
> -Jeffrey
> 
> Jeffrey Durrence
> McLean Engineering Company
> www.mcleanengineering.com
> Office: 229-985-1148
> Mobile: 229-798-0480
>  From: Regina Obe <l...@pcorp.us>
> Sent: Tuesday, April 23, 2024 1:09 PM
> To: Jeffrey Durrence <jeffrey.durre...@mcleanengineering.com>; 
> postgis-users@lists.osgeo.org <postgis-users@lists.osgeo.org>
> Subject: RE: Segmentation fault restoring data to Azure VM
>  What does  SELECT postgis_full_version(); 
>  Run on your current setup vs. your Azure VM setup.
>  Might thinking is it might be a dependent library crashing.
>  Usually the issues are with postgis_raster extension since that drags in 
> GDAL which drags in several more libraries.
>  Could also be an issue with PROJ.  As I recall at least on windows, I used 
> to get crashes if PROJ_LIB path wasn’t set, but I think that issue has gone 
> away with recent releases.
>  Not sure if it was ever an issue on Linux or Unix.
>  Hope that helps,
> Regina
>  From: Jeffrey Durrence <jeffrey.durre...@mcleanengineering.com> 
> Sent: Tuesday, April 23, 2024 11:42 AM
> To: postgis-users@lists.osgeo.org
> Subject: Segmentation fault restoring data to Azure VM
>  Greetings,
>  I am migrating PostgreSQL/PostGIS databases from a physical server with 
> these specs:
> Host OS: Ubuntu 22.04.4 LTS x64 (32GB RAM, 8GB Swap, 1TB disk space, XEON 
> E5-1660 CPU)
> Postgres: 15.6.1-pgdg22.04+1
> PostGIS: 3.4.2
>  To an Azure VM with 
> Host OS: Ubuntu 22.04.4 LTS x64 (32GB RAM, 8GB Swap, 512GB disk space, XEON 
> 8171M) (again, this is in Azure VM)
> Postgres: 15.6.1-pgdg22.04+1
> PostGIS: 3.4.2
>   In the past, I have migrated the same data from on the same physical 
> hardware for changes in host O/S, Postgres version, and/or PostGIS version. 
> I've also migrated from one physical host to another.  When doing so, I try 
> to make sure that my software packages are up to date and that the packages 
> in the destination environment match.  I did this for this planned 
> environment as well.  Because I know that some of my dbs have several years 
> of history in them, I export these dbs individually using pg_dump (using the 
> custom format when possible but in some cases I use the plain text option) 
> and pg_restore on the destination host.
>  During the process of migrating data in this manner, I observed that 
> restoration of many of my dbs failed.  I did lots of testing with this and 
> have made these additional observations:
>     • 
> I am able to restore my export files to another physical host with the same 
> software environment without error.  (the errors occur when importing to 
> virtual environment).
>     • 
> If I split my export/import into separate steps for the schema and data, it 
> is the schema import that produces the error, not the data import.
>     • 
> When the error occurs, the db process terminates with a segmentation vault 
> (see log output below), and the db process restarts.
>     • 
> With logging of all statements enabled, I can see that the segmentation vault 
> occurs at the absolute end of the import, when it seems that all commands are 
> completed.  So long as I wait on the server process to recover, I have no 
> errors when I import the data following the error.
>     • 
> The db imports that produce these errors seem to be those with more history 
> (e.g., it's more likely that these were created with an older version of 
> postGIS and subsequently upgraded to the versions they have now). 
>     • 
> The errors do seem related to the installation of the PostGIS extension.  If 
> I purposely drop the extension from the source database before I export, the 
> resulting file can be imported in the target environment without error.  This 
> is obviously undesirable as it results in my losing all of the geometry info 
> from tables, views, etc. in the db.  I only did this to experiment.
> 
>  My typical restore command looks like this:
> pg_restore --verbose --format=custom --dbname=my_db 
> /tmp/my_db_schema_only.backup 
> (plus some options to capture the output) 
>  Here's a look at what the command line output looks like when this happens:
> LOG:  server process (PID 52476) was terminated by signal 11: Segmentation 
> fault
> LOG:  terminating any other active server processes
> LOG:  all server processes terminated; reinitializing
> LOG:  database system was interrupted; last known up at 2024-04-23 02:16:49 
> UTC
> LOG:  database system was not properly shut down; automatic recovery in 
> progress
> LOG:  redo starts at 5/51381960
> WARNING:  could not open directory "base/696372": No such file or directory
> CONTEXT:  WAL redo at 5/51381A48 for Database/DROP: dir 1663/696372
> WARNING:  some useless files may be left behind in old database directory 
> "base/696372"
> CONTEXT:  WAL redo at 5/51381A48 for Database/DROP: dir 1663/696372
> LOG:  invalid record length at 5/52679558: expected at least 24, got 0
> LOG:  redo done at 5/526794E0 system usage: CPU: user: 0.07 s, system: 0.01 
> s, elapsed: 0.10 s
> LOG:  checkpoint starting: end-of-recovery immediate wait
> LOG:  checkpoint complete: wrote 2699 buffers (16.5%); 0 WAL file(s) added, 1 
> removed, 0 recycled;
> B; lsn=5/52679558, redo lsn=5/52679558
> LOG:  database system is ready to accept connections
>  In the log file, the section written as the error occurs is something like 
> this...
> 
> [60419] [6627bcbb.ec03] [2024-04-23 13:50:54.813 UTC] [0]: LOG:  statement: 
> GRANT ALL ON TABLE my_schema.my_table TO my_user_name;
> [60419] [6627bcbb.ec03] [2024-04-23 13:50:54.815 UTC] [0]: LOG:  statement: 
> -- Completed on 2024-04-23 13:50:54 UTC
> [60419] [6627bcbb.ec03] [2024-04-23 13:50:54.815 UTC] [0]: LOG:  statement: --
>         -- PostgreSQL database dump complete
>         --
> [59940] [6627b39f.ea24] [2024-04-23 13:50:54.943 UTC] [0]: LOG:  server 
> process (PID 60419) was terminated by signal 11: Segmentation fault
> [59940] [6627b39f.ea24] [2024-04-23 13:50:54.943 UTC] [0]: LOG:  terminating 
> any other active server processes
> [59940] [6627b39f.ea24] [2024-04-23 13:50:54.945 UTC] [0]: LOG:  all server 
> processes terminated; reinitializing
> [60423] [6627bcbf.ec07] [2024-04-23 13:50:55.007 UTC] [0]: LOG:  database 
> system was interrupted; last known up at 2024-04-23 13:50:48 UTC
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:05.511 UTC] [0]: LOG:  syncing data 
> directory (fsync), elapsed time: 10.00 s, current path: ./base/897556/1249
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.554 UTC] [0]: LOG:  database 
> system was not properly shut down; automatic recovery in progress
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.606 UTC] [0]: LOG:  redo starts 
> at E/3A8785A8
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.607 UTC] [0]: WARNING:  could 
> not open directory "base/562219": No such file or directory
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.607 UTC] [0]: CONTEXT:  WAL redo 
> at E/3A878690 for Database/DROP: dir 1663/562219
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.607 UTC] [0]: WARNING:  some 
> useless files may be left behind in old database directory "base/562219"
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.607 UTC] [0]: CONTEXT:  WAL redo 
> at E/3A878690 for Database/DROP: dir 1663/562219
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.704 UTC] [0]: LOG:  invalid 
> record length at E/3BACDAF8: expected at least 24, got 0
> [60423] [6627bcbf.ec07] [2024-04-23 13:51:12.704 UTC] [0]: LOG:  redo done at 
> E/3BACDA80 system usage: CPU: user: 0.07 s, system: 0.01 s, elapsed: 0.09 s
> [60424] [6627bcbf.ec08] [2024-04-23 13:51:12.804 UTC] [0]: LOG:  checkpoint 
> starting: end-of-recovery immediate wait
> [60424] [6627bcbf.ec08] [2024-04-23 13:51:13.143 UTC] [0]: LOG:  checkpoint 
> complete: wrote 2592 buffers (15.8%); 0 WAL file(s) added, 1 removed, 0 
> recycled; writ
> 9 s, average=0.001 s; distance=18773 kB, estimate=18773 kB; lsn=E/3BACDAF8, 
> redo lsn=E/3BACDAF8                                                           
>        
> [59940] [6627b39f.ea24] [2024-04-23 13:51:13.156 UTC] [0]: LOG:  database 
> system is ready to accept connections                                         
>           
>   I searched the mail archive and performed some additional web searches 
> based on my observations.  Unfortunately, I haven't found a similar-enough 
> incident where I might get suggestions for further troubleshooting.  In over 
> 10 years of using PostgreSQL+PostGIS, I've never had to dig this deeply to 
> determine the source of error.  I'm looking for advice for further 
> troubleshooting or for shared experiences in similar situations
>  Thank you for your time!
>  Jeffrey Durrence
> McLean Engineering Company
> www.mcleanengineering.com
> Office: 229-985-1148
> Mobile: 229-798-0480


Reply via email to