Open
Description
🐛 Bug
When deploy a module that uses persistent functions (or storable function values), a local node keeps crash if running a transaction stream service alongside the node.
I tried with both:
- CLI 7.5.0
- Docker image
aptoslabs/tools:devnet
d729d74502b8
To reproduce
My module code looks like this and compiled with --language-version 2.2
:
struct Agency has key {
registry: Table<address, Dispatch>, // key must be a module address
}
struct Dispatch(|address, u64, &mut FungibleAsset, vector<u8>|) has copy, store;
public fun wrap(
f: |address, u64, &mut FungibleAsset, vector<u8>| has copy+store
): Dispatch {
Dispatch(f)
}
Run aptos node run-localnet
without --no-txn-stream
then deploy that module:
➜ hello-aptos aptos node run-localnet --bind-to 0.0.0.0 --force-restart --assume-yes
...
Node API is ready. Endpoint: http://0.0.0.0:8080/
Transaction stream is ready. Endpoint: http://0.0.0.0:50051/
Faucet is ready. Endpoint: http://127.0.0.1:8081/
Applying post startup steps...
Setup is complete, you can now use the localnet!
details = """
panicked at ecosystem/indexer-grpc/indexer-grpc-table-info/src/table_info_service.rs:368:14:
[Table Info] Failed to process write sets and index to the table info rocksdb: Other(\"Unexpected Reference\")"""
backtrace = """
0: 0x563a3d8ee49e - <unknown>
1: 0x563a3d8ee46a - <unknown>
2: 0x563a3d8f37ec - <unknown>
3: 0x563a3d8f376d - <unknown>
4: 0x563a3c9eb874 - <unknown>
5: 0x563a3eb9a2a0 - <unknown>
6: 0x563a3eb99f9a - <unknown>
7: 0x563a3eb98bd9 - <unknown>
8: 0x563a3eb99c2d - <unknown>
9: 0x563a3bc5fc70 - <unknown>
10: 0x563a3bc600a6 - <unknown>
11: 0x563a3d190ae7 - <unknown>
12: 0x563a3d190644 - <unknown>
13: 0x563a3d1682f9 - <unknown>
14: 0x563a3d15a36a - <unknown>
15: 0x563a3d169957 - <unknown>
16: 0x563a3d169f66 - <unknown>
17: 0x563a3d16b431 - <unknown>
18: 0x563a3ec6c3f9 - <unknown>
19: 0x563a3ec68576 - <unknown>
20: 0x563a3ec6a93c - <unknown>
21: 0x563a3ec68123 - <unknown>
22: 0x563a3ec6c2b9 - <unknown>
23: 0x563a3ec78466 - <unknown>
24: 0x563a3ec72e8f - <unknown>
25: 0x563a3ec5a65f - <unknown>
26: 0x563a3ec75c6a - <unknown>
27: 0x563a3ec74a48 - <unknown>
28: 0x563a3ec7474b - <unknown>
29: 0x563a3ec76b5b - <unknown>
30: 0x563a3ec59bc3 - <unknown>
31: 0x563a3ec5b87e - <unknown>
32: 0x563a3eb9fdcb - <unknown>
33: 0x7fbb1bdb6ac3 - start_thread
at ./nptl/pthread_create.c:442:8
34: 0x7fbb1be48850 - __GI___clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
35: 0x0 - <unknown>
"""
[Logging] Unable to flush recv: timed out waiting on channel
Timed out flushing telemetry: timed out waiting on channel
Expected Behavior
Should work properly with indexer grpc
System information
- Aptos CLI 7.5.0
- Docker image
aptoslabs/tools:devnet
d729d74502b8
- Linux Mint 21.3