Visa-Research / volepsi

Efficient Private Set Intersection base on VOLE
MIT License
111 stars 32 forks source link

csv_test failed #69

Closed eattomatoeveryday closed 3 months ago

eattomatoeveryday commented 5 months ago

hi professor,i have build the volepsi successfully,but i dont know how to run a PSI instance. here is my error info

rui@DELL:~/Coding/PSI/volepsi/out/build/linux/frontend$ ./frontend -in ./sFile_deleteMe -r 0 -indexSet -server 0 -csv -senderSize 34234 -receiverSize 24356
reading set... 17ms
connecting as client at address localhost:1212 1ms
Validating set sizes... 1ms
running PSI... Exception: Broken pipe
Try adding command line argument -debug

rui@DELL:~/Coding/PSI/volepsi/out/build/linux/frontend$ ./frontend -in ./rFile_deleteMe -r 1 -indexSet -server 1 -csv -senderSize 34234 -receiverSize 24356
reading set... 12ms
connecting as server at address localhost:1212 42222ms
Validating set sizes... 1ms
running PSI... terminate called without an active exception
Aborted
rui@DELL:~/Coding/PSI/volepsi/out/build/linux/frontend$ ./frontend -u psi
34 - Psi_Rs_empty_test             Passed   62ms
35 - Psi_Rs_partial_test           Passed   47ms
36 - Psi_Rs_full_test              Passed   46ms
37 - Psi_Rs_reduced_test           Passed   874ms
38 - Psi_Rs_multiThrd_test         Passed   49ms
39 - Psi_Rs_mal_test               Passed   47ms
40 - Cpsi_Rs_empty_test            Passed   81ms
41 - Cpsi_Rs_partial_test          Passed   81ms
42 - Cpsi_Rs_full_test             Passed   83ms
43 - Cpsi_Rs_full_asym_test        Passed   86ms
44 - Cpsi_Rs_full_add32_test       Passed   0ms
46 - filebase_psi_bin_Test         Passed   49ms
47 - filebase_psi_csv_Test       terminate called without an active exception
ladnir commented 5 months ago

Hmm, OK. What os are you on?

ladnir commented 5 months ago

Linux I see. Can you build it in debug mode,

build.py --debug

And the run the unit tests in gdb

gdb frontend
r -u
eattomatoeveryday commented 5 months ago

Linux I see. Can you build it in debug mode,

build.py --debug

And the run the unit tests in gdb

gdb frontend
r -u

like this?

(gdb) r -u
Starting program: /home/rui/Coding/PSI/volepsi/out/build/linux/frontend/frontend -u
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0 - Paxos_buildRow_Test           Passed   0ms
1 - Paxos_solve_Test              Passed   210ms
2 - Paxos_solve_u8_Test           Passed   108ms
3 - Paxos_solve_mtx_Test          Passed   124ms
4 - Paxos_invE_Test               Passed   1ms
5 - Paxos_invE_g3_Test            Passed   0ms
6 - Paxos_solve_gap_Test          Passed   8ms
7 - Paxos_solve_rand_Test         Passed   5ms
8 - Paxos_solve_rand_gap_Test     Passed   21ms
9 - Baxos_solve_Test              Passed   239ms
10 - Baxos_solve_mtx_Test          Passed   162ms
11 - Baxos_solve_par_Test        [New Thread 0x7ffff7a54640 (LWP 35168)]
[New Thread 0x7ffff7253640 (LWP 35169)]
[New Thread 0x7ffff6a52640 (LWP 35170)]
[New Thread 0x7ffff6251640 (LWP 35171)]
[New Thread 0x7ffff5a50640 (LWP 35172)]
[New Thread 0x7ffff524f640 (LWP 35173)]
[New Thread 0x7ffff4a4e640 (LWP 35174)]
[Thread 0x7ffff7a54640 (LWP 35168) exited]
[Thread 0x7ffff7253640 (LWP 35169) exited]
[Thread 0x7ffff6251640 (LWP 35171) exited]
[Thread 0x7ffff6a52640 (LWP 35170) exited]
[Thread 0x7ffff5a50640 (LWP 35172) exited]
[Thread 0x7ffff524f640 (LWP 35173) exited]
[Thread 0x7ffff4a4e640 (LWP 35174) exited]
[New Thread 0x7ffff4a4e640 (LWP 35175)]
[New Thread 0x7ffff524f640 (LWP 35176)]
[New Thread 0x7ffff5a50640 (LWP 35177)]
[New Thread 0x7ffff6251640 (LWP 35178)]
[New Thread 0x7ffff7a54640 (LWP 35179)]
[New Thread 0x7ffff7253640 (LWP 35180)]
[New Thread 0x7ffff6a52640 (LWP 35181)]
[Thread 0x7ffff5a50640 (LWP 35177) exited]
[Thread 0x7ffff7a54640 (LWP 35179) exited]
[Thread 0x7ffff6251640 (LWP 35178) exited]
[Thread 0x7ffff524f640 (LWP 35176) exited]
[Thread 0x7ffff4a4e640 (LWP 35175) exited]
[Thread 0x7ffff7253640 (LWP 35180) exited]
[Thread 0x7ffff6a52640 (LWP 35181) exited]
Passed   1022ms
12 - Baxos_solve_rand_Test         Passed   586ms
13 - SilentTripleGen_test        
Thread 1 "frontend" received signal SIGSEGV, Segmentation fault.
0x0000555555debbd8 in ?? ()
ladnir commented 5 months ago

Ah, then do a backtrace

bt

And share that

eattomatoeveryday commented 5 months ago
(gdb) bt
#0  0x0000555555debbd8 in ?? ()
#1  0x0000555555afb5ef in macoro::Frame<osuCrypto::SilentMultiPprfReceiver::expand(coproto::Socket&, osuCrypto::PRNG&, osuCrypto::MatrixView<osuCrypto::block>, osuCrypto::PprfOutputFormat, bool, unsigned long)::{lambda(macoro::FrameBase<macoro::detail::task_promise<void, true> >*)#1}, macoro::detail::task_promise<void, true> >::destroy_impl(macoro::FrameBase<void>*) ()
#2  0x0000555555a10f07 in osuCrypto::SilentOtExtReceiver::silentReceiveInplace(unsigned long, osuCrypto::PRNG&, coproto::Socket&, osuCrypto::ChoiceBitPacking)::{lambda(macoro::FrameBase<macoro::detail::task_promise<void, true> >*)#1}::operator()(macoro::FrameBase<macoro::detail::task_promise<void, true> >*) ()
#3  0x00005555555905f5 in macoro::coroutine_handle<void>::resume (this=0x7fffffffc580) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:821
#4  0x00005555556874b2 in coproto::LocalAsyncSocket::Awaiter::await_suspend (this=0x555555dfe2c0, h=...)
    at /home/rui/Coding/PSI/volepsi/out/install/linux/include/coproto/Socket/LocalAsyncSock.h:543
#5  0x00005555557530d1 in macoro::await_suspend<coproto::LocalAsyncSocket::Awaiter, macoro::detail::task_promise<void, false> >(coproto::LocalAsyncSocket::Awaiter&, macoro::coroutine_handle<macoro::detail::task_promise<void, false> >, std::enable_if<(!macoro::has_void_await_suspend<coproto::LocalAsyncSocket::Awaiter, macoro::coroutine_handle<macoro::detail::task_promise<void, false> >, void>::value)&&(!macoro::has_bool_await_suspend<coproto::LocalAsyncSocket::Awaiter, macoro::coroutine_handle<macoro::detail::task_promise<void, false> >, void>::value), macoro::empty_state>::type) (
    a=..., h=...) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:152
#6  0x00005555557562d1 in coproto::internal::SockScheduler::makeSendTask<coproto::LocalAsyncSocket::Sock>(coproto::LocalAsyncSocket::Sock*)::{lambda(macoro::FrameBase<macoro::detail::task_promise<void, false> >*)#1}::operator()(macoro::FrameBase<macoro::detail::task_promise<void, false> >*) (__closure=0x555555e68590, _macoro_frame_=0x555555e68610)
    at /home/rui/Coding/PSI/volepsi/out/install/linux/include/coproto/Socket/SocketScheduler.h:1083
#7  0x0000555555758c72 in macoro::Frame<coproto::internal::SockScheduler::makeSendTask<coproto::LocalAsyncSocket::Sock>(coproto::LocalAsyncSocket::Sock*)::{lambda(macoro::FrameBase<macoro::detail::task_promise<void, false> >*)#1}, macoro::detail::task_promise<void, false> >::resume_impl(macoro::FrameBase<void>*) (ptr=0x555555e68610)
    at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:612
#8  0x0000555555b65406 in coproto::internal::SockScheduler::send(coproto::SessionID, coproto::internal::SendBuffer&&, macoro::coroutine_handle<void>, macoro::stop_token&&, bool) ()
#9  0x0000555555b002e9 in osuCrypto::SilentMultiPprfSender::Expander::run()::{lambda(macoro::FrameBase<macoro::detail::task_promise<void, true> >*)#1}::operator()(macoro::FrameBase<macoro::detail::task_promise<void, true> >*) ()
#10 0x00005555555de95f in macoro::coroutine_handle<macoro::detail::task_promise<void, false> >::resume (this=0x7fffffffcb20)
    at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:850
#11 0x00005555555c817f in macoro::make_eager<macoro::task<void, true>, 0> (a=...) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/task.h:660
#12 0x0000555555b04886 in macoro::Frame<osuCrypto::SilentMultiPprfSender::expand(coproto::Socket&, nonstd::span_lite::span<osuCrypto::block const, 18446744073709551615ul>, osuCrypto::PRNG&, osuCrypto::MatrixView<osuCrypto::block>, osuCrypto::PprfOutputFormat, bool, unsigned long)::{lambda(macoro::FrameBase<macoro::detail::task_promise<void, true> >*)#1}, macoro::detail::task_promise<void, true> >::resume_impl(macoro::FrameBase<void>*) ()
#13 0x000055555568b299 in macoro::coroutine_handle<macoro::detail::when_all_task_promise<void> >::resume (this=0x7fffffffccd0)
    at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:850
#14 0x00005555556853b9 in macoro::detail::when_all_task_promise<void>::start (this=0x555555ddf230, counter=...)
    at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/detail/when_all_task.h:201
#15 0x00005555556b929a in macoro::detail::when_all_task<void>::start (this=0x7fffffffcf50, counter=...) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/detail/when_all_task.h:269
#16 0x000055555569bd82 in macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >::start_tasks<0ul, 1ul> (
    this=0x7fffffffcf40) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/detail/when_all_awaitable.h:155
#17 0x0000555555696fde in macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >::try_await (this=0x7fffffffcf40, 
--Type <RET> for more, q to quit, c to continue without paging--c
    awaitingCoroutine=...) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/detail/when_all_awaitable.h:147
#18 0x000055555568ab08 in macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >::operator_co_await() &&::awaiter::await_suspend(macoro::coroutine_handle<void>) (this=0x5555567781f0, awaitingCoroutine=...) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/detail/when_all_awaitable.h:121
#19 0x00005555556b9752 in macoro::await_suspend<macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >::operator_co_await() &&::awaiter, macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >(macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >::operator_co_await() &&::awaiter&, macoro::coroutine_handle<macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >, std::enable_if<macoro::has_bool_await_suspend<macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >::operator_co_await() &&::awaiter, macoro::coroutine_handle<macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >, void>::value, macoro::empty_state>::type) (a=..., h=...) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:118
#20 0x000055555569c140 in macoro::detail::make_blocking_task<macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >&&, std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&>(macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >&&)::{lambda(macoro::FrameBase<macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >*)#1}::operator()(macoro::FrameBase<macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >*) (__closure=0x5555560736b0, _macoro_frame_=0x5555560736b8) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/sync_wait.h:156
#21 0x0000555555710032 in macoro::Frame<macoro::detail::make_blocking_task<macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >&&, std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&>(macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > >&&)::{lambda(macoro::FrameBase<macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >*)#1}, macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >::resume_impl(macoro::FrameBase<void>*) (ptr=0x5555560736b8) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:612
#22 0x00005555556b9ae3 in macoro::coroutine_handle<macoro::detail::blocking_promise<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&> >::resume (this=0x7fffffffcef0) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/coro_frame.h:850
#23 0x000055555569d86e in macoro::detail::blocking_task<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> >&&>::start (this=0x7fffffffcef0) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/sync_wait.h:123
#24 0x000055555569708a in macoro::sync_wait<macoro::detail::when_all_ready_awaitable<std::tuple<macoro::detail::when_all_task<void>, macoro::detail::when_all_task<void> > > > (awaitable=...) at /home/rui/Coding/PSI/volepsi/out/install/linux/include/macoro/sync_wait.h:186
#25 0x00005555558f23a8 in (anonymous namespace)::eval (t0=..., t1=...) at /home/rui/Coding/PSI/volepsi/tests/Common.h:17
#26 0x00005555558f3b43 in SilentTripleGen_test () at /home/rui/Coding/PSI/volepsi/tests/GMW_Tests.cpp:110
#27 0x00005555558daf8d in std::__invoke_impl<void, void (*&)()> (__f=@0x555555ddc960: 0x5555558f3544 <SilentTripleGen_test()>) at /usr/include/c++/11/bits/invoke.h:61
#28 0x00005555558daba7 in std::__invoke_r<void, void (*&)()> (__fn=@0x555555ddc960: 0x5555558f3544 <SilentTripleGen_test()>) at /usr/include/c++/11/bits/invoke.h:111
#29 0x00005555558da775 in std::_Function_handler<void (), void (*)()>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/11/bits/std_function.h:290
#30 0x0000555555b2f509 in osuCrypto::TestCollection::runOne(unsigned long, osuCrypto::CLP const*) ()
#31 0x0000555555b2f8a7 in osuCrypto::TestCollection::run(std::vector<unsigned long, std::allocator<unsigned long> >, unsigned long, osuCrypto::CLP const*) ()
#32 0x0000555555b305f1 in osuCrypto::TestCollection::runAll(unsigned long, osuCrypto::CLP const*) ()
#33 0x0000555555b3232c in osuCrypto::TestCollection::runIf(osuCrypto::CLP&) ()
#34 0x00005555555879cb in main (argc=2, argv=0x7fffffffdeb8) at /home/rui/Coding/PSI/volepsi/frontend/main.cpp:43
ladnir commented 5 months ago

im on vacation now and will get back to in a week or so.

eattomatoeveryday commented 5 months ago

Thx professor,just enjoy your vocation! I have passed all tests after reducing the set size,but i dont know why it happens.

tests>FileBase_Tests.cpp>filebase_psi_csv_Test(): line 223
//before
    u64 ns = 34234;
    u64 nr = 24356;
//after 
        u64 ns = 3423;
    u64 nr = 4356;
ladnir commented 3 months ago

oh, i forgot about this... Did you figure out the issue?

eattomatoeveryday commented 3 months ago

oh, i forgot about this... Did you figure out the issue?

yes,i have passed all tests when i reduce the set size! but it will fail when the set size is large