solana-postgres-rpc-server icon indicating copy to clipboard operation
solana-postgres-rpc-server copied to clipboard

`getProgramAccounts` returning empty resonse.

Open muhitrhn opened this issue 1 year ago • 0 comments

I'm trying to get all token accounts with -

curl http://localhost:8888 -X POST -H "Content-Type: application/json" -d '
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getProgramAccounts",
    "params": [
      "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
      {
        "filters": [
          {
            "dataSize": 165
          },
          {
            "memcmp": {
              "offset": 32,
              "bytes": "HohZaV9RWGQfgBaqo1TDPp4P4a7kKW5nCdahr3W9DNXr"
            }
          }
        ]
      }
    ]
  }
'

But it returns curl: (52) Empty reply from server. I get some errors also in the rpc server logs -

[2023-07-18T07:54:42.124183817Z INFO  solana_postgres_rpc_server::rpc::rpc_accounts] get_program_accounts rpc request received: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
[2023-07-18T07:54:42.124228517Z INFO  solana_postgres_rpc_server::request_processor] get_program_accounts is called... TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
[2023-07-18T07:54:42.128715485Z INFO  solana_postgres_rpc_server::postgres_client] Creating SimplePostgresClient...
[2023-07-18T07:54:42.128728975Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statements ...
[2023-07-18T07:54:42.128735615Z INFO  solana_postgres_rpc_server::postgres_client::postgres_client_account] Preparing statement SELECT pubkey, slot, owner, lamports, executable, rent_epoch, data, write_version, updated_on FROM account AS acct WHERE pubkey = $1
[2023-07-18T07:54:42.128741455Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT pubkey, slot, owner, lamports, executable, rent_epoch, data, write_version, updated_on FROM account AS acct WHERE pubkey = $1
[2023-07-18T07:54:42.129697014Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.129708014Z INFO  solana_postgres_rpc_server::postgres_client::postgres_client_account] Preparing statement SELECT get_account_with_commitment_level($1, $2)
[2023-07-18T07:54:42.129713605Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT get_account_with_commitment_level($1, $2)
[2023-07-18T07:54:42.130221254Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.130229774Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT pubkey, slot, owner, lamports, executable, rent_epoch, data, write_version, updated_on FROM account AS acct WHERE owner = $1 AND slot <= $2
[2023-07-18T07:54:42.130430624Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.130436684Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT acct.pubkey, acct.slot, acct.owner, acct.lamports, acct.executable, acct.rent_epoch, acct.data, acct.write_version, acct.updated_on FROM account AS acct JOIN  spl_token_owner_index AS owner_idx ON acct.pubkey = owner_idx.owner_key WHERE owner_idx.owner_key = $1
                AND owner_idx.slot <= $2
[2023-07-18T07:54:42.130612174Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.130620954Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT acct.pubkey, acct.slot, acct.owner, acct.lamports, acct.executable, acct.rent_epoch, acct.data, acct.write_version, acct.updated_on FROM account AS acct JOIN  spl_token_mint_index AS owner_idx ON acct.pubkey = owner_idx.mint_key WHERE owner_idx.mint_key = $1
                AND owner_idx.slot <= $2
[2023-07-18T07:54:42.130834114Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.130841604Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT s.* FROM slot s WHERE s.slot IN (SELECT max(s2.slot) FROM slot AS s2)
[2023-07-18T07:54:42.131576804Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.131585714Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT s.* FROM slot s WHERE s.slot IN (SELECT max(s2.slot) FROM slot AS s2 WHERE s2.status in ('confirmed', 'rooted'))
[2023-07-18T07:54:42.132650073Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.132659313Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT s.* FROM slot s WHERE s.slot IN (SELECT max(s2.slot) FROM slot AS s2 WHERE s2.status = 'rooted')
[2023-07-18T07:54:42.132790003Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.132798403Z INFO  solana_postgres_rpc_server::postgres_client::postgres_client_account] Preparing statement SELECT get_account_with_commitment_level_and_slot($1, $2, $3)
[2023-07-18T07:54:42.132805913Z INFO  solana_postgres_rpc_server::postgres_client] Preparing statement SELECT get_account_with_commitment_level_and_slot($1, $2, $3)
[2023-07-18T07:54:42.134834232Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statement, ok? true
[2023-07-18T07:54:42.134851983Z INFO  solana_postgres_rpc_server::postgres_client] Prepared statements.
thread 'sol-rpc-el' panicked at 'error retrieving column 1: error deserializing column 1: a Postgres value was `NULL`', /home/flux/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-postgres-0.7.8/src/row.rs:151:25
stack backtrace:
   0: rust_begin_unwind
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
   1: core::panicking::panic_fmt
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
   2: tokio_postgres::row::Row::get
   3: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
   4: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
   5: solana_postgres_rpc_server::postgres_client::postgres_client_slot::load_single_slot
   6: solana_postgres_rpc_server::postgres_client::postgres_client_slot::<impl solana_postgres_rpc_server::postgres_client::AsyncPooledPostgresClient>::get_last_processed_slot::{{closure}}
   7: solana_postgres_rpc_server::request_processor::JsonRpcRequestProcessor::get_slot_with_commitment::{{closure}}
   8: <solana_postgres_rpc_server::rpc::rpc_accounts::AccountsDataImpl as solana_postgres_rpc_server::rpc::rpc_accounts::rpc_impl_AccountsData::gen_server::AccountsData>::get_program_accounts::{{closure}}
   9: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
  10: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
  11: <futures_util::future::either::Either<A,B> as core::future::future::Future>::poll
  12: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
  13: <futures_util::future::future::flatten::Flatten<Fut,<Fut as core::future::future::Future>::Output> as core::future::future::Future>::poll
  14: <futures_util::future::future::Then<Fut1,Fut2,F> as core::future::future::Future>::poll
  15: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
  16: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
  17: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
  18: <jsonrpc_http_server::handler::RpcHandler<M,S> as core::future::future::Future>::poll
  19: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_catch
  20: <hyper::server::conn::upgrades::UpgradeableConnection<I,S,E> as core::future::future::Future>::poll
  21: <hyper::server::server::new_svc::NewSvcTask<I,N,S,E,W> as core::future::future::Future>::poll
  22: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
  23: tokio::runtime::task::core::Core<T,S>::poll
  24: tokio::runtime::task::harness::Harness<T,S>::poll
  25: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
  26: tokio::runtime::scheduler::multi_thread::worker::Context::run
  27: tokio::runtime::context::scoped::Scoped<T>::set
  28: tokio::runtime::context::runtime::enter_runtime
  29: tokio::runtime::scheduler::multi_thread::worker::run
  30: tokio::runtime::task::core::Core<T,S>::poll
  31: tokio::runtime::task::harness::Harness<T,S>::poll
  32: tokio::runtime::blocking::pool::Inner::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

muhitrhn avatar Jul 18 '23 07:07 muhitrhn