View Issue Details

IDProjectCategoryView StatusLast Update
0009450Talermechant backendpublic2025-01-14 23:54
ReporterFlorian Dold Assigned ToFlorian Dold  
PrioritynormalSeveritycrashReproducibilityhave not tried
Status resolvedResolutionfixed 
Target Version1.0Fixed in Version1.0 
Summary0009450: account restrictions crash kyccheck (test: account-restrictions)
DescriptionThe test also fails, but due to a different reason. Maybe setting account restrictions in the exchange is also broken at the moment?
Steps To Reproduce$ taler-harness run-integrationtests account-restriction
Additional InformationCore was generated by `taler-merchant-kyccheck taler-merchant-kyccheck -LDEBUG -c /tmp/taler-integrati'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __GI___regexec (preg=preg@entry=0x7ffc6008b940, string=string@entry=0x20524b40 "payto://x-taler-bank/localhost/merchant-default", nmatch=nmatch@entry=0, pmatch=pmatch@entry=0x0, eflags=4, eflags@entry=0)
    at /usr/src/debug/glibc-2.39-33.fc40.x86_64/posix/regexec.c:205
205 start = pmatch[0].rm_so;
(gdb) bt
#0 __GI___regexec (preg=preg@entry=0x7ffc6008b940, string=string@entry=0x20524b40 "payto://x-taler-bank/localhost/merchant-default", nmatch=nmatch@entry=0, pmatch=pmatch@entry=0x0, eflags=4, eflags@entry=0)
    at /usr/src/debug/glibc-2.39-33.fc40.x86_64/posix/regexec.c:205
#1 0x00007f2473f84a6d in __compat_regexec (preg=preg@entry=0x7ffc6008b940, string=string@entry=0x20524b40 "payto://x-taler-bank/localhost/merchant-default", nmatch=nmatch@entry=0, pmatch=pmatch@entry=0x0, eflags=eflags@entry=4)
    at /usr/src/debug/glibc-2.39-33.fc40.x86_64/posix/regexec.c:240
#2 0x00007f247485140d in TALER_EXCHANGE_test_account_allowed (account=0x20522d30, check_credit=check_credit@entry=true, payto_uri=payto_uri@entry=...) at exchange_api_restrictions.c:80
#3 0x00007f24748281ee in TALER_EXCHANGE_keys_test_account_allowed (keys=keys@entry=0x20522650, check_credit=check_credit@entry=true, payto_uri=payto_uri@entry=...) at exchange_api_common.c:670
#4 0x00000000004040ed in is_eligible (a=0x20529900, keys=0x20522650) at taler-merchant-kyccheck.c:721
#5 start_inquiries (a=0x20529900) at taler-merchant-kyccheck.c:869
#6 account_cb (cls=<optimized out>, merchant_priv=0x7ffc6008bae0, ad=<optimized out>) at taler-merchant-kyccheck.c:940
#7 account_cb (cls=<optimized out>, merchant_priv=0x7ffc6008bae0, ad=<optimized out>) at taler-merchant-kyccheck.c:899
#8 0x00007f24730a2581 in select_account_cb (cls=cls@entry=0x7ffc6008bf70, result=result@entry=0x205207c0, num_results=num_results@entry=1) at pg_select_accounts.c:120
#9 0x00007f2474707edf in GNUNET_PQ_eval_prepared_multi_select (db=<optimized out>, statement_name=statement_name@entry=0x7f24730a889e "select_accounts", params=params@entry=0x7ffc6008bfb0,
    rh=rh@entry=0x7f24730a2400 <select_account_cb>, rh_cls=rh_cls@entry=0x7ffc6008bf70) at pq_eval.c:190
#10 0x00007f24730a2942 in TMH_PG_select_accounts (cls=0x205154a0, id=<optimized out>, cb=<optimized out>, cb_cls=<optimized out>) at pg_select_accounts.c:171
#11 0x0000000000403a3d in find_accounts (cls=<optimized out>) at taler-merchant-kyccheck.c:957
#12 0x00007f247461a0b0 in GNUNET_SCHEDULER_do_work (sh=sh@entry=0x2050edf0) at scheduler.c:2144
#13 0x00007f247461af95 in select_loop (sh=0x2050edf0, context=0x7ffc6008c0a0) at scheduler.c:2443
#14 GNUNET_SCHEDULER_run (task=task@entry=0x7f2474611db0 <program_main>, task_cls=task_cls@entry=0x7ffc6008c170) at scheduler.c:743
#15 0x00007f2474612551 in GNUNET_PROGRAM_run2 (pd=0x7f2474864cc0 <merchant_pd>, argc=<optimized out>, argc@entry=5, argv=argv@entry=0x7ffc6008c5e8, binaryName=binaryName@entry=0x406135 "taler-merchant-kyccheck",
    binaryHelp=binaryHelp@entry=0x406418 "background process that checks the KYC state of our bank accounts at various exchanges", options=options@entry=0x7ffc6008c390, task=0x402600 <run>, task_cls=0x0, run_without_scheduler=0)
    at program.c:388
#16 0x00007f2474612b33 in GNUNET_PROGRAM_run (pd=<optimized out>, argc=argc@entry=5, argv=argv@entry=0x7ffc6008c5e8, binaryName=binaryName@entry=0x406135 "taler-merchant-kyccheck",
    binaryHelp=binaryHelp@entry=0x406418 "background process that checks the KYC state of our bank accounts at various exchanges", options=options@entry=0x7ffc6008c390, task=0x402600 <run>, task_cls=0x0) at program.c:416
#17 0x00000000004024e8 in main (argc=5, argv=0x7ffc6008c5e8) at taler-merchant-kyccheck.c:1444
TagsNo tags attached.

Activities

Christian Grothoff

2025-01-09 16:44

manager   ~0023960

$ taler-harness run-integrationtests account-restriction
2025-01-09T15:43:47.433Z testrunner.ts INFO purging shared test environment
testsuite root directory: /tmp/taler-integrationtests-2tZjdx
selected 0 tests
See /tmp/taler-integrationtests-2tZjdx/results.json for details
Skipped: 0/0
Failed: 0/0
Passed: 0/0

=> Cannot reproduce.

Christian Grothoff

2025-01-09 16:45

manager   ~0023961

also:
>>
        if (regexec (&ex,
                     payto_uri.normalized_payto,
                     0, NULL,
                     REG_STARTEND))
<<
in exchange_api_restrictions.c looks odd. Why does it say REG_STARTEND here? I think it should just be 0 instead.

Florian Dold

2025-01-09 17:07

manager   ~0023962

I missed an "s" there when copy+pasting (also see title).

It's

$ taler-harness run-integrationtests account-restrictions

with an "s" at the end.

Christian Grothoff

2025-01-09 17:20

manager   ~0023963

As expected, 37a439fc4..59f28ed11 fixes the crash AFAIK, but the test still fails...

Florian Dold

2025-01-14 19:12

manager   ~0023980

Hanging test was caused by minor regression in wallet-core.

Issue History

Date Modified Username Field Change
2025-01-08 20:10 Florian Dold New Issue
2025-01-08 20:10 Florian Dold Status new => assigned
2025-01-08 20:10 Florian Dold Assigned To => sebasjm
2025-01-08 20:10 Florian Dold Assigned To sebasjm => Christian Grothoff
2025-01-08 20:10 Florian Dold Category merchant backoffice SPA => mechant backend
2025-01-09 16:44 Christian Grothoff Note Added: 0023960
2025-01-09 16:45 Christian Grothoff Note Added: 0023961
2025-01-09 16:45 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2025-01-09 17:07 Florian Dold Note Added: 0023962
2025-01-09 17:07 Florian Dold Assigned To Florian Dold => Christian Grothoff
2025-01-09 17:20 Christian Grothoff Note Added: 0023963
2025-01-09 17:20 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2025-01-14 19:12 Florian Dold Status assigned => resolved
2025-01-14 19:12 Florian Dold Resolution open => fixed
2025-01-14 19:12 Florian Dold Note Added: 0023980
2025-01-14 23:54 Christian Grothoff Fixed in Version => 1.0