Closed Bug 1875098 Opened 2 years ago Closed 2 years ago

Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Invalid key exchange group.), at /builds/worker/checkouts/gecko/security/manager/ssl/nsNSSCallbacks.cpp:675

Categories

(Core :: Security: PSM, defect)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1874962
Tracking Status
firefox123 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion)

Found with m-c 20240117-71000174812f (--enable-debug)

This was found by visiting a live website with a debug build.

STR:

  • Launch browser and visit site

This issue is being hit very frequently (hundreds of times in the last 4 hours)

This has been triggered by visiting:

Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Invalid key exchange group.), at /builds/worker/checkouts/gecko/security/manager/ssl/nsNSSCallbacks.cpp:675

#0 0x7f467015cc1b in getKeaGroupName(unsigned int) /builds/worker/checkouts/gecko/security/manager/ssl/nsNSSCallbacks.cpp:675:7
#1 0x7f46699c5ae0 in mozilla::net::QuicSocketControl::SetInfo(unsigned short, unsigned short, unsigned short, unsigned short, bool) /builds/worker/checkouts/gecko/netwerk/protocol/http/QuicSocketControl.cpp:91:27
#2 0x7f46698b28cd in mozilla::net::Http3Session::SetSecInfo() /builds/worker/checkouts/gecko/netwerk/protocol/http/Http3Session.cpp:2184:21
#3 0x7f46698ae582 in mozilla::net::Http3Session::ProcessEvents() /builds/worker/checkouts/gecko/netwerk/protocol/http/Http3Session.cpp:583:9
#4 0x7f4669953c15 in mozilla::net::HttpConnectionUDP::OnQuicTimeoutExpired() /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpConnectionUDP.cpp:532:32
#5 0x7f46698cd1a9 in operator()<> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1164:18
#6 0x7f46698cd1a9 in __invoke_impl<void, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9)> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14
#7 0x7f46698cd1a9 in __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9)> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14
#8 0x7f46698cd1a9 in __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), std::tuple<> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14
#9 0x7f46698cd1a9 in apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1163:9), std::tuple<> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14
#10 0x7f46698cd1a9 in apply<mozilla::net::HttpConnectionUDP, void (mozilla::net::HttpConnectionUDP::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1162:12
#11 0x7f46698cd1a9 in mozilla::detail::RunnableMethodImpl<RefPtr<mozilla::net::HttpConnectionUDP>, void (mozilla::net::HttpConnectionUDP::*)(), true, (mozilla::RunnableKind)0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1213:13
#12 0x7f46691af7f1 in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1193:16
#13 0x7f46691b67cd in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10
#14 0x7f466942dbf1 in mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp:1203:11
#15 0x7f466942f51c in non-virtual thunk to mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp
#16 0x7f46691af7f1 in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1193:16
#17 0x7f46691b67cd in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10
#18 0x7f4669e8d5de in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:300:20
#19 0x7f4669da5b11 in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3
#20 0x7f4669da5b11 in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3
#21 0x7f46691aaac3 in nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:370:10
#22 0x7f467d03fd0f in _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5
#23 0x7f467d8e0ac2 in start_thread nptl/pthread_create.c:442:8
#24 0x7f467d971813 in __clone misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:100

This assert is in ssl code. Introduced in bug 1304923 (full enum that is matched). I think this should be triaged by nss team.

Component: Networking → Security: PSM

The patch in https://phabricator.services.mozilla.com/D198744 will fix the assertion failure. But we shouldn't be negotiating the new key exchange group at all yet, so there's another error here. I'll keep investigating.

OK, it seems that some sites (a few google analytics properties?) are acting as if they only support the new key exchange---they are sending hello retry requests to force its use. I'm going to mark this as a duplicate of Bug 1874962, since the patch there will fix the assertion failure. It's queued for landing now.

Status: NEW → RESOLVED
Closed: 2 years ago
Duplicate of bug: 1874962
Resolution: --- → DUPLICATE
See Also: → 1875138
See Also: → 1875158
You need to log in before you can comment on or make changes to this bug.