On 2023/06/25 2:09, mamsds wrote:
Hi John,

I am using Debian on RaspberryPi and everything is from the official
apt package manager.

Hardware architecture: armv7l GNU/Linux
OS version:            Raspbian GNU/Linux 11 (bullseye)
Libmicrohttpd:         stable, 0.9.72-2 armhf
Valgrind:              valgrind-3.7.0

I can also share the code that I was testing:
https://github.com/alex-lt-kong/public-address-client



Exact invocation and surrounding output:

# valgrind --leak-check=yes --log-file=/tmp/valgrind.rpt
$HOME/bin/public-address-client/pac.out
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
Error accepting connection: Function not implemented
[a lot more identical rows...]



strace output:

3454  cacheflush(0x42714b70, 0x42714ca0, 0) = 0
3454  cacheflush(0x42714ca0, 0x42714d20, 0) = 0
3454  cacheflush(0x42714d20, 0x42714dec, 0) = 0
3454  cacheflush(0x42714df0, 0x42714f28, 0) = 0
3454  cacheflush(0x42714f28, 0x427150e0, 0) = 0
3454  getpid()                          = 3454
3454  write(1026, "==3454== \n", 10)    = 10
3454  getpid()                          = 3454
3454  getpid()                          = 3454
3454  getpid()                          = 3454
3454  getpid()                          = 3454
3454  write(1026, "==3454== HEAP SUMMARY:\n==3454== "..., 170) = 170
3454  rt_sigprocmask(SIG_SETMASK, NULL, ~[ILL TRAP BUS FPE KILL SEGV
STOP], 8) = 0
3454  rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP],
NULL, 8) = 0
3454  rt_sigprocmask(SIG_SETMASK, NULL, ~[ILL TRAP BUS FPE KILL SEGV
STOP], 8) = 0
3454  rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP],
NULL, 8) = 0
3454  rt_sigprocmask(SIG_SETMASK, NULL, ~[ILL TRAP BUS FPE KILL SEGV
STOP], 8) = 0
3454  rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP],
NULL, 8) = 0
[The last row repeats a lot of times]



I am not very sure on how to count twenty syscalls since the beginning
of the error though.

Please let me know if you notice any issues. I will leave the mail for
a while then I will file a report to bugs.kde.org.

Thanks,
Alex

On Fri, 2023-06-23 at 12:54 -0700, John Reiser wrote:
... each time a client makes a [HTTP] request, Valgrind complains
"Error
accepting connection: Function not implemented" and my program
fails to
handle the request as a result.
Which versions of each of these pieces are you running:
Libmicrohttpd, valgrind,
hardware architecture, OS?

Please give the exact copy+paste of the invocation of valgrind that
fails,
together with the output from Terminal that surrounds the complaint
"Error accepting connection: Function not implemented".

Please run under /usr/bin/strace, and report the twenty system calls
that are run
shortly before the complaint:
      strace -f -o strace.out valgrind ./my_app args...
You may wish to compare versus the output from strace on the same
command
but without using 'valgrind'.

Then the best way to gain attention of valgrind *developers*
is to put all that info into a bug report at:
https://bugs.kde.org/ ,
and post here in the mailing list the URL of the bug report that you
created.

I think it may be wiser to discuss the details in the web pub report mechanism.

But for now, I have a question.

- Does your program run without valgrind? (i.e. does it accept connection from outside?)

  If so, please capture the syscalls in that scenario and try capturing the syscalls when it accepts the connection.

  Compare that syscalls with the syscalls when your program is run under valgrind.

Then you will see where your program's behavior under valgrind deviates from the normal flow.

I *THINK* the issue is related to a possible timeout in the library which does not occur in the code usually and may not be handled very well. I have seen some cases where the slowdown under valgrind is like x20 and due to this, the ordinary program execution disrupted so much that the program bails out due to timeout. It occurs quite often of testing of thunderbird mail client, for example.

Judicious use of larger timeout values often fixed the similar issues for me in the past.

Given that you need to post so many contextual information, I think filing the bug to the kde bug reporting system would be wiser.


Chiaki




_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to