Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
Re: Test 1452 failing on ElectroBSD when executed with valgrind
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Timothe Litt <litt_at_acm.org>
Date: Sun, 25 Sep 2022 10:29:51 -0400
Looks like to get anything useful from the telnet server log, you need
to specify --verbose there.
See curl/tests/negtelnetserver.py
Don't know if there's a default timeout on the socketserver object; you
can set timeout=None on it if so.
Beyond that, I'll let someone closer to the tests take over.
Good hunting.
Timothe Litt
ACM Distinguished Engineer
--------------------------
This communication may not represent the ACM or my employer's views,
if any, on the matters discussed.
On 25-Sep-22 10:11, Fabian Keil via curl-library wrote:
> Timothe Litt via curl-library<curl-library_at_lists.haxx.se> wrote on 2022-09-25 at 08:07:19:
>
>> The 56 exit code is the "Recv failure: Connection reset by peer" from
>> curl.
>>
>> valgrind might affect timing.
> I suspect the same.
>
>> If you expect anyone to look into this, you probably should post the
>> valgrind log (log/valgrind1452) to see what it is doing, and
>> log/telnet_server.log to see why the telnet server is closing the
>> connection...
> fk_at_t520 ~/git/curl/tests $cat log/telnet_server.log
> 2022-09-25 16:08:31,265 INFO [NTEL] Listening on ('localhost', 32151)
>
>> Also consider replacing the --quiet with --verbose to see more of
>> valgrind is doing.
> I did that:
>
> fk_at_t520 ~/git/curl/tests $cat log/valgrind1452
> ==40053== Memcheck, a memory error detector
> ==40053== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
> ==40053== Using Valgrind-3.20.0.GIT-unknown and LibVEX; rerun with -h for copyright info
> ==40053== Command: ../src/curl --include --trace-ascii log/trace1452 --trace-timetelnet://127.0.0.1:32151 --upload-file -
> ==40053== Parent PID: 57394
> ==40053==
> --40053--
> --40053-- Valgrind options:
> --40053-- --tool=memcheck
> --40053-- --verbose
> --40053-- --leak-check=yes
> --40053-- --suppressions=./valgrind.supp
> --40053-- --num-callers=16
> --40053-- --log-file=log/valgrind1452
> --40053-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-rdtscp-sse3-ssse3-avx
> --40053-- Page sizes: currently 4096, max supported 4096
> --40053-- Valgrind library directory: /usr/local/libexec/valgrind
> --40053-- Reading syms from /home/fk/git/curl/src/curl
> --40053-- Set osrel for current process with value 1301506
> --40053-- Reading syms from /libexec/ld-elf.so.1
> --40053-- Considering /usr/lib/debug/libexec/ld-elf.so.1.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Scheduler: using generic scheduler lock implementation.
> --40053-- Reading suppressions file: ./valgrind.supp
> --40053-- Reading suppressions file: /usr/local/libexec/valgrind/default.supp
> ==40053== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-40053-by-fk-on-???
> ==40053== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-40053-by-fk-on-???
> ==40053== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-40053-by-fk-on-???
> ==40053==
> ==40053== TO CONTROL THIS PROCESS USING vgdb (which you probably
> ==40053== don't want to do, unless you know exactly what you're doing,
> ==40053== or are doing some strange experiment):
> ==40053== /usr/local/libexec/valgrind/../../bin/vgdb --pid=40053 ...command...
> ==40053==
> ==40053== TO DEBUG THIS PROCESS USING GDB: start GDB like this
> ==40053== /path/to/gdb ../src/curl
> ==40053== and then give GDB the following command
> ==40053== target remote | /usr/local/libexec/valgrind/../../bin/vgdb --pid=40053
> ==40053== --pid is optional if only one valgrind process is running
> ==40053==
> --40053-- Reading syms from /usr/local/libexec/valgrind/vgpreload_core-amd64-freebsd.so
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/libexec/valgrind/vgpreload_memcheck-amd64-freebsd.so
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libnghttp2.so.14.22.0
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libidn2.so.0.3.7
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libpsl.so.5.3.3
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libssl.so.11
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libcrypto.so.11
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /lib/libz.so.6
> --40053-- Considering /usr/lib/debug/lib/libz.so.6.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /lib/libthr.so.3
> --40053-- Considering /usr/lib/debug/lib/libthr.so.3.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /lib/libc.so.7
> --40053-- Considering /usr/lib/debug/lib/libc.so.7.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libunistring.so.2.2.0
> --40053-- object doesn't have a symbol table
> --40053-- REDIR: 0x4df0dc0 (libc.so.7:memset) redirected to 0x4854800 (memset)
> --40053-- REDIR: 0x4e622b0 (libc.so.7:strncmp) redirected to 0x4852630 (strncmp)
> --40053-- REDIR: 0x4df08e0 (libc.so.7:memcpy) redirected to 0x4852cf0 (memcpy)
> --40053-- REDIR: 0x4df1080 (libc.so.7:strlen) redirected to 0x4851910 (strlen)
> --40053-- REDIR: 0x4e10100 (libc.so.7:calloc) redirected to 0x4850000 (calloc)
> --40053-- REDIR: 0x4e0f2b0 (libc.so.7:malloc) redirected to 0x484cb30 (malloc)
> --40053-- REDIR: 0x4e61c70 (libc.so.7:strcpy) redirected to 0x4851970 (strcpy)
> --40053-- REDIR: 0x4e12180 (libc.so.7:free) redirected to 0x484e7b0 (free)
> --40053-- REDIR: 0x4e61850 (libc.so.7:index) redirected to 0x4851090 (index)
> --40053-- REDIR: 0x4e61520 (libc.so.7:strcasecmp) redirected to 0x4852720 (strcasecmp)
> --40053-- REDIR: 0x4e109c0 (libc.so.7:realloc) redirected to 0x48502f0 (realloc)
> --40053-- REDIR: 0x4e620b0 (libc.so.7:strlcpy) redirected to 0x4852500 (strlcpy)
> --40053-- REDIR: 0x4df1000 (libc.so.7:strcmp) redirected to 0x4852ba0 (strcmp)
> --40053-- REDIR: 0x4e62020 (libc.so.7:strlcat) redirected to 0x4851600 (strlcat)
> --40053-- REDIR: 0x4e60b30 (libc.so.7:memchr) redirected to 0x4852c90 (memchr)
> --40053-- REDIR: 0x4e616c0 (libc.so.7:strncasecmp) redirected to 0x4852850 (strncasecmp)
> --40053-- REDIR: 0x4df0ed0 (libc.so.7:strcat) redirected to 0x4851150 (strcat)
> --40053-- REDIR: 0x4df0570 (libc.so.7:bcmp) redirected to 0x48542f0 (bcmp)
> --40053-- REDIR: 0x4e61c90 (libc.so.7:strcspn) redirected to 0x4857380 (strcspn)
> --40053-- REDIR: 0x4e622f0 (libc.so.7:strncpy) redirected to 0x4851bb0 (strncpy)
> --40053-- REDIR: 0x4e624a0 (libc.so.7:rindex) redirected to 0x4850fc0 (rindex)
> --40053-- REDIR: 0x4df06d0 (libc.so.7:memcmp) redirected to 0x4854280 (memcmp)
> ==40053==
> ==40053== HEAP SUMMARY:
> ==40053== in use at exit: 238,075 bytes in 20 blocks
> ==40053== total heap usage: 4,106 allocs, 4,086 frees, 1,171,729 bytes allocated
> ==40053==
> ==40053== Searching for pointers to 20 not-freed blocks
> ==40053== Checked 11,417,136 bytes
> ==40053==
> ==40053== LEAK SUMMARY:
> ==40053== definitely lost: 0 bytes in 0 blocks
> ==40053== indirectly lost: 0 bytes in 0 blocks
> ==40053== possibly lost: 0 bytes in 0 blocks
> ==40053== still reachable: 107,003 bytes in 19 blocks
> ==40053== suppressed: 131,072 bytes in 1 blocks
> ==40053== Reachable blocks (those to which a pointer was found) are not shown.
> ==40053== To see them, rerun with: --leak-check=full --show-leak-kinds=all
> ==40053==
> ==40053== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
> --40053--
> --40053-- used_suppression: 1 MEMCHECK-LIBX-REACHABLE-2 /usr/local/libexec/valgrind/default.supp:603 suppressed: 131,072 bytes in 1 blocks
> ==40053==
> ==40053== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
>
> Fabian
>
Received on 2022-09-25
Date: Sun, 25 Sep 2022 10:29:51 -0400
Looks like to get anything useful from the telnet server log, you need
to specify --verbose there.
See curl/tests/negtelnetserver.py
Don't know if there's a default timeout on the socketserver object; you
can set timeout=None on it if so.
Beyond that, I'll let someone closer to the tests take over.
Good hunting.
Timothe Litt
ACM Distinguished Engineer
--------------------------
This communication may not represent the ACM or my employer's views,
if any, on the matters discussed.
On 25-Sep-22 10:11, Fabian Keil via curl-library wrote:
> Timothe Litt via curl-library<curl-library_at_lists.haxx.se> wrote on 2022-09-25 at 08:07:19:
>
>> The 56 exit code is the "Recv failure: Connection reset by peer" from
>> curl.
>>
>> valgrind might affect timing.
> I suspect the same.
>
>> If you expect anyone to look into this, you probably should post the
>> valgrind log (log/valgrind1452) to see what it is doing, and
>> log/telnet_server.log to see why the telnet server is closing the
>> connection...
> fk_at_t520 ~/git/curl/tests $cat log/telnet_server.log
> 2022-09-25 16:08:31,265 INFO [NTEL] Listening on ('localhost', 32151)
>
>> Also consider replacing the --quiet with --verbose to see more of
>> valgrind is doing.
> I did that:
>
> fk_at_t520 ~/git/curl/tests $cat log/valgrind1452
> ==40053== Memcheck, a memory error detector
> ==40053== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
> ==40053== Using Valgrind-3.20.0.GIT-unknown and LibVEX; rerun with -h for copyright info
> ==40053== Command: ../src/curl --include --trace-ascii log/trace1452 --trace-timetelnet://127.0.0.1:32151 --upload-file -
> ==40053== Parent PID: 57394
> ==40053==
> --40053--
> --40053-- Valgrind options:
> --40053-- --tool=memcheck
> --40053-- --verbose
> --40053-- --leak-check=yes
> --40053-- --suppressions=./valgrind.supp
> --40053-- --num-callers=16
> --40053-- --log-file=log/valgrind1452
> --40053-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-rdtscp-sse3-ssse3-avx
> --40053-- Page sizes: currently 4096, max supported 4096
> --40053-- Valgrind library directory: /usr/local/libexec/valgrind
> --40053-- Reading syms from /home/fk/git/curl/src/curl
> --40053-- Set osrel for current process with value 1301506
> --40053-- Reading syms from /libexec/ld-elf.so.1
> --40053-- Considering /usr/lib/debug/libexec/ld-elf.so.1.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Scheduler: using generic scheduler lock implementation.
> --40053-- Reading suppressions file: ./valgrind.supp
> --40053-- Reading suppressions file: /usr/local/libexec/valgrind/default.supp
> ==40053== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-40053-by-fk-on-???
> ==40053== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-40053-by-fk-on-???
> ==40053== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-40053-by-fk-on-???
> ==40053==
> ==40053== TO CONTROL THIS PROCESS USING vgdb (which you probably
> ==40053== don't want to do, unless you know exactly what you're doing,
> ==40053== or are doing some strange experiment):
> ==40053== /usr/local/libexec/valgrind/../../bin/vgdb --pid=40053 ...command...
> ==40053==
> ==40053== TO DEBUG THIS PROCESS USING GDB: start GDB like this
> ==40053== /path/to/gdb ../src/curl
> ==40053== and then give GDB the following command
> ==40053== target remote | /usr/local/libexec/valgrind/../../bin/vgdb --pid=40053
> ==40053== --pid is optional if only one valgrind process is running
> ==40053==
> --40053-- Reading syms from /usr/local/libexec/valgrind/vgpreload_core-amd64-freebsd.so
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/libexec/valgrind/vgpreload_memcheck-amd64-freebsd.so
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libnghttp2.so.14.22.0
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libidn2.so.0.3.7
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libpsl.so.5.3.3
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libssl.so.11
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libcrypto.so.11
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /lib/libz.so.6
> --40053-- Considering /usr/lib/debug/lib/libz.so.6.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /lib/libthr.so.3
> --40053-- Considering /usr/lib/debug/lib/libthr.so.3.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /lib/libc.so.7
> --40053-- Considering /usr/lib/debug/lib/libc.so.7.debug ..
> --40053-- .. CRC is valid
> --40053-- object doesn't have a symbol table
> --40053-- Reading syms from /usr/local/lib/libunistring.so.2.2.0
> --40053-- object doesn't have a symbol table
> --40053-- REDIR: 0x4df0dc0 (libc.so.7:memset) redirected to 0x4854800 (memset)
> --40053-- REDIR: 0x4e622b0 (libc.so.7:strncmp) redirected to 0x4852630 (strncmp)
> --40053-- REDIR: 0x4df08e0 (libc.so.7:memcpy) redirected to 0x4852cf0 (memcpy)
> --40053-- REDIR: 0x4df1080 (libc.so.7:strlen) redirected to 0x4851910 (strlen)
> --40053-- REDIR: 0x4e10100 (libc.so.7:calloc) redirected to 0x4850000 (calloc)
> --40053-- REDIR: 0x4e0f2b0 (libc.so.7:malloc) redirected to 0x484cb30 (malloc)
> --40053-- REDIR: 0x4e61c70 (libc.so.7:strcpy) redirected to 0x4851970 (strcpy)
> --40053-- REDIR: 0x4e12180 (libc.so.7:free) redirected to 0x484e7b0 (free)
> --40053-- REDIR: 0x4e61850 (libc.so.7:index) redirected to 0x4851090 (index)
> --40053-- REDIR: 0x4e61520 (libc.so.7:strcasecmp) redirected to 0x4852720 (strcasecmp)
> --40053-- REDIR: 0x4e109c0 (libc.so.7:realloc) redirected to 0x48502f0 (realloc)
> --40053-- REDIR: 0x4e620b0 (libc.so.7:strlcpy) redirected to 0x4852500 (strlcpy)
> --40053-- REDIR: 0x4df1000 (libc.so.7:strcmp) redirected to 0x4852ba0 (strcmp)
> --40053-- REDIR: 0x4e62020 (libc.so.7:strlcat) redirected to 0x4851600 (strlcat)
> --40053-- REDIR: 0x4e60b30 (libc.so.7:memchr) redirected to 0x4852c90 (memchr)
> --40053-- REDIR: 0x4e616c0 (libc.so.7:strncasecmp) redirected to 0x4852850 (strncasecmp)
> --40053-- REDIR: 0x4df0ed0 (libc.so.7:strcat) redirected to 0x4851150 (strcat)
> --40053-- REDIR: 0x4df0570 (libc.so.7:bcmp) redirected to 0x48542f0 (bcmp)
> --40053-- REDIR: 0x4e61c90 (libc.so.7:strcspn) redirected to 0x4857380 (strcspn)
> --40053-- REDIR: 0x4e622f0 (libc.so.7:strncpy) redirected to 0x4851bb0 (strncpy)
> --40053-- REDIR: 0x4e624a0 (libc.so.7:rindex) redirected to 0x4850fc0 (rindex)
> --40053-- REDIR: 0x4df06d0 (libc.so.7:memcmp) redirected to 0x4854280 (memcmp)
> ==40053==
> ==40053== HEAP SUMMARY:
> ==40053== in use at exit: 238,075 bytes in 20 blocks
> ==40053== total heap usage: 4,106 allocs, 4,086 frees, 1,171,729 bytes allocated
> ==40053==
> ==40053== Searching for pointers to 20 not-freed blocks
> ==40053== Checked 11,417,136 bytes
> ==40053==
> ==40053== LEAK SUMMARY:
> ==40053== definitely lost: 0 bytes in 0 blocks
> ==40053== indirectly lost: 0 bytes in 0 blocks
> ==40053== possibly lost: 0 bytes in 0 blocks
> ==40053== still reachable: 107,003 bytes in 19 blocks
> ==40053== suppressed: 131,072 bytes in 1 blocks
> ==40053== Reachable blocks (those to which a pointer was found) are not shown.
> ==40053== To see them, rerun with: --leak-check=full --show-leak-kinds=all
> ==40053==
> ==40053== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
> --40053--
> --40053-- used_suppression: 1 MEMCHECK-LIBX-REACHABLE-2 /usr/local/libexec/valgrind/default.supp:603 suppressed: 131,072 bytes in 1 blocks
> ==40053==
> ==40053== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
>
> Fabian
>
-- Unsubscribe: https://lists.haxx.se/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.html
- application/pgp-signature attachment: OpenPGP digital signature