jsonb failed assertions - Mailing list pgsql-hackers
From | Pavel Stehule |
---|---|
Subject | jsonb failed assertions |
Date | |
Msg-id | CAFj8pRBJ_GdeB=C1c_K2cnn2bpehF2XzN+3o+OwD6zQs6vHuZg@mail.gmail.com Whole thread Raw |
Responses |
Re: jsonb failed assertions
|
List | pgsql-hackers |
Hello
I created relative large (about 200K lines) simple table (one jsonb column):
It works, but I got a errors:I created relative large (about 200K lines) simple table (one jsonb column):
TRAP: FailedAssertion("!(va.type == jbvArray || va.type == jbvObject)", File: "jsonb_util.c", Line: 208)
LOG: server process (PID 3851) was terminated by signal 6: Aborted
DETAIL: Failed process was running: autovacuum: ANALYZE public.t4
LOG: terminating any other active server processes
WARNING: terminating connection because of crash of another server process
DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because ano
HINT: In a moment you should be able to reconnect to the database and repeat your command.
WARNING: terminating connection because of crash of another server process
DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because ano
HINT: In a moment you should be able to reconnect to the database and repeat your command.
LOG: all server processes terminated; reinitializing
LOG: database system was interrupted; last known up at 2014-05-20 20:07:32 CEST
LOG: database system was not properly shut down; automatic recovery in progress
postgres=# \lo_import ~/citylots.json
lo_import 16510
CREATE OR REPLACE FUNCTION public.bytea_to_text(bytea)
RETURNS text
LANGUAGE sql
AS $function$
SELECT convert_from($1, current_setting('server_encoding'))
$function$
postgres=# insert into xx select bytea_to_text(lo_get(16510));
INSERT 0 1
postgres=# create table t3(data json);
CREATE TABLE
postgres=# insert into t3 select json_array_elements(json_object_field(data, 'features')) from t1;
INSERT 0 206560
postgres=# insert into t4 select data::jsonb from t3;
INSERT 0 206560
postgres=# select * from t4 limit 1;
data
-----------------------------------------------------------------------------------------------------------------------
{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[-122.422003528252475, 37.808480096967251, 0.0],.
. [-122.422076013325281, 37.808835019815085, 0.0], [-122.421102174348633, 37.808803534992904, 0.0], [-122.421062569067.
.274, 37.808601056818148, 0.0], [-122.422003528252475, 37.808480096967251, 0.0]]]}, "properties": {"TO_ST": "0", "BLKL.
.OT": "0001001", "STREET": "UNKNOWN", "FROM_ST": "0", "LOT_NUM": "001", "ST_TYPE": null, "ODD_EVEN": "E", "BLOCK_NUM":.
. "0001", "MAPBLKLOT": "0001001"}}
(1 row)
postgres=# analyze t4;
The connection to the server was lost. Attempting reset: Failed
postgres=# select version();
version
-----------------------------------------------------------------------------------------------------------------
PostgreSQL 9.4beta1 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7), 64-bit
(1 row)
Program received signal SIGABRT, Aborted.
0x000000382fc35c39 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x000000382fc35c39 in raise () from /lib64/libc.so.6
#1 0x000000382fc37348 in abort () from /lib64/libc.so.6
#2 0x000000000078d8d7 in ExceptionalCondition (
conditionName=conditionName@entry=0x91daa0 "!(va.type == jbvArray || va.type == jbvObject)",
errorType=errorType@entry=0x7c62bc "FailedAssertion", fileName=fileName@entry=0x91d5db "jsonb_util.c",
lineNumber=lineNumber@entry=208) at assert.c:54
#3 0x0000000000708815 in compareJsonbContainers (a=a@entry=0x7fd8371b7cbc, b=b@entry=0x11537b4)
at jsonb_util.c:208
#4 0x0000000000706cc3 in jsonb_cmp (fcinfo=0x11aad18) at jsonb_op.c:244
#5 0x00000000007b32f9 in comparison_shim (x=<optimized out>, y=<optimized out>, ssup=<optimized out>)
at sortsupport.c:53
#6 0x0000000000555893 in ApplySortComparator (isNull1=0 '\000', isNull2=0 '\000', ssup=0x7fff7aff12d0,
datum2=<optimized out>, datum1=<optimized out>) at ../../../src/include/utils/sortsupport.h:143
#7 compare_scalars (a=<optimized out>, b=<optimized out>, arg=0x7fff7aff12c0) at analyze.c:2784
#8 0x00000000007c4625 in qsort_arg (a=a@entry=0x7fd834d3e048, n=<optimized out>, n@entry=27648, es=es@entry=16,
cmp=cmp@entry=0x555870 <compare_scalars>, arg=arg@entry=0x7fff7aff12c0) at qsort_arg.c:156
#9 0x0000000000554c21 in compute_scalar_stats (stats=0x11488f8, fetchfunc=<optimized out>, samplerows=30000,
totalrows=206560) at analyze.c:2366
#10 0x0000000000556e1e in do_analyze_rel (onerel=onerel@entry=0x7fd8375c8950, acquirefunc=<optimized out>,
relpages=18392, inh=inh@entry=0 '\000', elevel=elevel@entry=13, vacstmt=0x10e6bf8, vacstmt=0x10e6bf8)
at analyze.c:528
#11 0x0000000000557bc1 in analyze_rel (relid=relid@entry=22085, vacstmt=vacstmt@entry=0x10e6bf8,
bstrategy=<optimized out>) at analyze.c:268
#12 0x00000000005a9bf4 in vacuum (vacstmt=vacstmt@entry=0x10e6bf8, relid=relid@entry=0,
do_toast=do_toast@entry=1 '\001', bstrategy=<optimized out>, bstrategy@entry=0x0,
for_wraparound=for_wraparound@entry=0 '\000', isTopLevel=isTopLevel@entry=1 '\001') at vacuum.c:251
#13 0x00000000006b1b9a in standard_ProcessUtility (parsetree=0x10e6bf8, queryString=<optimized out>,
context=<optimized out>, params=0x0, dest=<optimized out>, completionTag=<optimized out>) at utility.c:645
#14 0x00000000006aec11 in PortalRunUtility (portal=portal@entry=0x11428a8,
utilityStmt=utilityStmt@entry=0x10e6bf8, isTopLevel=isTopLevel@entry=1 '\001', dest=dest@entry=0x10e6fa0,
completionTag=completionTag@entry=0x7fff7aff1b40 "") at pquery.c:1187
#15 0x00000000006af8b2 in PortalRunMulti (portal=portal@entry=0x11428a8, isTopLevel=isTopLevel@entry=1 '\001',
dest=dest@entry=0x10e6fa0, altdest=altdest@entry=0x10e6fa0,
completionTag=completionTag@entry=0x7fff7aff1b40 "") at pquery.c:1318
#16 0x00000000006b0460 in PortalRun (portal=portal@entry=0x11428a8, count=count@entry=9223372036854775807,
isTopLevel=isTopLevel@entry=1 '\001', dest=dest@entry=0x10e6fa0, altdest=altdest@entry=0x10e6fa0,
completionTag=completionTag@entry=0x7fff7aff1b40 "") at pquery.c:816
#17 0x00000000006ae03b in exec_simple_query (query_string=0x10e6158 "analyze t4;") at postgres.c:1045
#18 PostgresMain (argc=<optimized out>, argv=argv@entry=0x1080df0, dbname=0x1080c50 "postgres",
username=<optimized out>) at postgres.c:4004
#19 0x0000000000461307 in BackendRun (port=0x10a0060) at postmaster.c:4117
#20 BackendStartup (port=0x10a0060) at postmaster.c:3791
#21 ServerLoop () at postmaster.c:1570
#22 0x000000000065404e in PostmasterMain (argc=argc@entry=3, argv=argv@entry=0x107f5c0) at postmaster.c:1223
#23 0x0000000000461fce in main (argc=3, argv=0x107f5c0) at main.c:225
I can share this data if there is some request - it is about 50MB
Regards
Pavel
pgsql-hackers by date: