-
Notifications
You must be signed in to change notification settings - Fork 85
Description
Environment
Atlasaurus developer build. OSX only.
Description
Starting a group voice call results in a Fatal Error assert.
On first glance, this appears to be due to a signal into the UI code from a non-main coro, and there's an assert farther down when memory is being freed that it runs on the main coro.
Thread 1 Queue : com.apple.main-thread (serial)
#0 0x000000010186cff4 in LLMutex::lock()::$_0::__invoke(int*) [inlined] at /Users/roxie/git/viewer/indra/llcommon/llmutex.cpp:58
#1 0x000000010186cff4 in LLMutex::lock()::$_0::__invoke(int*) at /Users/roxie/git/viewer/indra/llcommon/llmutex.cpp:58
#2 0x000000010186c042 in LLMutex::lock at /Users/roxie/git/viewer/indra/llcommon/llmutex.cpp:58
#3 0x000000010147e6eb in LLImageGLMemory::free_tex_image at /Users/roxie/git/viewer/indra/llrender/llimagegl.cpp:86
#4 0x0000000101485844 in LLImageGL::setManualImage [inlined] at /Users/roxie/git/viewer/indra/llrender/llimagegl.cpp:114
#5 0x0000000101485824 in LLImageGL::setManualImage at /Users/roxie/git/viewer/indra/llrender/llimagegl.cpp:1484
#6 0x00000001014841f1 in LLImageGL::setImage at /Users/roxie/git/viewer/indra/llrender/llimagegl.cpp:1007
#7 0x0000000101488696 in LLImageGL::createGLTexture at /Users/roxie/git/viewer/indra/llrender/llimagegl.cpp:1721
#8 0x0000000101481b6d in LLImageGL::createGLTexture at /Users/roxie/git/viewer/indra/llrender/llimagegl.cpp:1647
#9 0x0000000101482ee4 in LLImageGL::LLImageGL at /Users/roxie/git/viewer/indra/llrender/llimagegl.cpp:481
#10 0x000000010143de4f in LLFontBitmapCache::nextOpenPos at /Users/roxie/git/viewer/indra/llrender/llfontbitmapcache.cpp:120
#11 0x000000010143ef53 in LLFontFreetype::addGlyphFromFont at /Users/roxie/git/viewer/indra/llrender/llfontfreetype.cpp:576
#12 0x000000010143ee42 in LLFontFreetype::loadFace at /Users/roxie/git/viewer/indra/llrender/llfontfreetype.cpp:265
#13 0x000000010145a84b in LLFontRegistry::createFont at /Users/roxie/git/viewer/indra/llrender/llfontregistry.cpp:520
#14 0x000000010145bb64 in LLFontRegistry::getFont at /Users/roxie/git/viewer/indra/llrender/llfontregistry.cpp:609
#15 0x000000010169a21e in LLInitParam::ParamValue<LLFontGL const*, LLInitParam::NOT_BLOCK>::updateValueFromBlock at /Users/roxie/git/viewer/indra/llui/llui.cpp:582
#16 0x00000001016324dc in LLStyle::LLStyle [inlined] at /Users/roxie/git/viewer/indra/llcommon/llinitparam.h:2751
#17 0x00000001016324b8 in LLStyle::LLStyle [inlined] at /Users/roxie/git/viewer/indra/llcommon/llinitparam.h:2789
#18 0x00000001016324b8 in LLStyle::LLStyle [inlined] at /Users/roxie/git/viewer/indra/llcommon/llinitparam.h:290
#19 0x00000001016324b8 in LLStyle::LLStyle at /Users/roxie/git/viewer/indra/llui/llstyle.cpp:53
#20 0x00000001016505dc in LLTextBase::appendAndHighlightTextImpl at /Users/roxie/git/viewer/indra/llui/lltextbase.cpp:2433
#21 0x0000000101650166 in LLTextBase::appendAndHighlightText at /Users/roxie/git/viewer/indra/llui/lltextbase.cpp:2516
#22 0x000000010164f2b4 in LLTextBase::appendTextImpl at /Users/roxie/git/viewer/indra/llui/lltextbase.cpp:2287
#23 0x000000010024b4b3 in LLChatHistory::appendMessage at /Users/roxie/git/viewer/indra/newview/llchathistory.cpp:1526
#24 0x00000001004dd99d in LLFloaterIMSessionTab::appendMessage at /Users/roxie/git/viewer/indra/newview/llfloaterimsessiontab.cpp:593
#25 0x00000001004bf388 in LLFloaterIMNearbyChat::addMessage at /Users/roxie/git/viewer/indra/newview/llfloaterimnearbychat.cpp:639
#26 0x00000001004bee07 in LLFloaterIMNearbyChat::loadHistory at /Users/roxie/git/viewer/indra/newview/llfloaterimnearbychat.cpp:256
#27 0x00000001004bdf3b in LLFloaterIMNearbyChat::postBuild at /Users/roxie/git/viewer/indra/newview/llfloaterimnearbychat.cpp:145
#28 0x000000010151f4bc in LLFloater::initFloaterXML at /Users/roxie/git/viewer/indra/llui/llfloater.cpp:3480
#29 0x000000010151ff01 in LLFloater::buildFromFile at /Users/roxie/git/viewer/indra/llui/llfloater.cpp:3557
#30 0x00000001015256ee in LLFloaterReg::getInstance at /Users/roxie/git/viewer/indra/llui/llfloaterreg.cpp:164
#31 0x0000000101527259 in LLFloaterReg::toggleInstanceOrBringToFront at /Users/roxie/git/viewer/indra/llui/llfloaterreg.cpp:480
#32 0x00000001004b6551 in LLFloaterIMContainer::setVisible at /Users/roxie/git/viewer/indra/newview/llfloaterimcontainer.cpp:757
#33 0x000000010151ad36 in LLFloater::setVisibleAndFrontmost ()
#34 0x00000001004b6ac4 in LLFloaterIMContainer::setVisibleAndFrontmost at /Users/roxie/git/viewer/indra/newview/llfloaterimcontainer.cpp:828
#35 0x00000001004b154d in LLFloaterIMContainer::showConversation at /Users/roxie/git/viewer/indra/newview/llfloaterimcontainer.cpp:1670
#36 0x00000001004d5540 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, LLUUID const&>, std::__1::__list_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>, void*>, boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>::dereference [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/function/function_template.hpp:771
#37 0x00000001004d5535 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, LLUUID const&>, std::__1::__list_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>, void*>, boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>::dereference [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/detail/variadic_slot_invoker.hpp:105
#38 0x00000001004d5525 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, LLUUID const&>, std::__1::__list_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>, void*>, boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>::dereference [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/detail/variadic_slot_invoker.hpp:90
#39 0x00000001004d5525 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, LLUUID const&>, std::__1::__list_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>, void*>, boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>::dereference [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/detail/variadic_slot_invoker.hpp:133
#40 0x00000001004d551d in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, LLUUID const&>, std::__1::__list_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>, void*>, boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional>, boost::signals2::slot<void (LLUUID const&), boost::function<void (LLUUID const&)>>, boost::signals2::mutex>>::dereference at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/detail/slot_call_iterator.hpp:110
#41 0x00000001004d5321 in boost::signals2::detail::signal_impl<void (LLUUID const&), boost::signals2::optional_last_value, int, std::__1::less, boost::function<void (LLUUID const&)>, boost::function<void (boost::signals2::connection const&, LLUUID const&)>, boost::signals2::mutex>::operator() [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/iterator/iterator_facade.hpp:631
#42 0x00000001004d5319 in boost::signals2::detail::signal_impl<void (LLUUID const&), boost::signals2::optional_last_value, int, std::__1::less, boost::function<void (LLUUID const&)>, boost::function<void (boost::signals2::connection const&, LLUUID const&)>, boost::signals2::mutex>::operator() [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/iterator/iterator_facade.hpp:737
#43 0x00000001004d5319 in boost::signals2::detail::signal_impl<void (LLUUID const&), boost::signals2::optional_last_value, int, std::__1::less, boost::function<void (LLUUID const&)>, boost::function<void (boost::signals2::connection const&, LLUUID const&)>, boost::signals2::mutex>::operator() [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/optional_last_value.hpp:57
#44 0x00000001004d52f7 in boost::signals2::detail::signal_impl<void (LLUUID const&), boost::signals2::optional_last_value, int, std::__1::less, boost::function<void (LLUUID const&)>, boost::function<void (boost::signals2::connection const&, LLUUID const&)>, boost::signals2::mutex>::operator() [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/detail/result_type_wrapper.hpp:64
#45 0x00000001004d52d4 in boost::signals2::detail::signal_impl<void (LLUUID const&), boost::signals2::optional_last_value, int, std::__1::less, boost::function<void (LLUUID const&)>, boost::function<void (boost::signals2::connection const&, LLUUID const&)>, boost::signals2::mutex>::operator() at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/detail/signal_template.hpp:242
#46 0x00000001010b308c in LLVoiceChannelGroup::activate [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/signals2/detail/signal_template.hpp:722
#47 0x00000001010b3080 in LLVoiceChannelGroup::activate [inlined] at /Users/roxie/git/viewer/indra/newview/llvoicechannel.cpp:268
#48 0x00000001010b3030 in LLVoiceChannelGroup::activate at /Users/roxie/git/viewer/indra/newview/llvoicechannel.cpp:421
#49 0x00000001007156eb in LLIMMgr::startCall at /Users/roxie/git/viewer/indra/newview/llimview.cpp:3868
#50 0x0000000100714c1a in chatterBoxInvitationCoro at /Users/roxie/git/viewer/indra/newview/llimview.cpp:570
#51 0x0000000100739706 in boost::_bi::bind_t<void, void ()(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, LLUUID, LLIMMgr::EInvitationType, LLSD const&), boost::_bi::list4<boost::_bi::value<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>, boost::_bi::value, boost::_bi::valueLLIMMgr::EInvitationType, boost::_bi::value>>::operator() [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/bind/bind.hpp:443
#52 0x00000001007396cb in boost::_bi::bind_t<void, void ()(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, LLUUID, LLIMMgr::EInvitationType, LLSD const&), boost::_bi::list4<boost::_bi::value<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>, boost::_bi::value, boost::_bi::valueLLIMMgr::EInvitationType, boost::_bi::value>>::operator() at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/bind/bind.hpp:1274
#53 0x0000000101815b2a in LLCoros::toplevel [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/function/function_template.hpp:771
#54 0x0000000101815b14 in LLCoros::toplevel [inlined] at /Users/roxie/git/viewer/indra/llcommon/llcoros.cpp:348
#55 0x0000000101815b14 in LLCoros::toplevel at /Users/roxie/git/viewer/indra/llcommon/llcoros.cpp:368
#56 0x0000000101817da2 in boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$0>::run [inlined] at /Users/roxie/git/viewer/indra/llcommon/llcoros.cpp:288
#57 0x0000000101817d2a in boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$0>::run [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__type_traits/invoke.h:344
#58 0x0000000101817d2a in boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$0>::run [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/tuple:1424
#59 0x0000000101817d2a in boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$0>::run [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/tuple:1428
#60 0x0000000101817d2a in boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$0>::run at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/fiber/context.hpp:450
#61 0x0000000101817ecd in boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_protected_fixedsize_stackboost::context::stack_traits, std::__1::__bind<boost::context::fiber (boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>::)(boost::context::fiber&&), boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>, std::__1::placeholders::__ph<1> const&>>> [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__type_traits/invoke.h:312
#62 0x0000000101817eab in boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_protected_fixedsize_stackboost::context::stack_traits, std::__1::__bind<boost::context::fiber (boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>::)(boost::context::fiber&&), boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>, std::__1::placeholders::__ph<1> const&>>> [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__functional/bind.h:195
#63 0x0000000101817eab in boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_protected_fixedsize_stackboost::context::stack_traits, std::__1::__bind<boost::context::fiber (boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>::)(boost::context::fiber&&), boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>, std::__1::placeholders::__ph<1> const&>>> [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__functional/bind.h:222
#64 0x0000000101817eab in boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_protected_fixedsize_stackboost::context::stack_traits, std::__1::__bind<boost::context::fiber (boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>::)(boost::context::fiber&&), boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>, std::__1::placeholders::__ph<1> const&>>> [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__type_traits/invoke.h:344
#65 0x0000000101817eab in boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_protected_fixedsize_stackboost::context::stack_traits, std::__1::__bind<boost::context::fiber (boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>::)(boost::context::fiber&&), boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>, std::__1::placeholders::__ph<1> const&>>> [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__functional/invoke.h:28
#66 0x0000000101817eab in boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_protected_fixedsize_stackboost::context::stack_traits, std::__1::__bind<boost::context::fiber (boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>::)(boost::context::fiber&&), boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>, std::__1::placeholders::__ph<1> const&>>> [inlined] at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/context/fiber_fcontext.hpp:157
#67 0x0000000101817ea7 in boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_protected_fixedsize_stackboost::context::stack_traits, std::__1::__bind<boost::context::fiber (boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>::)(boost::context::fiber&&), boost::fibers::worker_context<LLCoros::launch(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, boost::function<void ()> const&)::$_0>, std::__1::placeholders::__ph<1> const&>>> at /Users/roxie/git/viewer/build-darwin-x86_64/packages/include/boost/context/fiber_fcontext.hpp:97
#68 0x0000000101f5c82f in trampoline at /Users/runner/work/3p-boost/3p-boost/boost/libs/context/src/asm/make_x86_64_sysv_macho_gas.S:69
Reproduction steps
- Log in to a webrtc region with a windows machine on user A
- Log in to a webrtc region with a mac machine on user B.
- Make sure both users are part of the same group.
- From user A, find the group in the group list and use the context menu to select "Voice call"
- User B should see an invite to join the voice call. Select the option to join.
- Observe: the assert appears.