[postgis-devel] Fwd: Assertion with RASTER when Postgis is just loaded

Paul Ramsey pramsey at cleverelephant.ca
Thu Jul 18 08:15:13 PDT 2019



> Begin forwarded message:
> 
> From: Ольга Ольга <rikottta at mail.ru>
> Subject: Fwd: Assertion with RASTER when Postgis is just loaded
> Date: July 18, 2019 at 8:11:00 AM PDT
> To: postgis-devel-owner at lists.osgeo.org
> 
> Good day,
> This is the 3rd day when I am trying to let Postgis team know about a probable bug in Postgis.
> Either my email is not accepted, or I am proposed to confirm myself by my external profile, or my message is rejected... I might have found a valuable bug for Postgis community, at least it looks so. I wrote to Postgres and SQLsmith people and they all think so. Now I need to fight with the mechanism of enough proving that I am not a robot, to be able just to share the case which causes assertion failure.  I find this way very complicated, sorry. If anyone from Postgis could be interested in a potential bug which is regularly reproducible with SQLsmith, please - if you want - share the information below with those who might be interested in.
> 
> Best, Olga
> 
> 
> ---------- Forwarded message ---------
> From: Ольга Ольга <rikottta at mail.ru <mailto:rikottta at mail.ru>>
> Date: Thu, Jul 18, 2019 at 4:53 PM
> Subject: Fwd: Assertion with RASTER when Postgis is just loaded
> To: <postgis-devel-owner at lists.osgeo.org <mailto:postgis-devel-owner at lists.osgeo.org>>
> 
> 
> Good day,
> 
> When I am trying to run SQLSmith on a schema with loaded POSTGIS extension (even when no tables are using POSTGIS types!), I am continuously getting:  
> 
> SELECT: rt_raster.c:1443: rt_raster_from_band: Assertion `NULL != raster' failed.
> FATAL: the database system is in recovery mode
> 
> It's PSQL 11 and POSTGIS 2.5.
> 
> Is there any workaround ?
> 
> select sample_0.classoid as c0, case when public.st_mapalgebra( cast( public.st_union( cast(cast(null as raster) as raster), cast((select avg_width from pg_catalog.pg_stats limit 1 offset 4) as int4)) over (partition by sample_0.objoid order by sample_0.description,sample_0.description) as raster), cast(pg_catalog.hashinet( cast(cast(null as inet) as inet)) as int4), cast(cast(null as raster) as raster), cast(case when (select col7 from public.child_psql_table_without_overlap limit 1 offset 1) >^ cast(null as point) then (select pg_catalog.bit_or(coord_dimension) from public.geography_columns) else (select pg_catalog.bit_or(coord_dimension) from public.geography_columns) end as int4), cast((select agginitval from pg_catalog.pg_aggregate limit 1 offset 5) as text), cast(case when cast(null as tinterval) >= cast(null as tinterval) then sample_0.description else sample_0.description end as text), cast(pg_catalog.timeofday() as text), cast(cast(coalesce(sample_0.description, sample_0.description) as text) as text), cast(sample_0.description as text), cast(cast(coalesce((select col4 from public.child_psql_table_without_overlap limit 1 offset 6) , (select pg_catalog.stddev(total_time) from pg_catalog.pg_stat_xact_user_functions) ) as float8) as float8)) @ cast(nullif( public.st_union( cast(cast(null as raster) as raster), cast(96 as int4), cast(sample_0.description as text)) over (partition by sample_0.objsubid order by sample_0.classoid), case when cast(null as float4) <> (select enumsortorder from pg_catalog.pg_enum limit 1 offset 6) then cast(coalesce(cast(null as raster), cast(null as raster)) as raster) else cast(coalesce(cast(null as raster), cast(null as raster)) as raster) end ) as raster) then sample_0.classoid else sample_0.classoid end as c1, case when EXISTS ( select ref_0.autoanalyze_count as c0, sample_0.objoid as c1, 41 as c2, public.st_union( cast(cast(null as raster) as raster), cast(sample_0.objsubid as int4)) over (partition by sample_0.objoid,ref_0.n_tup_hot_upd order by ref_0.vacuum_count) as c3, (select data_type from information_schema.user_defined_types limit 1 offset 1) as c4 from pg_catalog.pg_stat_user_tables as ref_0 where cast(null as raster) <<| public.st_mapalgebraexpr( cast(cast(null as raster) as raster), cast(sample_0.description as text), cast(sample_0.description as text), cast((select col16 from public.child_twice_inherits_inherited limit 1 offset 84) as float8)) limit 87) then sample_0.objoid else sample_0.objoid end as c2, cast(nullif(sample_0.objoid, (select pg_catalog.min(partrelid) from pg_catalog.pg_partitioned_table) ) as oid) as c3, sample_0.classoid as c4, sample_0.description as c5, sample_0.objoid as c6, sample_0.objsubid as c7, pg_catalog.current_user() as c8, sample_0.objoid as c9 from pg_catalog.pg_description as sample_0 tablesample system (3.6) where pg_catalog.btfloat4cmp( cast(case when ((select col13 from public.child_inherits_inherited_psql limit 1 offset 1) <@ cast(null as line)) or ((sample_0.objoid is NULL) and (cast(null as pg_lsn) <> cast(null as pg_lsn))) then case when public.seg_upper( cast(cast(null as seg) as seg)) < (select pg_catalog.sum(col3) from public.table) then (select pg_catalog.min(null_frac) from pg_catalog.pg_stats) else (select pg_catalog.min(null_frac) from pg_catalog.pg_stats) end else case when public.seg_upper( cast(cast(null as seg) as seg)) < (select pg_catalog.sum(col3) from public.table) then (select pg_catalog.min(null_frac) from pg_catalog.pg_stats) else (select pg_catalog.min(null_frac) from pg_catalog.pg_stats) end end as float4), cast(case when ((((cast(null as reltime) = cast(null as reltime)) or (false)) or ((select col8 from public.child_inherits_noninherited_psql limit 1 offset 2) >= (select col1 from public.pg_fdw_without_definition_psql limit 1 offset 2) )) and (cast(null as geometry) &&& cast(null as gidx))) and ((cast(null as isbn) >= (select col7 from public.table_with_psql_array_custom_type limit 1 offset 17) ) and (cast(null as inet) <= (select pg_catalog.min(col16) from public.child_inherits_inherited_psql) )) then cast(coalesce((select col0 from public.psql_table_for_type limit 1 offset 1) , cast(null as float4)) as float4) else cast(coalesce((select col0 from public.psql_table_for_type limit 1 offset 1) , cast(null as float4)) as float4) end as float4)) is NULL limit 44; 
> 
> 
> delete from information_schema.sql_implementation_info where cast(nullif(cast(nullif(case when cast(null as circle) &<| (select col7 from public.child_twice_inherits_inherited_psql limit 1 offset 6) then cast(null as raster) else cast(null as raster) end , cast(nullif(cast(null as raster), cast(null as raster)) as raster)) as raster), cast(nullif(case when (select col1 from public.fdw_table_with_custom_type_psql limit 1 offset 6) ~<=~ (select col2 from public.table_for_psql_inheritance limit 1 offset 5) then case when information_schema.sql_implementation_info.implementation_info_name is not NULL then cast(null as raster) else cast(null as raster) end else case when information_schema.sql_implementation_info.implementation_info_name is not NULL then cast(null as raster) else cast(null as raster) end end , case when information_schema.sql_implementation_info.integer_value is NULL then cast(null as raster) else cast(null as raster) end ) as raster)) as raster) &<| public.st_addband( cast(public.st_addband( cast(cast(null as raster) as raster), cast(case when cast(null as date) < cast(null as date) then cast(coalesce(cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster), cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster)) as _raster) else cast(coalesce(cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster), cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster)) as _raster) end as _raster), cast(case when (select public.st_makeline(extent) from public.raster_columns) @ cast(null as raster) then cast(coalesce(cast(nullif((select inhseqno from pg_catalog.pg_inherits limit 1 offset 2) , 8) as int4), case when (select col8 from public.table_with_custom_type limit 1 offset 5) ~ (select col8 from public.table_with_custom_type limit 1 offset 4) then 93 else 93 end ) as int4) else cast(coalesce(cast(nullif((select inhseqno from pg_catalog.pg_inherits limit 1 offset 2) , 8) as int4), case when (select col8 from public.table_with_custom_type limit 1 offset 5) ~ (select col8 from public.table_with_custom_type limit 1 offset 4) then 93 else 93 end ) as int4) end as int4), cast((select srid from public.spatial_ref_sys limit 1 offset 72) as int4)) as raster), cast(case when ((select col5 from public.table_with_fdw_custom_type limit 1 offset 2) ^@ cast(null as ltxtquery)) or (cast(null as name) !~~ (select prosrc from pg_catalog.pg_proc limit 1 offset 5) ) then case when true then cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster) else cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster) end else case when true then cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster) else cast(nullif(cast(null as _raster), cast(null as _raster)) as _raster) end end as _raster), cast(case when cast(nullif(cast(null as tid), case when (EXISTS ( select information_schema.sql_implementation_info.comments as c0, ref_0.classoid as c1, ref_0.objoid as c2, (select parameter_types from pg_catalog.pg_prepared_statements limit 1 offset 4) as c3 from pg_catalog.pg_shdescription as ref_0 where true limit 100)) or (cast(null as raster) @ cast(null as raster)) then cast(null as tid) else cast(null as tid) end ) as tid) > cast(null as tid) then case when (select col13 from public.child_inherits_inherited_psql limit 1 offset 6) ?# cast(nullif(cast(null as box), cast(null as box)) as box) then 60 else 60 end else case when (select col13 from public.child_inherits_inherited_psql limit 1 offset 6) ?# cast(nullif(cast(null as box), cast(null as box)) as box) then 60 else 60 end end as int4), cast(pg_catalog.inet_server_port() as int4)) returning information_schema.sql_implementation_info.comments as c0, information_schema.sql_implementation_info.comments as c1, information_schema.sql_implementation_info.integer_value as c2, public._postgis_pgsql_version() as c3, information_schema.sql_implementation_info.implementation_info_id as c4, public.isn_weak() as c5;
> 
> Regards
> Olga

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20190718/e2a50130/attachment.html>


More information about the postgis-devel mailing list