summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2023-09-15SL-17135 Apr process creation crashAndrey Kleshchev
looks like pool regularly gets corrupted, try using separate pool
2023-09-08SL-18837: Make llsdserialize_test debug output conditional.Nat Goodspeed
Move hexdump() and hexmix() stream formatters to new hexdump.h for potential use by other tests. In toPythonUsing() helper function, add a temp file to receive Python script debug output, and direct debug output to that file. On test failure, dump the contents of that file to the log. Give NamedTempFile::peep() an optional target std::ostream; refactor implementation as peep_via() that accepts a callable to process each text line. Add operator<<() to stream the contents of a NamedTempFile object to ostream -- but don't use that with LL_DEBUGS(), as it flattens the file contents into a single log line. Instead add peep_log(), which streams each individual text line to LL_DEBUGS().
2023-09-08SL-18837: Add debugging output to llsdserialize_test.cpp.Nat Goodspeed
2023-09-07SL-18837: Fix minor merge glitch.Nat Goodspeed
2023-09-07SL-18837: Merge branch 'main' into actionsNat Goodspeed
2023-08-31SL-18837: Enlarge default coroutine stack size.Nat Goodspeed
A test executable on a GitHub Windows runner failed with C00000FD, which reports stack overflow. (cherry picked from commit aab7b4ba3812e5876b1205285bcfd8cff96bcac9)
2023-09-01MacOS build fixAndrey Kleshchev
2023-08-29SL-18837: On Windows, LLLeap partial final line test failed.Nat Goodspeed
Add DEBUG log output to try to diagnose.
2023-08-24SL-18620 Statistics->Advanced->Memory Usage no longer updatingAlexander Gavriliuk
2023-08-24Merge remote-tracking branch 'origin/main' into DRTVWR-489Andrey Kleshchev
# Conflicts: # indra/llcommon/llsdserialize.cpp # indra/llcommon/llsdserialize.h # indra/llmath/llvolume.cpp # indra/llrender/llgl.cpp # indra/llxml/llcontrol.cpp # indra/newview/llpanelnearbymedia.cpp # indra/newview/llsceneview.cpp # indra/newview/llselectmgr.cpp # indra/newview/llstartup.cpp # indra/newview/lltextureview.cpp # indra/newview/llvovolume.cpp # indra/newview/skins/default/xui/en/menu_viewer.xml
2023-08-23Merge branch main (DRTVWR-582) into DRTVWR-567Andrey Kleshchev
# Conflicts: # indra/newview/app_settings/settings.xml # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorymodel.cpp # indra/newview/llinventoryobserver.cpp # indra/newview/llinventoryobserver.h # indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml
2023-08-23Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2023-08-23Merge branch 'main' into DRTVWR-587-maint-VAndrey Lihatskiy
# Conflicts: # autobuild.xml
2023-08-23Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-08-23SL-19299 Code formatting in modified filesAlexander Gavriliuk
2023-08-23SL-19299 Viewer crashes after change 'Pick a physics model:' dropdownAlexander Gavriliuk
2023-08-18SL-20140 Optimization LLDictionary::addEntry() - avoid of double searchAlexander Gavriliuk
2023-08-16DRTVWR-588: Merge branch 'fix-monterey' into DRTVWR-588-montereyNat Goodspeed
2023-08-12SL-18721 Viewer shutdown order changesAndrey Kleshchev
Same thing as commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99 which was removed due to shutdown freezes. Error thread is no longer there so doesn't cause any race sonditions, was not able to repro any issues so will ask QA to test shutdown
2023-08-12SL-19744 Small cleanupAndrey Kleshchev
2023-08-01SL-18623 LLAvatarRenderInfoAccountant coroutine crashAndrey Kleshchev
For unknown reason allocations of these coroutines often crash on client machines. 1. Limit quantity of coros running in parallel by reducing retries and wait time 2. Print out more diagnostic info
2023-07-28DRTVWR-587: Use [[noreturn]] attribute on callFail() methodsNat Goodspeed
that unconditionally return. This eliminates the problem of pacifying a compiler that expects a return statement vs. a compiler that detects that callFail() unconditionally throws. Thanks, Ansariel.
2023-07-27DRTVWR-587: Skip some tests that only fail with older Visual StudioNat Goodspeed
2023-07-27DRTVWR-587: Make LLSDParam<LLSD> simplify type when delegating.Nat Goodspeed
LLSDParam<LLSD> is the generic case, when we need to pass LLSDParam adapters to some set of function parameters whose types we don't specifically know. Its templated conversion operator notices the actual parameter type T and delegates conversion to the specific LLSDParam<T> specialization. But when T has picked up references, e.g. somewhere along the way in the LL::apply() machinery, the compiler might not choose the desired conversion because we don't have a sufficiently specific LLSDParam specialization. LLSDParam<LLSD> can address that by using std::decay_t<T> when delegating to the specific LLSDParam specialization. This removes references, const and volatile.
2023-07-27DRTVWR-587: Disable LazyEventAPI tests on TeamCity Macs.Nat Goodspeed
There's a limit to how much time it's worth trying to work around a compiler bug that's already been fixed in newer Xcode.
2023-07-27DRTVWR-587: Try harder to work around clang bug.Nat Goodspeed
2023-07-27DRTVWR-587: Try to work around clang bug.Nat Goodspeed
2023-07-27DRTVWR-587: Revert "Try again to address older clang difficulties."Nat Goodspeed
That wasn't the issue. This is a compiler bug: https://github.com/llvm/llvm-project/issues/41999 https://stackoverflow.com/q/57080425 https://bugs.llvm.org/show_bug.cgi?id=42654 This reverts commit c406fa7ae97441d1d6e0ea6727c42c8f978fabed.
2023-07-27DRTVWR-587: Try again to address older clang difficulties.Nat Goodspeed
2023-07-27DRTVWR-587: Tweak LazyEventAPIBase::add() to mollify clang.Nat Goodspeed
Both the previous version and this compile and run successfully with Xcode 14.3.1, but our older TeamCity compiler chokes -- so we must iterate remotely, sigh.
2023-07-26DRTVWR-587: Move constexpr arity into lambda that uses it.Nat Goodspeed
VC doesn't recognize that a constexpr name doesn't need to be bound into a lambda. However, since it's knowable at compile time, it can be deduced within the innermost lambda. (cherry picked from commit 37c3daff1a565eaafee691dfb57702b6b8f024d6)
2023-07-25DRTVWR-587: Pacify VS 2022 specifically.Nat Goodspeed
2023-07-21SL-18837: Merge branch 'main' of secondlife/viewer into actionsNat Goodspeed
2023-07-18Merge remote-tracking branch 'origin/xcode-14.3' into DRTVWR-559 (#292)Brad Linden
2023-07-18DRTVWR-489: trivial merge conflict fixCallum Prentice
2023-07-18Merge pull request #280 from secondlife/dispatch-maint-v2nat-goodspeed
Major improvements to LLLeap functionality
2023-07-18SL-18837: Ditch inactive llrand.cpp LL_USE_SYSTEM_RAND code.Nat Goodspeed
LL_USE_SYSTEM_RAND has been disabled since June 2008; that code only clutters the implementation we actually use.
2023-07-17SL-18837: Lowercasing pathname for string compare is Windows-only.Nat Goodspeed
2023-07-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-07-17Merge branch 'main' (DRTVWR-580) into DRTVWR-567Andrey Kleshchev
# Conflicts: # indra/llui/llfolderviewitem.cpp # indra/newview/llinventorymodel.cpp # indra/newview/llinventorymodelbackgroundfetch.cpp
2023-07-17SL-18837: Clean up some redundancy in llrand.cpp.Nat Goodspeed
2023-07-17Merge branch 'main' into DRTVWR-582-maint-UAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/llcommon/llerrorthread.cpp
2023-07-17SL-18837: Merge branch 'actions' into actions-build-shNat Goodspeed
2023-07-13DRTVWR-558: Constrain LL::apply()'s use of std::apply().Nat Goodspeed
Once std::apply() becomes available, 'using std::apply;' isn't correct because the more general template tries to handle the apply(function, vector) case that we explicitly implement below. Have to provide apply(function, tuple) and apply(function, array) signatures that can forward to std::apply().
2023-07-13DRTVWR-558: Fix a few lleventdispatcher_test merge glitches.Nat Goodspeed
2023-07-13DRTVWR-558: Avoid extra copy of getMetadata() LLSD map.Nat Goodspeed
(cherry picked from commit 2c1253c8ed2a1648317e6edd768b3fda00c56ce2)
2023-07-13DRTVWR-558: Fix LLEventDispatcher::addMethod() for LazyEventAPI.Nat Goodspeed
addMethod() was using dynamic_cast<target class*>(this) and testing for nullptr to decide whether the class owning the passed method is, or is not, a subclass of LLEventDispatcher. The trouble is that it doesn't work for the deferred add() calls queued by LazyEventAPI: the dynamic_cast was always returning nullptr. static_cast works better, but that leaves us with the problem we were trying to solve with dynamic_cast: what if the target class really isn't a subclass? Use std::is_base_of to pick which of two addMethod() overloads to invoke, one of which calls addFail(). (cherry picked from commit a4d520aa5d023d80cfeec4f40c3464b54cbcfc5b)
2023-07-13DRTVWR-558: Fix const-ness glitch in LL::apply(func, tuple)Nat Goodspeed
std::get<I>(const tuple) injects const into the type of each returned tuple element. Need to get a non-const ref to the tuple param to get the true type. (cherry picked from commit 6dda39065d3ee231998cb8a2896f94e8a45c9a82)
2023-07-13DRTVWR-558: Fix merge glitch: missing LLEventDispatcher::addFail()Nat Goodspeed
(cherry picked from commit 3be250da90dd3d361df713056b881e017684e2b3)
2023-07-13DRTVWR-558: Nail down LLDispatchListener exception handlingNat Goodspeed
for exceptions other than those thrown by base-class LLEventDispatcher. Explain in LLDispatchListener Doxygen comments that for a request lacking a "reply" key, any exception is allowed to propagate because it's likely to reach the post() call that triggered the exception in the first place. For batch LLDispatchListener operations, catch not only LLEventDispatcher:: DispatchError exceptions but any std::exception, so we can collect them to report to the invoker. "Gotta catch 'em all!" Make LLLeap catch any std::exception thrown by processing a request from the plugin child process, log it and send a reply to the plugin. No plugin should be allowed to crash the viewer. (cherry picked from commit 94e10fd039b79f71ed8d7e10807b6e4eebd1928c)