Skip to content

[Bug]: apsi执行过程中'yacl::RuntimeError' #344

@aLoHaha1

Description

@aLoHaha1

Describe the bug

在执行bucket apsi时receiver产生runtime error
错误内容:

terminate called after throwing an instance of 'yacl::RuntimeError'
  what():  [external/yacl~/yacl/link/transport/channel.cc:463] For developer: BUG! PLS do not use same key for multiple msg, Duplicate key root:P2P-12084:0->1 with new seq_id 12085, old seq_id 12084.

数据量:1000000000_100000_50000
配置文件:
apsi_sender_setup_bucket.json:

{ "apsi_sender_config": { "threads": 1, "log_level": "info", "source_file": "/data/secretflow_psi/apsi/tmp/db_1B.csv", "params_file": "/data/secretflow_psi/apsi/parameters/256M-4096.json", "save_db_only": true, "experimental_enable_bucketize": true, "experimental_bucket_cnt": 10000, "experimental_bucket_folder": "/data/secretflow_psi/apsi/tmp/apsi_sender_bucket/", "experimental_db_generating_process_num": 16, "experimental_bucket_group_cnt": 512 } } 

apsi_sender_online_bucket.json:

{ "apsi_sender_config": { "source_file": "/data/secretflow_psi/apsi/tmp/db_1B.csv", "params_file": "/data/secretflow_psi/apsi/parameters/256M-4096.json", "experimental_enable_bucketize": true, "experimental_bucket_cnt": 10000, "experimental_bucket_folder": "/data/secretflow_psi/apsi/tmp/apsi_sender_bucket/", "experimental_db_generating_process_num": 16, "experimental_bucket_group_cnt": 512 }, "link_config": { "parties": [ { "id": "sender", "host": "127.0.0.1:5300" }, { "id": "receiver", "host": "127.0.0.1:5400" } ] }, "self_link_party": "sender" } 

apsi_receiver_bucket.json:

{ "apsi_receiver_config": { "query_file": "/data/secretflow_psi/apsi/tmp/query_100K.csv", "output_file": "/data/secretflow_psi/apsi/tmp/result_1B_100K_50K.csv", "params_file": "/data/secretflow_psi/apsi/parameters/256M-4096.json", "experimental_enable_bucketize": true, "experimental_bucket_cnt": 10000 }, "link_config": { "parties": [ { "id": "sender", "host": "127.0.0.1:5300" }, { "id": "receiver", "host": "127.0.0.1:5400" } ] }, "self_link_party": "receiver" }

sender输出:

[2025-09-25 16:15:43.413] [info] [channel.cc:362] send request failed and retry, retry_count=1, max_retry=3, interval_ms=1000, message=[external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '1014', http status code '0', response header '', response body '', error msg '[E1014]Got EOF of Socket{id=0fd=11 addr=127.0.0.1:5400:45328} (0x0x649a3e320540)'
[2025-09-25 16:15:44.414] [info] [channel.cc:362] send request failed and retry, retry_count=2, max_retry=3, interval_ms=3000, message=[external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '112', http status code '0', response header '', response body '', error msg '[E112]Not connected to 127.0.0.1:5400 yet, server_id=0'
[2025-09-25 16:15:47.414] [info] [channel.cc:362] send request failed and retry, retry_count=3, max_retry=3, interval_ms=5000, message=[external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '112', http status code '0', response header '', response body '', error msg '[E112]Not connected to 127.0.0.1:5400 yet, server_id=0'
[2025-09-25 16:15:52.415] [error] [channel.cc:104] SendImpl error [external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '112', http status code '0', response header '', response body '', error msg '[E112]Not connected to 127.0.0.1:5400 yet, server_id=0'
[2025-09-25 16:15:52.416] [info] [channel.cc:362] send request failed and retry, retry_count=1, max_retry=3, interval_ms=1000, message=[external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '112', http status code '0', response header '', response body '', error msg '[E112]Not connected to 127.0.0.1:5400 yet, server_id=0'
[2025-09-25 16:15:53.416] [info] [channel.cc:362] send request failed and retry, retry_count=2, max_retry=3, interval_ms=3000, message=[external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '112', http status code '0', response header '', response body '', error msg '[E112]Not connected to 127.0.0.1:5400 yet, server_id=0'
[2025-09-25 16:15:56.416] [info] [channel.cc:362] send request failed and retry, retry_count=3, max_retry=3, interval_ms=5000, message=[external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '112', http status code '0', response header '', response body '', error msg '[E112]Not connected to 127.0.0.1:5400 yet, server_id=0'
[2025-09-25 16:16:01.417] [error] [channel.cc:104] SendImpl error [external/yacl~/yacl/link/transport/interconnection_link.cc:56] cntl ErrorCode '112', http status code '0', response header '', response body '', error msg '[E112]Not connected to 127.0.0.1:5400 yet, server_id=0'

receiver输出:

[2025-09-25 16:15:41.792] [info] [entry.cc:216] Received OPRF response for 7  items
[2025-09-25 16:15:41.792] [info] [entry.cc:224] Sending APSI query
INFO  16:15:41:796.537: Creating encrypted query for 7items
DEBUG 16:15:41:797.057: Inserting 7 items into cuckoo table of size 6144 with 3 hash functions
DEBUG 16:15:41:797.084: Finished inserting items with 3 hash functions; cuckoo table fill-rate: 0.00113932
DEBUG 16:15:41:797.102: Preparing data for bundle index 0
DEBUG 16:15:41:803.570: Plaintext powers computed: [33, 4, 28, 11, 10, 118, 1, 1555, 311, 143, 78]
DEBUG 16:15:41:803.582: Preparing data for bundle index 1
DEBUG 16:15:41:807.990: Plaintext powers computed: [33, 4, 28, 11, 10, 118, 1, 1555, 311, 143, 78]
DEBUG 16:15:41:808.003: Preparing data for bundle index 2
DEBUG 16:15:41:812.330: Plaintext powers computed: [33, 4, 28, 11, 10, 118, 1, 1555, 311, 143, 78]
DEBUG 16:15:41:812.342: Encoding and encrypting data for bundle index 0
DEBUG 16:15:41:855.101: Encoding and encrypting data for bundle index 1
DEBUG 16:15:41:897.530: Encoding and encrypting data for bundle index 2
INFO  16:15:41:940.757: Finished creating encrypted query
DEBUG 16:15:41:940.802: Sending operation of type sop_query
DEBUG 16:15:42:028.912: Sent an operation of type sop_query (8537212 bytes)
DEBUG 16:15:42:208.538: Received a response of type sop_query (68 bytes)
INFO  16:15:42:208.581: Launching 3 result worker tasks to handle 3 result parts
DEBUG 16:15:42:208.677: Result worker [140449750689344]: starting
DEBUG 16:15:42:208.705: Result worker [140450310542912]: starting
DEBUG 16:15:42:208.733: Result worker [140449943590464]: starting
DEBUG 16:15:43:126.931: Received a result package (96528 bytes)
DEBUG 16:15:43:128.232: Matching result noise budget: 4 bits [140449750689344]
DEBUG 16:15:43:128.536: Match found for items[0] at cuckoo table index 1085
DEBUG 16:15:43:128.545: Match found for items[5] at cuckoo table index 1337
DEBUG 16:15:43:128.552: Match found for items[4] at cuckoo table index 1605
DEBUG 16:15:43:128.564: Result worker [140449750689344]: all packages claimed; exiting
terminate called after throwing an instance of 'yacl::RuntimeError'
  what():  [external/yacl~/yacl/link/transport/channel.cc:463] For developer: BUG! PLS do not use same key for multiple msg, Duplicate key root:P2P-12084:0->1 with new seq_id 12085, old seq_id 12084.

Steps To Reproduce

sender命令:
/home/user/.cache/bazel/_bazel_user/996f01ac77d94239f3d6132404737f17/execroot/_main/bazel-out/k8-fastbuild/bin/psi/apps/psi_launcher/main --config /data/secretflow_psi/apsi/config/apsi_sender_online_bucket.json
receiver命令:
/home/user/.cache/bazel/_bazel_user/996f01ac77d94239f3d6132404737f17/execroot/_main/bazel-out/k8-fastbuild/bin/psi/apps/psi_launcher/main --config /data/secretflow_psi/apsi/config/apsi_receiver_bucket.json

Expected behavior

[2025-09-25 16:15:41.792] [info] [entry.cc:216] Received OPRF response for 7 items
[2025-09-25 16:15:41.792] [info] [entry.cc:224] Sending APSI query
INFO 16:15:41:796.537: Creating encrypted query for 7items
DEBUG 16:15:41:797.057: Inserting 7 items into cuckoo table of size 6144 with 3 hash functions
DEBUG 16:15:41:797.084: Finished inserting items with 3 hash functions; cuckoo table fill-rate: 0.00113932
DEBUG 16:15:41:797.102: Preparing data for bundle index 0
DEBUG 16:15:41:803.570: Plaintext powers computed: [33, 4, 28, 11, 10, 118, 1, 1555, 311, 143, 78]
DEBUG 16:15:41:803.582: Preparing data for bundle index 1
DEBUG 16:15:41:807.990: Plaintext powers computed: [33, 4, 28, 11, 10, 118, 1, 1555, 311, 143, 78]
DEBUG 16:15:41:808.003: Preparing data for bundle index 2
DEBUG 16:15:41:812.330: Plaintext powers computed: [33, 4, 28, 11, 10, 118, 1, 1555, 311, 143, 78]
DEBUG 16:15:41:812.342: Encoding and encrypting data for bundle index 0
DEBUG 16:15:41:855.101: Encoding and encrypting data for bundle index 1
DEBUG 16:15:41:897.530: Encoding and encrypting data for bundle index 2
INFO 16:15:41:940.757: Finished creating encrypted query
DEBUG 16:15:41:940.802: Sending operation of type sop_query
DEBUG 16:15:42:028.912: Sent an operation of type sop_query (8537212 bytes)
DEBUG 16:15:42:208.538: Received a response of type sop_query (68 bytes)
INFO 16:15:42:208.581: Launching 3 result worker tasks to handle 3 result parts
DEBUG 16:15:42:208.677: Result worker [140449750689344]: starting
DEBUG 16:15:42:208.705: Result worker [140450310542912]: starting
DEBUG 16:15:42:208.733: Result worker [140449943590464]: starting
DEBUG 16:15:43:126.931: Received a result package (96528 bytes)
DEBUG 16:15:43:128.232: Matching result noise budget: 4 bits [140449750689344]
DEBUG 16:15:43:128.536: Match found for items[0] at cuckoo table index 1085
DEBUG 16:15:43:128.545: Match found for items[5] at cuckoo table index 1337
DEBUG 16:15:43:128.552: Match found for items[4] at cuckoo table index 1605
DEBUG 16:15:43:128.564: Result worker [140449750689344]: all packages claimed; exiting
terminate called after throwing an instance of 'yacl::RuntimeError'
what(): [external/yacl~/yacl/link/transport/channel.cc:463] For developer: BUG! PLS do not use same key for multiple msg, Duplicate key root:P2P-12084:0->1 with new seq_id 12085, old seq_id 12084.

Version

main version v0.6.0.dev250507 Debug build (NDEBUG not #defined)

Operating system

ubuntu 22.04

Hardware Resources

16C256G

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions