supranational/supra_seal

Assertion `ptr != nullptr' failed

Closed this issue · 6 comments

~/supra_seal$ ./exec.sh

  • SECTOR_SIZE=32GiB
  • '[' '' == 512MiB ']'
  • ./build.sh 32GiB
  • SECTOR_SIZE=-DSECTOR_SIZE_32GiB
  • '[' 32GiB == 512MiB ']'
  • CC=cc
  • CXX=c++
  • NVCC=nvcc
    ++++ which nvcc
    +++ dirname /usr/local/cuda-12.2/bin/nvcc
    ++ dirname /usr/local/cuda-12.2/bin
  • CUDA=/usr/local/cuda-12.2
  • SPDK=deps/spdk-v22.09
  • CUDA_ARCH='-arch=sm_80 -gencode arch=compute_70,code=sm_70 -t0'
    ++ c++ -dM -E -x c++ /dev/null
    ++ awk '{ if($2=="__cplusplus" && $3<"2017") print "-std=c++17"; }'
  • CXXSTD=
  • INCLUDE='-Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include'
  • CFLAGS='-DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__'
  • CXXFLAGS='-DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -march=native -Wformat -Wformat-security -D_GNU_SOURCE -fPIC -fstack-protector -fno-common -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DSPDK_GIT_COMMIT=4be6d3043 -pthread'
  • LDFLAGS='-fno-omit-frame-pointer -Wl,-z,relro,-z,now -Wl,-z,noexecstack -fuse-ld=bfd -Ldeps/spdk-v22.09/build/lib -Wl,--whole-archive -Wl,--no-as-needed -lspdk_bdev_malloc -lspdk_bdev_null -lspdk_bdev_nvme -lspdk_bdev_passthru -lspdk_bdev_lvol -lspdk_bdev_raid -lspdk_bdev_error -lspdk_bdev_gpt -lspdk_bdev_split -lspdk_bdev_delay -lspdk_bdev_zone_block -lspdk_blobfs_bdev -lspdk_blobfs -lspdk_blob_bdev -lspdk_lvol -lspdk_blob -lspdk_nvme -lspdk_bdev_ftl -lspdk_ftl -lspdk_bdev_aio -lspdk_bdev_virtio -lspdk_virtio -lspdk_vfio_user -lspdk_accel_ioat -lspdk_ioat -lspdk_scheduler_dynamic -lspdk_env_dpdk -lspdk_scheduler_dpdk_governor -lspdk_scheduler_gscheduler -lspdk_sock_posix -lspdk_event -lspdk_event_bdev -lspdk_bdev -lspdk_notify -lspdk_dma -lspdk_event_accel -lspdk_accel -lspdk_event_vmd -lspdk_vmd -lspdk_event_sock -lspdk_init -lspdk_thread -lspdk_trace -lspdk_sock -lspdk_rpc -lspdk_jsonrpc -lspdk_json -lspdk_util -lspdk_log -Wl,--no-whole-archive deps/spdk-v22.09/build/lib/libspdk_env_dpdk.a -Wl,--whole-archive deps/spdk-v22.09/dpdk/build/lib/librte_bus_pci.a deps/spdk-v22.09/dpdk/build/lib/librte_cryptodev.a deps/spdk-v22.09/dpdk/build/lib/librte_dmadev.a deps/spdk-v22.09/dpdk/build/lib/librte_eal.a deps/spdk-v22.09/dpdk/build/lib/librte_ethdev.a deps/spdk-v22.09/dpdk/build/lib/librte_hash.a deps/spdk-v22.09/dpdk/build/lib/librte_kvargs.a deps/spdk-v22.09/dpdk/build/lib/librte_mbuf.a deps/spdk-v22.09/dpdk/build/lib/librte_mempool.a deps/spdk-v22.09/dpdk/build/lib/librte_mempool_ring.a deps/spdk-v22.09/dpdk/build/lib/librte_net.a deps/spdk-v22.09/dpdk/build/lib/librte_pci.a deps/spdk-v22.09/dpdk/build/lib/librte_power.a deps/spdk-v22.09/dpdk/build/lib/librte_rcu.a deps/spdk-v22.09/dpdk/build/lib/librte_ring.a deps/spdk-v22.09/dpdk/build/lib/librte_telemetry.a deps/spdk-v22.09/dpdk/build/lib/librte_vhost.a -Wl,--no-whole-archive -lnuma -ldl -Ldeps/spdk-v22.09/isa-l/.libs -lisal -pthread -lrt -luuid -lssl -lcrypto -lm -laio'
  • '[' '!' -d /var/tmp/supra_seal ']'
  • rm -fr obj
  • mkdir -p obj
  • rm -fr bin
  • mkdir -p bin
  • mkdir -p deps
  • '[' '!' -d deps/spdk-v22.09 ']'
  • '[' '!' -d deps/sppark ']'
  • '[' '!' -d deps/blst ']'
  • '[' '!' -d c2/bellperson ']'
  • cc -c sha/sha_ext_mbx2.S -o obj/sha_ext_mbx2.o
  • xxd -i poseidon/constants/constants_2
  • xxd -i poseidon/constants/constants_4
  • xxd -i poseidon/constants/constants_8
  • xxd -i poseidon/constants/constants_11
  • xxd -i poseidon/constants/constants_16
  • xxd -i poseidon/constants/constants_24
  • xxd -i poseidon/constants/constants_36
  • c++ -DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -march=native -Wformat -Wformat-security -D_GNU_SOURCE -fPIC -fstack-protector -fno-common -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DSPDK_GIT_COMMIT=4be6d3043 -pthread -Ideps/sppark/util -o obj/pc1.o -c pc1/pc1.cpp
  • c++ -DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -march=native -Wformat -Wformat-security -D_GNU_SOURCE -fPIC -fstack-protector -fno-common -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DSPDK_GIT_COMMIT=4be6d3043 -pthread -o obj/streaming_node_reader_nvme.o -c nvme/streaming_node_reader_nvme.cpp
  • c++ -DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -march=native -Wformat -Wformat-security -D_GNU_SOURCE -fPIC -fstack-protector -fno-common -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DSPDK_GIT_COMMIT=4be6d3043 -pthread -o obj/ring_t.o -c nvme/ring_t.cpp
  • c++ -g -O2 -c sealing/sector_parameters.cpp -o obj/sector_parameters.o
  • nvcc -DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -arch=sm_80 -gencode arch=compute_70,code=sm_70 -t0 -std=c++17 -DNO_SPDK -Xcompiler -Wno-subobject-linkage -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -dc pc2/cuda/pc2.cu -o obj/pc2.o
  • nvcc -DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -arch=sm_80 -gencode arch=compute_70,code=sm_70 -t0 -std=c++17 -DNO_SPDK -Xcompiler -Wno-subobject-linkage -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -dlink pc2/cuda/pc2.cu -o obj/pc2_link.o
  • wait
  • c++ -DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -march=native -Wformat -Wformat-security -D_GNU_SOURCE -fPIC -fstack-protector -fno-common -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DSPDK_GIT_COMMIT=4be6d3043 -pthread -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -c sealing/supra_seal.cpp -o obj/supra_seal.o -Wno-subobject-linkage
  • ar rvs obj/libsupraseal.a obj/pc1.o obj/pc2.o obj/pc2_link.o obj/ring_t.o obj/streaming_node_reader_nvme.o obj/supra_seal.o obj/sector_parameters.o obj/sha_ext_mbx2.o
    ar: creating obj/libsupraseal.a
    a - obj/pc1.o
    a - obj/pc2.o
    a - obj/pc2_link.o
    a - obj/ring_t.o
    a - obj/streaming_node_reader_nvme.o
    a - obj/supra_seal.o
    a - obj/sector_parameters.o
    a - obj/sha_ext_mbx2.o
  • c++ -DSECTOR_SIZE_32GiB -g -O2 -Ideps/spdk-v22.09/include -Ideps/spdk-v22.09/isa-l/.. -Ideps/spdk-v22.09/dpdk/build/include -D__ADX__ -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fno-strict-aliasing -march=native -Wformat -Wformat-security -D_GNU_SOURCE -fPIC -fstack-protector -fno-common -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DSPDK_GIT_COMMIT=4be6d3043 -pthread -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -o bin/seal demos/main.cpp -Lobj -lsupraseal -fno-omit-frame-pointer -Wl,-z,relro,-z,now -Wl,-z,noexecstack -fuse-ld=bfd -Ldeps/spdk-v22.09/build/lib -Wl,--whole-archive -Wl,--no-as-needed -lspdk_bdev_malloc -lspdk_bdev_null -lspdk_bdev_nvme -lspdk_bdev_passthru -lspdk_bdev_lvol -lspdk_bdev_raid -lspdk_bdev_error -lspdk_bdev_gpt -lspdk_bdev_split -lspdk_bdev_delay -lspdk_bdev_zone_block -lspdk_blobfs_bdev -lspdk_blobfs -lspdk_blob_bdev -lspdk_lvol -lspdk_blob -lspdk_nvme -lspdk_bdev_ftl -lspdk_ftl -lspdk_bdev_aio -lspdk_bdev_virtio -lspdk_virtio -lspdk_v+ c++ -pthread -g -O3 -march=native -Wall -Wextra -Werror -Wno-subobject-linkage tools/tree_r.cpp -o bin/tree_r_cpu -Iposeidon -Ideps/sppark -Ideps/blst/src -L deps/blst -lblst
    fio_user -lspdk_accel_ioat -lspdk_ioat -lspdk_scheduler_dynamic -lspdk_env_dpdk -lspdk_scheduler_dpdk_governor -lspdk_scheduler_gscheduler -lspdk_sock_posix -lspdk_event -lspdk_event_bdev -lspdk_bdev -lspdk_notify -lspdk_dma -lspdk_event_accel -lspdk_accel -lspdk_event_vmd -lspdk_vmd -lspdk_event_sock -lspdk_init -lspdk_thread -lspdk_trace -lspdk_sock -lspdk_rpc -lspdk_jsonrpc -lspdk_json -lspdk_util -lspdk_log -Wl,--no-whole-archive deps/spdk-v22.09/build/lib/libspdk_env_dpdk.a -Wl,--whole-archive deps/spdk-v22.09/dpdk/build/lib/librte_bus_pci.a deps/spdk-v22.09/dpdk/build/lib/librte_cryptodev.a deps/spdk-v22.09/dpdk/build/lib/librte_dmadev.a deps/spdk-v22.09/dpdk/build/lib/librte_eal.a deps/spdk-v22.09/dpdk/build/lib/librte_ethdev.a deps/spdk-v22.09/dpdk/build/lib/librte_hash.a deps/spdk-v22.09/dpdk/build/lib/librte_kvargs.a deps/spdk-v22.09/dpdk/build/lib/librte_mbuf.a deps/spdk-v22.09/dpdk/build/lib/librte_mempool.a deps/spdk-v22.09/dpdk/build/lib/librte_mempool_ring.a deps/spdk-v22.09/dpdk/build/lib/librte_net.a deps/spdk-v22.09/dpdk/build/lib/librte_pci.a deps/spdk-v22.09/dpdk/build/lib/librte_power.a deps/spdk-v22.09/dpdk/build/lib/librte_rcu.a deps/spdk-v22.09/dpdk/build/lib/librte_ring.a deps/spdk-v22.09/dpdk/build/lib/librte_telemetry.a deps/spdk-v22.09/dpdk/build/lib/librte_vhost.a -Wl,--no-whole-archive -lnuma -ldl -Ldeps/spdk-v22.09/isa-l/.libs -lisal -pthread -lrt -luuid -lssl -lcrypto -lm -laio -Ldeps/blst -lblst -L/usr/local/cuda-12.2/lib64 -lcudart_static -lgmp -lconfig++
  • wait
  • nvcc -DSECTOR_SIZE_32GiB -DNO_SPDK -DSTREAMING_NODE_READER_FILES -g -Xcompiler -Wall -Xcompiler -Wextra -Xcompiler -Werror -Xcompiler -Wno-subobject-linkage -Xcompiler -Wno-unused-parameter -Xcompiler -march=native -O3 -x cu tools/tree_r.cpp -o bin/tree_r -Iposeidon -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -L deps/blst -lblst -lconfig++
  • nvcc -DSECTOR_SIZE_32GiB -DNO_SPDK -DSTREAMING_NODE_READER_FILES -g -Xcompiler -Wall -Xcompiler -Wextra -Xcompiler -Werror -Xcompiler -Wno-subobject-linkage -Xcompiler -Wno-unused-parameter -Xcompiler -march=native -O3 -x cu tools/pc2.cu -o bin/pc2 -Iposeidon -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -L deps/blst -lblst -lconfig++
  • nvcc -DSECTOR_SIZE_32GiB -DNO_SPDK -DSTREAMING_NODE_READER_FILES -arch=sm_80 -gencode arch=compute_70,code=sm_70 -t0 -std=c++17 -g -O3 -Xcompiler -march=native -Xcompiler -Wall -Xcompiler -Wextra -Xcompiler -Werror -Xcompiler -Wno-subobject-linkage -Xcompiler -Wno-unused-parameter -x cu tools/tree_r.cpp -o bin/tree_r -Iposeidon -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -L deps/blst -lblst -lconfig++
  • SECTOR_SIZE_FEATURE=
  • '[' 32GiB == 512MiB ']'
  • cd demos/rust
  • env 'RUSTFLAGS=-C target-cpu=native' cargo +nightly build --release
    Compiling supra-seal-demo v0.1.0 (/home/worker/supra_seal/demos/rust)
    Finished release [optimized] target(s) in 4.16s
  • sudo ./target/release/supra-seal-demo
    Initializing spdk using config supra_seal.cfg
    sectors 2
    coord 8 hashers 1
    sectors 4
    coord 8 hashers 2
    sectors 8
    coord 8 hashers 4
    sectors 16
    coord 8 hashers 8
    sectors 32
    coord 8 hashers 14
    coord 16 hashers 2
    sectors 64
    coord 8 hashers 14
    coord 16 hashers 14
    coord 24 hashers 4
    sectors 128
    coord 8 hashers 14
    coord 16 hashers 14
    coord 24 hashers 14
    coord 32 hashers 14
    coord 40 hashers 8
    TELEMETRY: No legacy callbacks, legacy socket not created
    Attaching to 0000:01:00.0
    Sealing Parameters
    SECTOR_SIZE 34359738368
    NODE_SIZE 32
    NODE_WORDS 8
    NODE_COUNT 1073741824
    PARENT_COUNT_BASE 6
    PARENT_COUNT_EXP 8
    PARENT_COUNT 14
    PARENT_SIZE 4
    LAYER_COUNT 11
    NODES_PER_HASHER 2
    PARENT_BUFFER_NODES 3407872
    NODE_BUFFER_NODES 524288

Max Offset returned 6fc7d256
Slot size returned 2c0000000 for 128 sectors
max_offset 1875366486 and slot_size 11811160064
**** 2023-07-24 15:35:48 1690184148 Batch 0 locked slot 0
**** 2023-07-24 15:35:48 1690184148 Batch 0 start PC1
supra-seal-demo: pc1/../nvme/spdk_ptr_t.hpp:29: void spdk_ptr_t::alloc(size_t) [with T = batch_t<page_t<sealing_config_t<128> >, 13>; size_t = long unsigned int]: Assertion `ptr != nullptr' failed.
./exec.sh: line 22: 53222 Aborted sudo ./target/release/supra-seal-demo

How do i fix this error?

OS:Ubuntu 20.04.3 LTS

GCC:gcc version 11.4.0 (Ubuntu 11.4.0-2ubuntu1~20.04)

It looks like spdk failed to allocate storage for PC1. Can you check for the proper allocation of huge pages? How much memory is in the system overall?

grep Huge /proc/meminfo

Look for:

HugePages_Total: 128
HugePages_Free: 128

I have already set up huge page

:~/supra_seal$ grep Huge /proc/meminfo
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 128
HugePages_Free: 128
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 262144 kB

The system has a total of 1T of memory

sudo ./scripts/setup.sh status
Hugepages
node hugesize free / total
node0 1048576kB 0 / 0
node0 2048kB 128 / 128

Type BDF Vendor Device NUMA Driver Device Block devices
NVMe 0000:01:00.0 1b96 2400 0 uio_pci_generic - -
NVMe 0000:02:00.0 1b96 2400 0 nvme nvme1 nvme1n1
NVMe 0000:03:00.0 144d a808 0 nvme nvme2 nvme2n1

Is it because there are two node0?

It could be. If you end up on the node with no pages allocated it seems like that would be a problem. Can you allocate pages on both nodes, or direct it to run on the node with pages allocated?

Try it later, thank you

If problem persists, just re-open the issue. Cheers.