Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

curl7.71.1 + quiche, to support http3, coredump #5726

Closed
lilongyan-huawei opened this issue Jul 27, 2020 · 1 comment
Closed

curl7.71.1 + quiche, to support http3, coredump #5726

lilongyan-huawei opened this issue Jul 27, 2020 · 1 comment
Assignees
Labels
crash HTTP/3 h3 or quic related

Comments

@lilongyan-huawei
Copy link

[root@dgzx0786 src]# ./curl --http3 https://localhost:443
*** Error in `/home/curl/curl-7.71.1/src/.libs/lt-curl': munmap_chunk(): invalid pointer: 0x00000000021b9c78 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7b184)[0x7f3ca279f184]
/home/curl/curl-7.71.1/../quiche/target/release/libquiche.so(quiche_config_free+0x28)[0x7f3ca31636f8]
/home/curl/curl-7.71.1/lib/.libs/libcurl.so.4(+0x75e2f)[0x7f3ca35bee2f]
/home/curl/curl-7.71.1/lib/.libs/libcurl.so.4(+0x25517)[0x7f3ca356e517]
/home/curl/curl-7.71.1/lib/.libs/libcurl.so.4(+0x4e530)[0x7f3ca3597530]
/home/curl/curl-7.71.1/lib/.libs/libcurl.so.4(curl_multi_perform+0x93)[0x7f3ca3598223]
/home/curl/curl-7.71.1/lib/.libs/libcurl.so.4(+0x2c8d3)[0x7f3ca35758d3]
/home/curl/curl-7.71.1/src/.libs/lt-curl[0x41245d]
/home/curl/curl-7.71.1/src/.libs/lt-curl[0x403122]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f3ca2745b15]
/home/curl/curl-7.71.1/src/.libs/lt-curl[0x4032a5]
======= Memory map: ========
00400000-00433000 r-xp 00000000 08:03 19927986 /home/curl/curl-7.71.1/src/.libs/lt-curl
00632000-00633000 r--p 00032000 08:03 19927986 /home/curl/curl-7.71.1/src/.libs/lt-curl
00633000-00634000 rw-p 00033000 08:03 19927986 /home/curl/curl-7.71.1/src/.libs/lt-curl
0219500-021d8000 rw-p 00000000 00:00 0 [heap]
7f3c94000000-7f3c94021000 rw-p 00000000 00:00 0
7f3c94021000-7f3c98000000 ---p 00000000 00:00 0
7f3c9b3cc000-7f3c9b3d7000 r-xp 00000000 08:02 3146891 /usr/lib64/libnss_files-2.17.so
7f3c9b3d7000-7f3c9b5d6000 ---p 0000b000 08:02 3146891 /usr/lib64/libnss_files-2.17.so
7f3c9b5d6000-7f3c9b5d7000 r--p 0000a000 08:02 3146891 /usr/lib64/libnss_files-2.17.so
7f3c9b5d7000-7f3c9b5d8000 rw-p 0000b000 08:02 3146891 /usr/lib64/libnss_files-2.17.so
7f3c9b5d8000-7f3c9b5de000 rw-p 00000000 00:00 0
7f3c9b5de000-7f3c9b5df000 ---p 00000000 00:00 0
7f3c9b5df000-7f3c9bddf000 rw-p 00000000 00:00 0
7f3c9bddf000-7f3ca2306000 r--p 00000000 08:02 134994 /usr/lib/locale/locale-archive
7f3ca2306000-7f3ca231b000 r-xp 00000000 08:02 3167040 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f3ca231b000-7f3ca251a000 ---p 00015000 08:02 3167040 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f3ca251a000-7f3ca251b000 r--p 00014000 08:02 3167040 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f3ca251b000-7f3ca251c000 rw-p 00015000 08:02 3167040 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f3ca251c000-7f3ca2523000 r-xp 00000000 08:02 3146903 /usr/lib64/librt-2.17.so
7f3ca2523000-7f3ca2722000 ---p 00007000 08:02 3146903 /usr/lib64/librt-2.17.so
7f3ca2722000-7f3ca2723000 r--p 00006000 08:02 3146903 /usr/lib64/librt-2.17.so
7f3ca2723000-7f3ca2724000 rw-p 00007000 08:02 3146903 /usr/lib64/librt-2.17.so
7f3ca2724000-7f3ca28da000 r-xp 00000000 08:02 3146873 /usr/lib64/libc-2.17.so
7f3ca28da000-7f3ca2ada000 ---p 001b6000 08:02 3146873 /usr/lib64/libc-2.17.so
7f3ca2ada000-7f3ca2ade000 r--p 001b6000 08:02 3146873 /usr/lib64/libc-2.17.so
7f3ca2ade000-7f3ca2ae0000 rw-p 001ba000 08:02 3146873 /usr/lib64/libc-2.17.so
7f3ca2ae0000-7f3ca2ae5000 rw-p 00000000 00:00 0
7f3ca2ae5000-7f3ca2afb000 r-xp 00000000 08:02 3146899 /usr/lib64/libpthread-2.17.so
7f3ca2afb000-7f3ca2cfb000 ---p 00016000 08:02 3146899 /usr/lib64/libpthread-2.17.so
7f3ca2cfb000-7f3ca2cfc000 r--p 00016000 08:02 3146899 /usr/lib64/libpthread-2.17.so
7f3ca2cfc000-7f3ca2cfd000 rw-p 00017000 08:02 3146899 /usr/lib64/libpthread-2.17.so
7f3ca2cfd000-7f3ca2d01000 rw-p 00000000 00:00 0
7f3ca2d01000-7f3ca2d04000 r-xp 00000000 08:02 3146879 /usr/lib64/libdl-2.17.so
7f3ca2d04000-7f3ca2f03000 ---p 00003000 08:02 3146879 /usr/lib64/libdl-2.17.so
7f3ca2f03000-7f3ca2f04000 r--p 00002000 08:02 3146879 /usr/lib64/libdl-2.17.so
7f3ca2f04000-7f3ca2f05000 rw-p 00003000 08:02 3146879 /usr/lib64/libdl-2.17.so
7f3ca2f05000-7f3ca2f1a000 r-xp 00000000 08:02 3147308 /usr/lib64/libz.so.1.2.7
7f3ca2f1a000-7f3ca3119000 ---p 00015000 08:02 3147308 /usr/lib64/libz.so.1.2.7
7f3ca3119000-7f3ca311a000 r--p 00014000 08:02 3147308 /usr/lib64/libz.so.1.2.7
7f3ca311a000-7f3ca311b000 rw-p 00015000 08:02 3147308 /usr/lib64/libz.so.1.2.7
7f3ca311b000-7f3ca3332000 r-xp 00000000 08:03 19801673 /home/curl/quiche/target/release/libquiche.so
7f3ca3332000-7f3ca3531000 ---p 00217000 08:03 19801673 /home/curl/quiche/target/release/libquiche.so
7f3ca3531000-7f3ca3547000 r--p 00216000 08:03 19801673 /home/curl/quiche/target/release/libquiche.so
7f3ca3547000-7f3ca3548000 rw-p 0022c000 08:03 19801673 /home/curl/quiche/target/release/libquiche.so
7f3ca3548000-7f3ca3549000 rw-p 00000000 00:00 0
7f3ca3549000-7f3ca374f000 r-xp 00000000 08:03 19927930 /home/curl/curl-7.71.1/lib/.libs/libcurl.so.4.6.0
7f3ca374f000-7f3ca394f000 ---p 00206000 08:03 19927930 /home/curl/curl-7.71.1/lib/.libs/libcurl.so.4.6.0
7f3ca394f000-7f3ca3961000 r--p 00206000 08:03 19927930 /home/curl/curl-7.71.1/lib/.libs/libcurl.so.4.6.0
7f3ca3961000-7f3ca3962000 rw-p 00218000 08:03 19927930 /home/curl/curl-7.71.1/lib/.libs/libcurl.so.4.6.0
7f3ca3962000-7f3ca3965000 rw-p 00000000 00:00 0
7f3ca3965000-7f3ca3986000 r-xp 00000000 08:02 3146866 /usr/lib64/ld-2.17.so
7f3ca3b72000-7f3ca3b77000 rw-p 00000000 00:00 0
7f3ca3b83000-7f3ca3b86000 rw-p 00000000 00:00 0
7f3ca3b86000-7f3ca3b87000 r--p 00021000 08:02 3146866 /usr/lib64/ld-2.17.so
7f3ca3b87000-7f3ca3b88000 rw-p 00022000 08:02 3146866 /usr/lib64/ld-2.17.so
7f3ca3b88000-7f3ca3b89000 rw-p 00000000 00:00 0
7ffd25ad3000-7ffd25af4000 rw-p 00000000 00:00 0 [stack]
7ffd25ba5000-7ffd25ba7000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted (core dumped)

I did this

I expected the following

curl/libcurl version

[curl -V output]
[root@dgzx0786 src]# ./curl -V
curl 7.71.1 (x86_64-unknown-linux-gnu) libcurl/7.71.1 BoringSSL zlib/1.2.7 quiche/0.5.1
Release-Date: 2020-07-01
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HTTP3 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TrackMemory UnixSockets

operating system

Centos

Linux dgzx0786 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

@lilongyan-huawei
Copy link
Author

Build quiche and BoringSSL:

% git clone --recursive https://github.com/cloudflare/quiche
% cd quiche
% cargo build --release --features pkg-config-meta,qlog
% mkdir deps/boringssl/src/lib
% ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) deps/boringssl/src/lib/
Build curl:

% cd ..
% git clone https://github.com/curl/curl
% cd curl
% ./buildconf
% ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl/src --with-quiche=$PWD/../quiche/target/release --enable-alt-svc
% make

@bagder bagder added crash HTTP/3 h3 or quic related labels Jul 27, 2020
bagder added a commit that referenced this issue Jul 27, 2020
Reported-by: lilongyan-huawei on github
Fixes #5726
@bagder bagder self-assigned this Jul 27, 2020
@bagder bagder closed this as completed in 425fa86 Jul 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash HTTP/3 h3 or quic related
Development

Successfully merging a pull request may close this issue.

2 participants