Hello ,
I am trying to run some experiments using gQUIC version Q043 to measure Page Load Time difference between older gQUIC version and present IETF QUIC v1.
I am using latest chromium source code and quic toy server as QUIC server.
While I am able to successfully talk gQUIC Q043 using quic toy client. but, When I try to use Chrome as the client I am running into below error. Which seems to be related to TLS.
I know gQUIC and IETF QUIC crypto handshake is very different, and also found this line in chromium source code
// KeyUpdates are used in TLS, but we no longer support pre-TLS QUIC.
Does this mean I cannot use gQUIC Q043 using latest chrome ? (Even though quic source code support this version )
Any hints on how to run gQUIC Q043 using chromium as client will be of great help.
Thanks!
Error Info:
Chrome command (headless)
out/Default/chrome --no-sandbox --headless --disable-gpu --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile1 --enable-benchmarking --enable-net-benchmarking --ignore-certificate-errors-spki-list=$(cat net/tools/quic/certs/out/server_pub_spki.txt) --no-proxy-server --enable-quic --quic-version=Q043 --origin-to-force-quic-on=www.example.org:443 --host-resolver-rules='MAP www.example.org:443 127.0.0.1:6121'
Error
DevTools listening on ws://127.0.0.1:9222/devtools/browser/9b86797b-0f66-457f-9b09-6ad71c4e33b5
...
[0510/123454.601065:FATAL:quic_chromium_client_session.cc(1433)] Check failed: connection()->version().UsesTls().
#0 0x7fbeae55e59c base::debug::CollectStackTrace()
#1 0x7fbeae51549a base::debug::StackTrace::StackTrace()
#2 0x7fbeae515455 base::debug::StackTrace::StackTrace()
#3 0x7fbeae23d3a9 logging::LogMessage::~LogMessage()
#4 0x7fbeae1e876c logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage()
#5 0x7fbeae1e8799 logging::(anonymous namespace)::DCheckLogMessage::~DCheckLogMessage()
#6 0x7fbeae1e82dd logging::CheckError::~CheckError()
#7 0x7fbeac86141e net::QuicChromiumClientSession::GetSSLInfo()
#8 0x7fbeac98345e net::MultiplexedSessionHandle::SaveSSLInfo()
#9 0x7fbeac98341d net::MultiplexedSessionHandle::MultiplexedSessionHandle()
#10 0x7fbeac8594b1 net::QuicChromiumClientSession::Handle::Handle()
#11 0x7fbeac8766f8 std::__Cr::make_unique<>()
#12 0x7fbeac86db29 net::QuicChromiumClientSession::CreateHandle()