turbot / steampipe

Zero-ETL, infinite possibilities. Live query APIs, code & more with SQL. No DB required.
https://steampipe.io
GNU Affero General Public License v3.0
6.92k stars 274 forks source link

Support for Postgresql Triggers + Hasura #3572

Closed byt3bl33d3r closed 1 year ago

byt3bl33d3r commented 1 year ago

Is your feature request related to a problem? Please describe

I'm trying to hook up Hasura so I can have a "drop-in" GraphQL API to Steampipe. I'm running steampipe in service mode through docker. Initially everything seemed to work out of the box, however, the underlying postgres db that steampipe uses has some funky permission stuff going on that doesn't allow Hasura to create triggers which it uses for Event Triggers. When attempting to create a Grahpql Subscriptions instead, the plugins throw a segmentation violation.

GraphQL queries work just fine out of the box which in itself is dang cool:

image

Taking a look at the steampipe logs at /home/steampipe/.steampipe/logs in the docker container I see two different errors.

Error on Event Trigger Creation

It seems like the steampipe user doesn't have permissions to create additional schemas which result in the following error

Expand to see error (lots of text) ``` 2023-06-14 12:57:48.817 UTC [2343] LOG: disconnection: session time: 0:03:00.975 user=steampipe database=steampipe host=172.28.0.3 port=38448 2023-06-14 12:57:48.819 UTC [2345] LOG: disconnection: session time: 0:03:00.948 user=steampipe database=steampipe host=172.28.0.3 port=38452 2023-06-14 12:57:56.829 UTC [2344] LOG: disconnection: session time: 0:03:08.958 user=steampipe database=steampipe host=172.28.0.3 port=38454 2023-06-14 12:58:33.620 UTC [2347] ERROR: permission denied for database steampipe 2023-06-14 12:58:33.620 UTC [2347] STATEMENT: CREATE SCHEMA hdb_catalog 2023-06-14 12:58:43.624 UTC [2347] ERROR: permission denied for database steampipe 2023-06-14 12:58:43.624 UTC [2347] STATEMENT: CREATE SCHEMA hdb_catalog 2023-06-14 12:58:53.630 UTC [2347] ERROR: permission denied for database steampipe 2023-06-14 12:58:53.630 UTC [2347] STATEMENT: CREATE SCHEMA hdb_catalog 2023-06-14 12:59:03.637 UTC [2347] ERROR: permission denied for database steampipe 2023-06-14 12:59:03.637 UTC [2347] STATEMENT: CREATE SCHEMA hdb_catalog 2023-06-14 12:59:03.641 UTC [2347] ERROR: schema "hdb_catalog" does not exist 2023-06-14 12:59:03.641 UTC [2347] STATEMENT: CREATE OR REPLACE function hdb_catalog."notify_hasura_test_steampipe_INSERT"() RETURNS trigger LANGUAGE plpgsql AS $$ DECLARE _old record; _new record; _data json; BEGIN IF TG_OP = 'UPDATE' THEN _old := row((SELECT "e" FROM (SELECT OLD."type" , OLD."_ctx" , OLD."referenced_group_id" , OLD."prefix_list_id" , OLD."pair_user_id" , OLD."referenced_vpc_peering_connection_id" , OLD."group_id" , OLD."pair_group_id" , OLD."owner_id" , OLD."ip_protocol" , OLD."vpc_id" , OLD."description" , OLD."is_egress" , OLD."from_port" , OLD."pair_vpc_peering_connection_id" , OLD."partition" , OLD."pair_peering_status" , OLD."referenced_peering_status" , OLD."region" , OLD."pair_vpc_id" , OLD."security_group_rule_id" , OLD."title" , OLD."akas" , OLD."referenced_user_id" , OLD."pair_group_name" , OLD."cidr_ip" , OLD."referenced_vpc_id" , OLD."to_port" , OLD."cidr_ipv6" , OLD."group_owner_id" , OLD."group_name" , OLD."account_id" , OLD."cidr_ipv4" ) AS "e" ) ); _new := row((SELECT "e" FROM (SELECT NEW."type" , NEW."_ctx" , NEW."referenced_group_id" , NEW."prefix_list_id" , NEW."pair_user_id" , NEW."referenced_vpc_peering_connection_id" , NEW."group_id" , NEW."pair_group_id" , NEW."owner_id" , NEW."ip_protocol" , NEW."vpc_id" , NEW."description" , NEW."is_egress" , NEW."from_port" , NEW."pair_vpc_peering_connection_id" , NEW."partition" , NEW."pair_peering_status" , NEW."referenced_peering_status" , NEW."region" , NEW."pair_vpc_id" , NEW."security_group_rule_id" , NEW."title" , NEW."akas" , NEW."referenced_user_id" , NEW."pair_group_name" , NEW."cidr_ip" , NEW."referenced_vpc_id" , NEW."to_port" , NEW."cidr_ipv6" , NEW."group_owner_id" , NEW."group_name" , NEW."account_id" , NEW."cidr_ipv4" ) AS "e" ) ); ELSE /* initialize _old and _new with dummy values for INSERT and UPDATE events*/ _old := row((select 1)); _new := row((select 1)); END IF; _data := json_build_object( 'old', NULL, 'new', row_to_json((SELECT "e" FROM (SELECT NEW."type" , NEW."_ctx" , NEW."referenced_group_id" , NEW."prefix_list_id" , NEW."pair_user_id" , NEW."referenced_vpc_peering_connection_id" , NEW."group_id" , NEW."pair_group_id" , NEW."owner_id" , NEW."ip_protocol" , NEW."vpc_id" , NEW."description" , NEW."is_egress" , NEW."from_port" , NEW."pair_vpc_peering_connection_id" , NEW."partition" , NEW."pair_peering_status" , NEW."referenced_peering_status" , NEW."region" , NEW."pair_vpc_id" , NEW."security_group_rule_id" , NEW."title" , NEW."akas" , NEW."referenced_user_id" , NEW."pair_group_name" , NEW."cidr_ip" , NEW."referenced_vpc_id" , NEW."to_port" , NEW."cidr_ipv6" , NEW."group_owner_id" , NEW."group_name" , NEW."account_id" , NEW."cidr_ipv4" ) AS "e" ) ) ); BEGIN /* NOTE: formerly we used TG_TABLE_NAME in place of tableName here. However in the case of partitioned tables this will give the name of the partitioned table and since we use the table name to get the event trigger configuration from the schema, this fails because the event trigger is only created on the original table. */ IF (TG_OP <> 'UPDATE') OR (_old <> _new) THEN PERFORM hdb_catalog.insert_event_log(CAST('aws' AS text), CAST('aws_vpc_security_group_rule' AS text), CAST('test_steampipe' AS text), TG_OP, _data); END IF; EXCEPTION WHEN undefined_function THEN IF (TG_OP <> 'UPDATE') OR (_old *<> _new) THEN PERFORM hdb_catalog.insert_event_log(CAST('aws' AS text), CAST('aws_vpc_security_group_rule' AS text), CAST('test_steampipe' AS text), TG_OP, _data); END IF; END; RETURN NULL; END; $$; 2023-06-14 13:02:04.424 UTC [2347] LOG: disconnection: session time: 0:07:16.104 user=steampipe database=steampipe host=172.28.0.3 port=38480 2023-06-14 13:07:05.995 UTC [2384] LOG: connection received: host=172.28.0.3 port=37404 2023-06-14 13:07:06.005 UTC [2384] LOG: connection authenticated: identity="steampipe" method=scram-sha-256 (/home/steampipe/.steampipe/db/14.2.0/data/pg_hba.conf:30) ```

Error on Graphql Subscription

I used the following graphql to attempt to create the subscription:

subscription mysub {
  aws_aws_vpc_security_group_rule(where: {type: {_eq: "ingress"}, cidr_ip: {_eq: "0.0.0.0/0"}}) {
    group_id
    group_name
    region
  }
}

This made the aws plugin throw a segmentation violation:

Expand to see error (lots of text) ``` 2023-06-14 13:07:12.929 UTC [2389] LOG: connection authorized: user=steampipe database=steampipe SSL enabled (protocol=TLSv1.2, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256) fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7f4b08] runtime stack: runtime.throw({0x7ff0ae4823d6?, 0x1d2da6d?}) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/panic.go:1047 +0x5f fp=0x7ffc3cce7f08 sp=0x7ffc3cce7ed8 pc=0x7ff0ad7255df runtime.sigpanic() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/signal_unix.go:819 +0x369 fp=0x7ffc3cce7f58 sp=0x7ffc3cce7f08 pc=0x7ff0ad73bce9 goroutine 17 [syscall, locked to thread]: runtime.cgocall(0x7ff0ae4351b0, 0xc000715a70) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/cgocall.go:158 +0x5c fp=0xc000715a48 sp=0xc000715a10 pc=0x7ff0ad6ef1dc main._Cfunc_ExecEvalExpr(0x1d2da68, 0x14b7aa0, 0xc000913ba8) _cgo_gotypes.go:2946 +0x51 fp=0xc000715a70 sp=0xc000715a48 pc=0x7ff0ae4239f1 main.getQualValue.func4(0x7ff0ae493a06?, 0x7ff000000077?, 0xc000715b10?) /home/runner/work/steampipe-postgres-fdw/steampipe-postgres-fdw/quals.go:350 +0x74 fp=0xc000715ab8 sp=0xc000715a70 pc=0x7ff0ae42f354 main.getQualValue(0x1d1ce68, 0x26220d0, 0x2633068) /home/runner/work/steampipe-postgres-fdw/steampipe-postgres-fdw/quals.go:350 +0x149 fp=0xc000715b40 sp=0xc000715ab8 pc=0x7ff0ae42ef69 main.qualFromOpExpr(0x26342a8, 0x26220d0, 0xc000715ca0?) /home/runner/work/steampipe-postgres-fdw/steampipe-postgres-fdw/quals.go:110 +0x1b4 fp=0xc000715bf0 sp=0xc000715b40 pc=0x7ff0ae42d894 main.restrictionsToQuals(0x26220d0, 0x1b?) /home/runner/work/steampipe-postgres-fdw/steampipe-postgres-fdw/quals.go:46 +0x232 fp=0xc000715ce8 sp=0xc000715bf0 pc=0x7ff0ae42cfd2 main.goFdwBeginForeignScan(0x26220d0, 0x10) /home/runner/work/steampipe-postgres-fdw/steampipe-postgres-fdw/fdw.go:230 +0x2c5 fp=0xc000715e10 sp=0xc000715ce8 pc=0x7ff0ae428fc5 _cgoexp_15c14303aa49_goFdwBeginForeignScan(0x7ffc3cce7ea0?) _cgo_gotypes.go:4055 +0x25 fp=0xc000715e30 sp=0xc000715e10 pc=0x7ff0ae431ea5 runtime.cgocallbackg1(0x7ff0ae431e80, 0xc000715fe0?, 0x0) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/cgocall.go:316 +0x2c2 fp=0xc000715f00 sp=0xc000715e30 pc=0x7ff0ad6ef702 runtime.cgocallbackg(0x0?, 0x0?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/cgocall.go:235 +0x109 fp=0xc000715f90 sp=0xc000715f00 pc=0x7ff0ad6ef389 runtime.cgocallbackg(0x7ff0ae431e80, 0x7ffc3cce815c, 0x0) :1 +0x31 fp=0xc000715fb8 sp=0xc000715f90 pc=0x7ff0ad75b991 runtime.cgocallback(0x0, 0x0, 0x0) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:994 +0xb3 fp=0xc000715fe0 sp=0xc000715fb8 pc=0x7ff0ad759393 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000715fe8 sp=0xc000715fe0 pc=0x7ff0ad7595e1 goroutine 38 [chan receive]: runtime.gopark(0xc0005f7e18?, 0x7ff0ad72e054?, 0x60?, 0x7e?, 0x7ff0ad744ac5?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000559e08 sp=0xc000559de8 pc=0x7ff0ad7281f6 runtime.chanrecv(0xc00011e480, 0xc0005f7f08, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/chan.go:583 +0x49b fp=0xc000559e98 sp=0xc000559e08 pc=0x7ff0ad6f227b runtime.chanrecv2(0x3b9aca00?, 0x200000003?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/chan.go:447 +0x18 fp=0xc000559ec0 sp=0xc000559e98 pc=0x7ff0ad6f1db8 github.com/hashicorp/go-plugin.pidWait(0x0?) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/process.go:20 +0x8c fp=0xc000559f38 sp=0xc000559ec0 pc=0x7ff0adc933cc github.com/hashicorp/go-plugin.(*Client).reattach.func1(0x0?) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/client.go:853 +0x85 fp=0xc000559fc8 sp=0xc000559f38 pc=0x7ff0adc8c285 github.com/hashicorp/go-plugin.(*Client).reattach.func2() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/client.go:862 +0x2a fp=0xc000559fe0 sp=0xc000559fc8 pc=0x7ff0adc8c1ca runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000559fe8 sp=0xc000559fe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.(*Client).reattach /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/client.go:846 +0x198 goroutine 2 [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000058fb0 sp=0xc000058f90 pc=0x7ff0ad7281f6 runtime.goparkunlock(...) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:369 runtime.forcegchelper() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:302 +0xad fp=0xc000058fe0 sp=0xc000058fb0 pc=0x7ff0ad72808d runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000058fe8 sp=0xc000058fe0 pc=0x7ff0ad7595e1 created by runtime.init.6 /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:290 +0x25 goroutine 3 [GC sweep wait]: runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000059790 sp=0xc000059770 pc=0x7ff0ad7281f6 runtime.goparkunlock(...) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:369 runtime.bgsweep(0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgcsweep.go:297 +0xd7 fp=0xc0000597c8 sp=0xc000059790 pc=0x7ff0ad712717 runtime.gcenable.func1() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:178 +0x26 fp=0xc0000597e0 sp=0xc0000597c8 pc=0x7ff0ad707366 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000597e8 sp=0xc0000597e0 pc=0x7ff0ad7595e1 created by runtime.gcenable /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:178 +0x6b goroutine 4 [GC scavenge wait]: runtime.gopark(0xc000080000?, 0x7ff0ae7fa300?, 0x0?, 0x0?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000059f70 sp=0xc000059f50 pc=0x7ff0ad7281f6 runtime.goparkunlock(...) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:369 runtime.(*scavengerState).park(0x7ff0af4e8560) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgcscavenge.go:389 +0x53 fp=0xc000059fa0 sp=0xc000059f70 pc=0x7ff0ad710773 runtime.bgscavenge(0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgcscavenge.go:622 +0x65 fp=0xc000059fc8 sp=0xc000059fa0 pc=0x7ff0ad710d65 runtime.gcenable.func2() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:179 +0x26 fp=0xc000059fe0 sp=0xc000059fc8 pc=0x7ff0ad707306 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000059fe8 sp=0xc000059fe0 pc=0x7ff0ad7595e1 created by runtime.gcenable /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:179 +0xaa goroutine 19 [finalizer wait]: runtime.gopark(0x0?, 0x7ff0aeb1ac58?, 0x0?, 0xc0?, 0x2000000020?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000058628 sp=0xc000058608 pc=0x7ff0ad7281f6 runtime.goparkunlock(...) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:369 runtime.runfinq() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mfinal.go:180 +0x10f fp=0xc0000587e0 sp=0xc000058628 pc=0x7ff0ad70646f runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000587e8 sp=0xc0000587e0 pc=0x7ff0ad7595e1 created by runtime.createfing /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mfinal.go:157 +0x45 goroutine 5 [GC worker (idle)]: runtime.gopark(0x911bef3db8fca?, 0x160?, 0xa0?, 0x47?, 0x7ff0ad6f1cb9?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000054750 sp=0xc000054730 pc=0x7ff0ad7281f6 runtime.gcBgMarkWorker() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1235 +0xf1 fp=0xc0000547e0 sp=0xc000054750 pc=0x7ff0ad7094d1 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000547e8 sp=0xc0000547e0 pc=0x7ff0ad7595e1 created by runtime.gcBgMarkStartWorkers /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1159 +0x25 goroutine 35 [GC worker (idle)]: runtime.gopark(0x911bef3e32e29?, 0x0?, 0x0?, 0x0?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000136750 sp=0xc000136730 pc=0x7ff0ad7281f6 runtime.gcBgMarkWorker() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1235 +0xf1 fp=0xc0001367e0 sp=0xc000136750 pc=0x7ff0ad7094d1 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0001367e8 sp=0xc0001367e0 pc=0x7ff0ad7595e1 created by runtime.gcBgMarkStartWorkers /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1159 +0x25 goroutine 21 [GC worker (idle)]: runtime.gopark(0x911bef3d225bf?, 0x0?, 0x0?, 0x0?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000054f50 sp=0xc000054f30 pc=0x7ff0ad7281f6 runtime.gcBgMarkWorker() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1235 +0xf1 fp=0xc000054fe0 sp=0xc000054f50 pc=0x7ff0ad7094d1 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000054fe8 sp=0xc000054fe0 pc=0x7ff0ad7595e1 created by runtime.gcBgMarkStartWorkers /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1159 +0x25 goroutine 6 [GC worker (idle)]: runtime.gopark(0x911bef3dba0a2?, 0x0?, 0x0?, 0x0?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc00005a750 sp=0xc00005a730 pc=0x7ff0ad7281f6 runtime.gcBgMarkWorker() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1235 +0xf1 fp=0xc00005a7e0 sp=0xc00005a750 pc=0x7ff0ad7094d1 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00005a7e8 sp=0xc00005a7e0 pc=0x7ff0ad7595e1 created by runtime.gcBgMarkStartWorkers /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/mgc.go:1159 +0x25 goroutine 7 [select]: runtime.gopark(0xc000055f88?, 0x3?, 0x18?, 0xe4?, 0xc000055f72?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000055df8 sp=0xc000055dd8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000055f88, 0xc000055f6c, 0xc0001b0380?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000055f38 sp=0xc000055df8 pc=0x7ff0ad737ffc go.opencensus.io/stats/view.(*worker).start(0xc0001b0380) /home/runner/go/pkg/mod/go.opencensus.io@v0.24.0/stats/view/worker.go:292 +0xad fp=0xc000055fc8 sp=0xc000055f38 pc=0x7ff0ade9178d go.opencensus.io/stats/view.init.0.func1() /home/runner/go/pkg/mod/go.opencensus.io@v0.24.0/stats/view/worker.go:34 +0x26 fp=0xc000055fe0 sp=0xc000055fc8 pc=0x7ff0ade909c6 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000055fe8 sp=0xc000055fe0 pc=0x7ff0ad7595e1 created by go.opencensus.io/stats/view.init.0 /home/runner/go/pkg/mod/go.opencensus.io@v0.24.0/stats/view/worker.go:34 +0x8d goroutine 37 [select]: runtime.gopark(0xc0005fbf90?, 0x2?, 0x0?, 0x0?, 0xc0005fbf74?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc0004eddf8 sp=0xc0004eddd8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc0004edf90, 0xc0005fbf70, 0x7ff0ad6f16a0?, 0x0, 0xc0005fbf88?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc0004edf38 sp=0xc0004eddf8 pc=0x7ff0ad737ffc github.com/golang/glog.(*fileSink).flushDaemon(0x7ff0af4e82d8) /home/runner/go/pkg/mod/github.com/golang/glog@v1.1.0/glog_file.go:345 +0xcd fp=0xc0004edfc8 sp=0xc0004edf38 pc=0x7ff0ae21088d github.com/golang/glog.init.1.func1() /home/runner/go/pkg/mod/github.com/golang/glog@v1.1.0/glog_file.go:163 +0x26 fp=0xc0004edfe0 sp=0xc0004edfc8 pc=0x7ff0ae20f8e6 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0004edfe8 sp=0xc0004edfe0 pc=0x7ff0ad7595e1 created by github.com/golang/glog.init.1 /home/runner/go/pkg/mod/github.com/golang/glog@v1.1.0/glog_file.go:163 +0x17f goroutine 39 [select]: runtime.gopark(0xc000069f98?, 0x2?, 0x0?, 0x0?, 0xc000069f7c?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000069e00 sp=0xc000069de0 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000069f98, 0xc000069f78, 0xc000012e58?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000069f40 sp=0xc000069e00 pc=0x7ff0ad737ffc google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc0004fbe40) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/balancer_conn_wrappers.go:115 +0x73 fp=0xc000069fc8 sp=0xc000069f40 pc=0x7ff0adc01813 google.golang.org/grpc.newCCBalancerWrapper.func1() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/balancer_conn_wrappers.go:76 +0x26 fp=0xc000069fe0 sp=0xc000069fc8 pc=0x7ff0adc01766 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000069fe8 sp=0xc000069fe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc.newCCBalancerWrapper /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/balancer_conn_wrappers.go:76 +0x22a goroutine 25 [select]: runtime.gopark(0xc00065dfb0?, 0x2?, 0x0?, 0x0?, 0xc00065df94?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc0004efe18 sp=0xc0004efdf8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc0004effb0, 0xc00065df90, 0xc00065dfb8?, 0x0, 0xc000704000?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc0004eff58 sp=0xc0004efe18 pc=0x7ff0ad737ffc google.golang.org/grpc.newClientStreamWithParams.func4() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:375 +0x92 fp=0xc0004effe0 sp=0xc0004eff58 pc=0x7ff0adc22472 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0004effe8 sp=0xc0004effe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc.newClientStreamWithParams /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:374 +0xe6f goroutine 11 [select]: runtime.gopark(0xc000055758?, 0x2?, 0x0?, 0x0?, 0xc00005574c?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc0000555d8 sp=0xc0000555b8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000055758, 0xc000055748, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000055718 sp=0xc0000555d8 pc=0x7ff0ad737ffc github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).Recv(0x0?) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:234 +0x67 fp=0xc000055788 sp=0xc000055718 pc=0x7ff0adc8e2a7 github.com/hashicorp/go-plugin.(*GRPCBroker).Run(0xc0001701e0) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:414 +0x44 fp=0xc0000557c8 sp=0xc000055788 pc=0x7ff0adc8f024 github.com/hashicorp/go-plugin.newGRPCClient.func1() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:67 +0x26 fp=0xc0000557e0 sp=0xc0000557c8 pc=0x7ff0adc906e6 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000557e8 sp=0xc0000557e0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.newGRPCClient /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:67 +0x2ca goroutine 12 [select]: runtime.gopark(0xc0004e9be0?, 0x2?, 0xf0?, 0xc3?, 0xc0004e9bdc?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc0004e9a68 sp=0xc0004e9a48 pc=0x7ff0ad7281f6 runtime.selectgo(0xc0004e9be0, 0xc0004e9bd8, 0x5?, 0x0, 0x16?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc0004e9ba8 sp=0xc0004e9a68 pc=0x7ff0ad737ffc google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc000790120) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:331 +0x7c fp=0xc0004e9c10 sp=0xc0004e9ba8 pc=0x7ff0adba9c5c google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:346 google.golang.org/grpc.(*csAttempt).recvMsg(0xc0005ea340, {0x7ff0aea96860?, 0xc0004c6280}, 0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:1058 +0xc5 fp=0xc0004e9d40 sp=0xc0004e9c10 pc=0x7ff0adc26625 google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:909 +0x25 fp=0xc0004e9d70 sp=0xc0004e9d40 pc=0x7ff0adc25905 google.golang.org/grpc.(*clientStream).withRetry(0xc0005ee240, 0xc0004e9e90, 0xc0004e9e60) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:744 +0x3be fp=0xc0004e9de0 sp=0xc0004e9d70 pc=0x7ff0adc2455e google.golang.org/grpc.(*clientStream).RecvMsg(0xc0005ee240, {0x7ff0aea96860?, 0xc0004c6280?}) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:908 +0x13a fp=0xc0004e9ec0 sp=0xc0004e9de0 pc=0x7ff0adc2553a github.com/hashicorp/go-plugin/internal/plugin.(*gRPCBrokerStartStreamClient).Recv(0xc0003922b0) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/internal/plugin/grpc_broker.pb.go:132 +0x4c fp=0xc0004e9ef0 sp=0xc0004e9ec0 pc=0x7ff0adc46a0c github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream(0xc000702080) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:197 +0x1d8 fp=0xc0004e9fc8 sp=0xc0004e9ef0 pc=0x7ff0adc8dc38 github.com/hashicorp/go-plugin.newGRPCClient.func2() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:68 +0x26 fp=0xc0004e9fe0 sp=0xc0004e9fc8 pc=0x7ff0adc90686 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0004e9fe8 sp=0xc0004e9fe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.newGRPCClient /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:68 +0x30a goroutine 26 [select]: runtime.gopark(0xc000659fa0?, 0x3?, 0x0?, 0x0?, 0xc000659f62?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000555de0 sp=0xc000555dc0 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000555fa0, 0xc000659f5c, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000555f20 sp=0xc000555de0 pc=0x7ff0ad737ffc github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream.func1() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:184 +0x105 fp=0xc000555fe0 sp=0xc000555f20 pc=0x7ff0adc8dee5 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000555fe8 sp=0xc000555fe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:182 +0x175 goroutine 23 [IO wait]: runtime.gopark(0xc00067a000?, 0xb?, 0x0?, 0x0?, 0x3e?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc00055baf8 sp=0xc00055bad8 pc=0x7ff0ad7281f6 runtime.netpollblock(0x7ff0ad76d505?, 0xad7c2245?, 0xf0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/netpoll.go:526 +0xf7 fp=0xc00055bb30 sp=0xc00055baf8 pc=0x7ff0ad720ab7 internal/poll.runtime_pollWait(0x7ff0afb4c358, 0x72) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/netpoll.go:305 +0x89 fp=0xc00055bb50 sp=0xc00055bb30 pc=0x7ff0ad7538e9 internal/poll.(*pollDesc).wait(0xc000654000?, 0xc000660000?, 0x0) /opt/hostedtoolcache/go/1.19.9/x64/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc00055bb78 sp=0xc00055bb50 pc=0x7ff0ad7c2552 internal/poll.(*pollDesc).waitRead(...) /opt/hostedtoolcache/go/1.19.9/x64/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000654000, {0xc000660000, 0x8000, 0x8000}) /opt/hostedtoolcache/go/1.19.9/x64/src/internal/poll/fd_unix.go:167 +0x25a fp=0xc00055bbf8 sp=0xc00055bb78 pc=0x7ff0ad7c38ba net.(*netFD).Read(0xc000654000, {0xc000660000?, 0x7ff0afb83018?, 0xc00055bd48?}) /opt/hostedtoolcache/go/1.19.9/x64/src/net/fd_posix.go:55 +0x29 fp=0xc00055bc40 sp=0xc00055bbf8 pc=0x7ff0ad87aba9 net.(*conn).Read(0xc000014020, {0xc000660000?, 0x7ff0b02355b8?, 0x8ae010601?}) /opt/hostedtoolcache/go/1.19.9/x64/src/net/net.go:183 +0x45 fp=0xc00055bc88 sp=0xc00055bc40 pc=0x7ff0ad88caa5 bufio.(*Reader).Read(0xc0000842a0, {0xc0000b2120, 0x9, 0x18?}) /opt/hostedtoolcache/go/1.19.9/x64/src/bufio/bufio.go:237 +0x1bb fp=0xc00055bcc0 sp=0xc00055bc88 pc=0x7ff0ad852b5b io.ReadAtLeast({0x7ff0aeb1e980, 0xc0000842a0}, {0xc0000b2120, 0x9, 0x9}, 0x9) /opt/hostedtoolcache/go/1.19.9/x64/src/io/io.go:332 +0x9a fp=0xc00055bd08 sp=0xc00055bcc0 pc=0x7ff0ad7a703a io.ReadFull(...) /opt/hostedtoolcache/go/1.19.9/x64/src/io/io.go:351 golang.org/x/net/http2.readFrameHeader({0xc0000b2120?, 0x9?, 0x2f73c7f?}, {0x7ff0aeb1e980?, 0xc0000842a0?}) /home/runner/go/pkg/mod/golang.org/x/net@v0.8.0/http2/frame.go:237 +0x6e fp=0xc00055bd58 sp=0xc00055bd08 pc=0x7ff0adb6176e golang.org/x/net/http2.(*Framer).ReadFrame(0xc0000b20e0) /home/runner/go/pkg/mod/golang.org/x/net@v0.8.0/http2/frame.go:498 +0x95 fp=0xc00055be08 sp=0xc00055bd58 pc=0x7ff0adb61fd5 google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc00067a000, 0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:1595 +0x265 fp=0xc00055bfc0 sp=0xc00055be08 pc=0x7ff0adb99985 google.golang.org/grpc/internal/transport.newHTTP2Client.func11() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:397 +0x2a fp=0xc00055bfe0 sp=0xc00055bfc0 pc=0x7ff0adb8eeaa runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00055bfe8 sp=0xc00055bfe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc/internal/transport.newHTTP2Client /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:397 +0x1d5b goroutine 24 [select]: runtime.gopark(0xc00078ff00?, 0x2?, 0xa5?, 0x22?, 0xc00078fed4?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc00078fd60 sp=0xc00078fd40 pc=0x7ff0ad7281f6 runtime.selectgo(0xc00078ff00, 0xc00078fed0, 0xc00064c270?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc00078fea0 sp=0xc00078fd60 pc=0x7ff0ad737ffc google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc0004c6140, 0x1) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/controlbuf.go:418 +0x115 fp=0xc00078ff30 sp=0xc00078fea0 pc=0x7ff0adb84515 google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc00067e000) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/controlbuf.go:552 +0x91 fp=0xc00078ff90 sp=0xc00078ff30 pc=0x7ff0adb84c91 google.golang.org/grpc/internal/transport.newHTTP2Client.func6() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:451 +0x85 fp=0xc00078ffe0 sp=0xc00078ff90 pc=0x7ff0adb8ed85 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00078ffe8 sp=0xc00078ffe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc/internal/transport.newHTTP2Client /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:449 +0x23b3 goroutine 27 [select]: runtime.gopark(0xc0000567b0?, 0x2?, 0x80?, 0x66?, 0xc000056794?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000056618 sp=0xc0000565f8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc0000567b0, 0xc000056790, 0xc0000567b8?, 0x0, 0xc000704000?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000056758 sp=0xc000056618 pc=0x7ff0ad737ffc google.golang.org/grpc.newClientStreamWithParams.func4() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:375 +0x92 fp=0xc0000567e0 sp=0xc000056758 pc=0x7ff0adc22472 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000567e8 sp=0xc0000567e0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc.newClientStreamWithParams /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:374 +0xe6f goroutine 28 [select]: runtime.gopark(0xc00006abd8?, 0x2?, 0x0?, 0x0?, 0xc00006abd4?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc00006aa60 sp=0xc00006aa40 pc=0x7ff0ad7281f6 runtime.selectgo(0xc00006abd8, 0xc00006abd0, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc00006aba0 sp=0xc00006aa60 pc=0x7ff0ad737ffc google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc000790360) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:331 +0x7c fp=0xc00006ac08 sp=0xc00006aba0 pc=0x7ff0adba9c5c google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:346 google.golang.org/grpc.(*csAttempt).recvMsg(0xc0005ea270, {0x7ff0aea900c0?, 0xc0004fbf80}, 0xc000132690?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:1058 +0xc5 fp=0xc00006ad38 sp=0xc00006ac08 pc=0x7ff0adc26625 google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:909 +0x25 fp=0xc00006ad68 sp=0xc00006ad38 pc=0x7ff0adc25905 google.golang.org/grpc.(*clientStream).withRetry(0xc0005ee120, 0xc00006ae88, 0xc00006ae58) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:760 +0x144 fp=0xc00006add8 sp=0xc00006ad68 pc=0x7ff0adc242e4 google.golang.org/grpc.(*clientStream).RecvMsg(0xc0005ee120, {0x7ff0aea900c0?, 0xc0004fbf80?}) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:908 +0x13a fp=0xc00006aeb8 sp=0xc00006add8 pc=0x7ff0adc2553a github.com/hashicorp/go-plugin/internal/plugin.(*gRPCStdioStreamStdioClient).Recv(0xc0003922f0) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/internal/plugin/grpc_stdio.pb.go:160 +0x4c fp=0xc00006aee8 sp=0xc00006aeb8 pc=0x7ff0adc4792c github.com/hashicorp/go-plugin.(*grpcStdioClient).Run(0xc000648220, {0x7ff0aeb25e00, 0x7ff0af519940}, {0x7ff0aeb25e00, 0x7ff0af519940}) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_stdio.go:135 +0xef fp=0xc00006afa8 sp=0xc00006aee8 pc=0x7ff0adc90ccf github.com/hashicorp/go-plugin.newGRPCClient.func3() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:75 +0x36 fp=0xc00006afe0 sp=0xc00006afa8 pc=0x7ff0adc90636 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00006afe8 sp=0xc00006afe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.newGRPCClient /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:75 +0x42c goroutine 13 [chan receive]: runtime.gopark(0x1f0b0235f18?, 0x0?, 0x60?, 0x96?, 0x7ff0ad744ac5?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000139608 sp=0xc0001395e8 pc=0x7ff0ad7281f6 runtime.chanrecv(0xc000084240, 0xc000139708, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/chan.go:583 +0x49b fp=0xc000139698 sp=0xc000139608 pc=0x7ff0ad6f227b runtime.chanrecv2(0x3b9aca00?, 0x0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/chan.go:447 +0x18 fp=0xc0001396c0 sp=0xc000139698 pc=0x7ff0ad6f1db8 github.com/hashicorp/go-plugin.pidWait(0x0?) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/process.go:20 +0x8c fp=0xc000139738 sp=0xc0001396c0 pc=0x7ff0adc933cc github.com/hashicorp/go-plugin.(*Client).reattach.func1(0x0?) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/client.go:853 +0x85 fp=0xc0001397c8 sp=0xc000139738 pc=0x7ff0adc8c285 github.com/hashicorp/go-plugin.(*Client).reattach.func2() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/client.go:862 +0x2a fp=0xc0001397e0 sp=0xc0001397c8 pc=0x7ff0adc8c1ca runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0001397e8 sp=0xc0001397e0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.(*Client).reattach /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/client.go:846 +0x198 goroutine 14 [select]: runtime.gopark(0xc000067f98?, 0x2?, 0x0?, 0x0?, 0xc000067f7c?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000067e00 sp=0xc000067de0 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000067f98, 0xc000067f78, 0xc0005b0210?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000067f40 sp=0xc000067e00 pc=0x7ff0ad737ffc google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc0004fa280) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/balancer_conn_wrappers.go:115 +0x73 fp=0xc000067fc8 sp=0xc000067f40 pc=0x7ff0adc01813 google.golang.org/grpc.newCCBalancerWrapper.func1() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/balancer_conn_wrappers.go:76 +0x26 fp=0xc000067fe0 sp=0xc000067fc8 pc=0x7ff0adc01766 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000067fe8 sp=0xc000067fe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc.newCCBalancerWrapper /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/balancer_conn_wrappers.go:76 +0x22a goroutine 29 [select]: runtime.gopark(0xc000134fb0?, 0x2?, 0x0?, 0x0?, 0xc000134f94?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000134e18 sp=0xc000134df8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000134fb0, 0xc000134f90, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000134f58 sp=0xc000134e18 pc=0x7ff0ad737ffc google.golang.org/grpc.newClientStreamWithParams.func4() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:375 +0x92 fp=0xc000134fe0 sp=0xc000134f58 pc=0x7ff0adc22472 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000134fe8 sp=0xc000134fe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc.newClientStreamWithParams /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:374 +0xe6f goroutine 16 [select]: runtime.gopark(0xc000056f58?, 0x2?, 0x0?, 0x0?, 0xc000056f4c?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000056dd8 sp=0xc000056db8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000056f58, 0xc000056f48, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000056f18 sp=0xc000056dd8 pc=0x7ff0ad737ffc github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).Recv(0x0?) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:234 +0x67 fp=0xc000056f88 sp=0xc000056f18 pc=0x7ff0adc8e2a7 github.com/hashicorp/go-plugin.(*GRPCBroker).Run(0xc0005a4730) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:414 +0x44 fp=0xc000056fc8 sp=0xc000056f88 pc=0x7ff0adc8f024 github.com/hashicorp/go-plugin.newGRPCClient.func1() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:67 +0x26 fp=0xc000056fe0 sp=0xc000056fc8 pc=0x7ff0adc906e6 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000056fe8 sp=0xc000056fe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.newGRPCClient /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:67 +0x2ca goroutine 51 [select]: runtime.gopark(0xc000727be0?, 0x2?, 0xb0?, 0xed?, 0xc000727bdc?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000727a68 sp=0xc000727a48 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000727be0, 0xc000727bd8, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000727ba8 sp=0xc000727a68 pc=0x7ff0ad737ffc google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc0006b06c0) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:331 +0x7c fp=0xc000727c10 sp=0xc000727ba8 pc=0x7ff0adba9c5c google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:346 google.golang.org/grpc.(*csAttempt).recvMsg(0xc0005ae340, {0x7ff0aea96860?, 0xc0005a4960}, 0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:1058 +0xc5 fp=0xc000727d40 sp=0xc000727c10 pc=0x7ff0adc26625 google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:909 +0x25 fp=0xc000727d70 sp=0xc000727d40 pc=0x7ff0adc25905 google.golang.org/grpc.(*clientStream).withRetry(0xc0006b0480, 0xc000727e90, 0xc000727e60) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:744 +0x3be fp=0xc000727de0 sp=0xc000727d70 pc=0x7ff0adc2455e google.golang.org/grpc.(*clientStream).RecvMsg(0xc0006b0480, {0x7ff0aea96860?, 0xc0005a4960?}) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:908 +0x13a fp=0xc000727ec0 sp=0xc000727de0 pc=0x7ff0adc2553a github.com/hashicorp/go-plugin/internal/plugin.(*gRPCBrokerStartStreamClient).Recv(0xc0004dab00) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/internal/plugin/grpc_broker.pb.go:132 +0x4c fp=0xc000727ef0 sp=0xc000727ec0 pc=0x7ff0adc46a0c github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream(0xc0004fa400) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:197 +0x1d8 fp=0xc000727fc8 sp=0xc000727ef0 pc=0x7ff0adc8dc38 github.com/hashicorp/go-plugin.newGRPCClient.func2() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:68 +0x26 fp=0xc000727fe0 sp=0xc000727fc8 pc=0x7ff0adc90686 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000727fe8 sp=0xc000727fe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.newGRPCClient /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:68 +0x30a goroutine 30 [select]: runtime.gopark(0xc000068bd8?, 0x2?, 0xc7?, 0x91?, 0xc000068bd4?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000068a60 sp=0xc000068a40 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000068bd8, 0xc000068bd0, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000068ba0 sp=0xc000068a60 pc=0x7ff0ad737ffc google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc000790240) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:331 +0x7c fp=0xc000068c08 sp=0xc000068ba0 pc=0x7ff0adba9c5c google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/transport.go:346 google.golang.org/grpc.(*csAttempt).recvMsg(0xc0005ae270, {0x7ff0aea900c0?, 0xc0004fa580}, 0x7ff0af3fb7a8?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:1058 +0xc5 fp=0xc000068d38 sp=0xc000068c08 pc=0x7ff0adc26625 google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:909 +0x25 fp=0xc000068d68 sp=0xc000068d38 pc=0x7ff0adc25905 google.golang.org/grpc.(*clientStream).withRetry(0xc0006b0360, 0xc000068e88, 0xc000068e58) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:760 +0x144 fp=0xc000068dd8 sp=0xc000068d68 pc=0x7ff0adc242e4 google.golang.org/grpc.(*clientStream).RecvMsg(0xc0006b0360, {0x7ff0aea900c0?, 0xc0004fa580?}) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:908 +0x13a fp=0xc000068eb8 sp=0xc000068dd8 pc=0x7ff0adc2553a github.com/hashicorp/go-plugin/internal/plugin.(*gRPCStdioStreamStdioClient).Recv(0xc00027c530) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/internal/plugin/grpc_stdio.pb.go:160 +0x4c fp=0xc000068ee8 sp=0xc000068eb8 pc=0x7ff0adc4792c github.com/hashicorp/go-plugin.(*grpcStdioClient).Run(0xc00012a440, {0x7ff0aeb25e00, 0x7ff0af519940}, {0x7ff0aeb25e00, 0x7ff0af519940}) /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_stdio.go:135 +0xef fp=0xc000068fa8 sp=0xc000068ee8 pc=0x7ff0adc90ccf github.com/hashicorp/go-plugin.newGRPCClient.func3() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:75 +0x36 fp=0xc000068fe0 sp=0xc000068fa8 pc=0x7ff0adc90636 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000068fe8 sp=0xc000068fe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.newGRPCClient /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_client.go:75 +0x42c goroutine 41 [IO wait]: runtime.gopark(0xc00045a000?, 0xb?, 0x0?, 0x0?, 0x42?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000117af8 sp=0xc000117ad8 pc=0x7ff0ad7281f6 runtime.netpollblock(0x7ff0ad76d505?, 0xad7c2245?, 0xf0?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/netpoll.go:526 +0xf7 fp=0xc000117b30 sp=0xc000117af8 pc=0x7ff0ad720ab7 internal/poll.runtime_pollWait(0x7ff0afb4c268, 0x72) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/netpoll.go:305 +0x89 fp=0xc000117b50 sp=0xc000117b30 pc=0x7ff0ad7538e9 internal/poll.(*pollDesc).wait(0xc000654080?, 0xc0006b4000?, 0x0) /opt/hostedtoolcache/go/1.19.9/x64/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc000117b78 sp=0xc000117b50 pc=0x7ff0ad7c2552 internal/poll.(*pollDesc).waitRead(...) /opt/hostedtoolcache/go/1.19.9/x64/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000654080, {0xc0006b4000, 0x8000, 0x8000}) /opt/hostedtoolcache/go/1.19.9/x64/src/internal/poll/fd_unix.go:167 +0x25a fp=0xc000117bf8 sp=0xc000117b78 pc=0x7ff0ad7c38ba net.(*netFD).Read(0xc000654080, {0xc0006b4000?, 0x7ff0aea93fc0?, 0x8001?}) /opt/hostedtoolcache/go/1.19.9/x64/src/net/fd_posix.go:55 +0x29 fp=0xc000117c40 sp=0xc000117bf8 pc=0x7ff0ad87aba9 net.(*conn).Read(0xc000128028, {0xc0006b4000?, 0x30?, 0x8ae010601?}) /opt/hostedtoolcache/go/1.19.9/x64/src/net/net.go:183 +0x45 fp=0xc000117c88 sp=0xc000117c40 pc=0x7ff0ad88caa5 bufio.(*Reader).Read(0xc00011e420, {0xc0002f4580, 0x9, 0x18?}) /opt/hostedtoolcache/go/1.19.9/x64/src/bufio/bufio.go:237 +0x1bb fp=0xc000117cc0 sp=0xc000117c88 pc=0x7ff0ad852b5b io.ReadAtLeast({0x7ff0aeb1e980, 0xc00011e420}, {0xc0002f4580, 0x9, 0x9}, 0x9) /opt/hostedtoolcache/go/1.19.9/x64/src/io/io.go:332 +0x9a fp=0xc000117d08 sp=0xc000117cc0 pc=0x7ff0ad7a703a io.ReadFull(...) /opt/hostedtoolcache/go/1.19.9/x64/src/io/io.go:351 golang.org/x/net/http2.readFrameHeader({0xc0002f4580?, 0x9?, 0x3803f70?}, {0x7ff0aeb1e980?, 0xc00011e420?}) /home/runner/go/pkg/mod/golang.org/x/net@v0.8.0/http2/frame.go:237 +0x6e fp=0xc000117d58 sp=0xc000117d08 pc=0x7ff0adb6176e golang.org/x/net/http2.(*Framer).ReadFrame(0xc0002f4540) /home/runner/go/pkg/mod/golang.org/x/net@v0.8.0/http2/frame.go:498 +0x95 fp=0xc000117e08 sp=0xc000117d58 pc=0x7ff0adb61fd5 google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc00045a000, 0x0?) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:1595 +0x265 fp=0xc000117fc0 sp=0xc000117e08 pc=0x7ff0adb99985 google.golang.org/grpc/internal/transport.newHTTP2Client.func11() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:397 +0x2a fp=0xc000117fe0 sp=0xc000117fc0 pc=0x7ff0adb8eeaa runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000117fe8 sp=0xc000117fe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc/internal/transport.newHTTP2Client /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:397 +0x1d5b goroutine 42 [select]: runtime.gopark(0xc00057df00?, 0x2?, 0xa5?, 0x22?, 0xc00057ded4?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc00057dd60 sp=0xc00057dd40 pc=0x7ff0ad7281f6 runtime.selectgo(0xc00057df00, 0xc00057ded0, 0xc00064c5a0?, 0x0, 0xc000650500?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc00057dea0 sp=0xc00057dd60 pc=0x7ff0ad737ffc google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc0001700a0, 0x1) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/controlbuf.go:418 +0x115 fp=0xc00057df30 sp=0xc00057dea0 pc=0x7ff0adb84515 google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc00026ce00) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/controlbuf.go:552 +0x91 fp=0xc00057df90 sp=0xc00057df30 pc=0x7ff0adb84c91 google.golang.org/grpc/internal/transport.newHTTP2Client.func6() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:451 +0x85 fp=0xc00057dfe0 sp=0xc00057df90 pc=0x7ff0adb8ed85 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00057dfe8 sp=0xc00057dfe0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc/internal/transport.newHTTP2Client /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/internal/transport/http2_client.go:449 +0x23b3 goroutine 52 [select]: runtime.gopark(0xc0000577b0?, 0x2?, 0xe7?, 0x3d?, 0xc000057794?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000057618 sp=0xc0000575f8 pc=0x7ff0ad7281f6 runtime.selectgo(0xc0000577b0, 0xc000057790, 0x7ff0adc8df20?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000057758 sp=0xc000057618 pc=0x7ff0ad737ffc google.golang.org/grpc.newClientStreamWithParams.func4() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:375 +0x92 fp=0xc0000577e0 sp=0xc000057758 pc=0x7ff0adc22472 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000577e8 sp=0xc0000577e0 pc=0x7ff0ad7595e1 created by google.golang.org/grpc.newClientStreamWithParams /home/runner/go/pkg/mod/google.golang.org/grpc@v1.55.0/stream.go:374 +0xe6f goroutine 53 [select]: runtime.gopark(0xc000057fa0?, 0x3?, 0x0?, 0x0?, 0xc000057f62?) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/proc.go:363 +0xd6 fp=0xc000057de0 sp=0xc000057dc0 pc=0x7ff0ad7281f6 runtime.selectgo(0xc000057fa0, 0xc000057f5c, 0x0?, 0x0, 0x0?, 0x1) /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/select.go:328 +0x7bc fp=0xc000057f20 sp=0xc000057de0 pc=0x7ff0ad737ffc github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream.func1() /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:184 +0x105 fp=0xc000057fe0 sp=0xc000057f20 pc=0x7ff0adc8dee5 runtime.goexit() /opt/hostedtoolcache/go/1.19.9/x64/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000057fe8 sp=0xc000057fe0 pc=0x7ff0ad7595e1 created by github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream /home/runner/go/pkg/mod/github.com/hashicorp/go-plugin@v1.4.9/grpc_broker.go:182 +0x175 2023-06-14 13:09:26.874 UTC [16] LOG: server process (PID 2388) was terminated by signal 6: Aborted 2023-06-14 13:09:26.874 UTC [16] DETAIL: Failed process was running: SELECT "__subs"."result_id" , "__fld_resp"."root" AS "result" FROM UNNEST(($1)::uuid[], ($2)::json[]) AS "__subs"("result_id", "result_vars") LEFT OUTER JOIN LATERAL (SELECT json_build_object('aws_aws_vpc_security_group_rule', "_aws_aws_vpc_security_group_rule"."root" ) AS "root" FROM (SELECT coalesce(json_agg("root" ), '[]' ) AS "root" FROM (SELECT row_to_json((SELECT "_e" FROM (SELECT "_root.base"."group_id" AS "group_id", "_root.base"."group_name" AS "group_name", "_root.base"."region" AS "region" ) AS "_e" ) ) AS "root" FROM (SELECT * FROM "aws"."aws_vpc_security_group_rule" WHERE ((("aws"."aws_vpc_security_group_rule"."type") = ((("__subs"."result_vars"#>>ARRAY['synthetic', '0']))::text)) AND (("aws"."aws_vpc_security_group_rule"."cidr_ip") = ((("__subs"."result_vars"#>>ARRAY['synthetic', '1']))::cidr))) ) AS "_root.base" ) AS "_root" ) AS "_aws_aws_vpc_security_group_rule" ) AS "__fld_resp" ON ('true') 2023-06-14 13:09:26.874 UTC [16] LOG: terminating any other active server processes 2023-06-14 13:09:26.880 UTC [2403] LOG: connection received: host=172.28.0.3 port=57858 2023-06-14 13:09:26.885 UTC [2403] FATAL: the database system is in recovery mode 2023-06-14 13:09:26.888 UTC [16] LOG: all server processes terminated; reinitializing 2023-06-14 13:09:26.939 UTC [2404] LOG: database system was interrupted; last known up at 2023-06-14 12:49:16 UTC 2023-06-14 13:09:26.987 UTC [2405] LOG: connection received: host=172.28.0.3 port=57862 2023-06-14 13:09:26.990 UTC [2405] FATAL: the database system is in recovery mode 2023-06-14 13:09:27.100 UTC [2404] LOG: database system was not properly shut down; automatic recovery in progress 2023-06-14 13:09:27.106 UTC [2404] LOG: redo starts at 0/1F543C8 2023-06-14 13:09:27.106 UTC [2404] LOG: invalid record length at 0/1F54400: wanted 24, got 0 2023-06-14 13:09:27.106 UTC [2404] LOG: redo done at 0/1F543C8 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s 2023-06-14 13:09:27.121 UTC [16] LOG: database system is ready to accept connections ```

Describe the solution you'd like

Have steampipe work with Hasura "out of the box" would be pretty epic. Comboing these two up you'd have a minimal and near real-time cloud monitoring tool by using Graphql Subscriptions and/or Event triggers to push down notifications of changes in the cloudz and important security stuff. The world's your oyster.

Describe alternatives you've considered

I haven't tried this with Hasura alternatives like postgraphile but i suspect i'd run into the same issues.

This would probably (?) work with Postgrest but then i'd have to poll for changes client side instead of the "push" approach which is more desired here.

https://github.com/vbalasu/pg-notify-webhook https://github.com/diogob/postgres-websockets

might be worth exploring as well but Hasura provides a one stop shop for all of this and the UI makes it more convenient.

Additional context

N/A

johnsmyth commented 1 year ago

@byt3bl33d3r byt3bl33d3r I suspect that even if we granted permissions, this would not work as you expect on the foreign tables. As a test, can you connect to steampipe as root from hasura and see how it behaves?

binaek commented 1 year ago

The issue is around Postgresql triggers on writes to plugin tables. Steampipe plugin tables are virtual foreign tables. Data for these tables are fetched in realtime when a SELECT for a table is done.