summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2023-10-31DRTVWR-588: Try to make threadsafequeue timing more robust.Nat Goodspeed
The test was coded to push (what's intended to be) the third entry with timestamp (now + 200ms), then (what's intended to be) the second entry with timestamp (now + 100ms). The trouble is that it was re-querying "now" each time. On a slow CI host, the clock might have advanced by more than 100ms between the first push and the second -- meaning that the second push would actually have a _later_ timestamp, and thus, even with the queue sorting properly, fail the test's order validation. Capture the timestamp once, then add both time deltas to the same time point to get the relative order right regardless of elapsed real time.
2023-10-25Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # autobuild.xml
2023-10-17SL-20476: Don't let the compiler know we intend to crash.Nat Goodspeed
clang has gotten smart enough to recognize an inline attempt to store to address zero. Fool it by storing to an address passed as a parameter, and pass nullptr from a different source file.
2023-10-12SL-18837: Unify all llrand_test.cpp in-range tests.Nat Goodspeed
The header file documents that no llrand function should ever return a value equal to the passed extent, so the one test in llrand_test.cpp that checked less than or equal to the high end of the range was anomalous. But changing that to an exclusive range means that we no longer need separate exclusive range and inclusive range functions. Replace ensure_in_range_using(), ensure_in_exc_range() and ensure_in_inc_range() with a grand unified (simplified) ensure_in_range() function.
2023-10-11SL-20370 Change PDT to SLT on menu barAlexander Gavriliuk
2023-10-10Revert "SL-18721 Viewer shutdown order changes"Andrey Kleshchev
This reverts commit edf0874e0656c6f512df50ee52236209531ca329. Reverted since it causes a significant uptick in shutdown freezes. Can't repro those freezes, will seek an alternate solution.
2023-10-05SL-18837: When llrand_test.cpp fails, display the failing value.Nat Goodspeed
It's frustrating and unactionable to have a failing test report merely that the random value was greater than the specified high end. Okay, so what was the value? If it's supposed to be less than the high end, did it happen to be equal? Or was it garbage? We can't reproduce the failure by rerunning! The new ensure_in_exc_range(), ensure_in_inc_range() mechanism is somewhat complex because exactly one test allows equality with the high end of the expected range, where the rest mandate that the function return less than the high end. If that's a bug in the test -- if every llrand function is supposed to return less than the high end -- then we could simplify the test logic.
2023-10-04SL-18837: Merge branch 'main' of secondlife/viewer into actionsNat Goodspeed
2023-10-03Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # indra/llui/lltooltip.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llvovolume.cpp # indra/newview/skins/default/textures/textures.xml
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-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-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-07-21SL-18837: Merge branch 'main' of secondlife/viewer into actionsNat Goodspeed
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 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-11SL-19728 Objects that cannot be clicked or cammed unless in edit modeAlexander Gavriliuk
2023-07-10SL-18837: Windows failures in setWorkingDirectory(): C: vs. c: (sigh)Nat Goodspeed
Normalize the case of the name of the temp directory for string comparison.
2023-07-10SL-18837: Disable APR_LOG for now, but leave notes for the future.Nat Goodspeed
2023-07-10SL-18837: Revert "Force llprocess_test and llleap_test to use just 'python'."Nat Goodspeed
Turns out that the pathname of the Python executable wasn't the issue. This reverts commit 7dc6211ad5ea83685a35c6fff740278343aa8b9d.
2023-07-08SL-18837: Force llprocess_test and llleap_test to use just 'python'.Nat Goodspeed
On GitHub Windows runners, trying to make build.yaml set PYTHON=python in the environment doesn't work: integration tests still fail with "Access is denied" because they're still trying to execute the interpreter's full pathname. Instead, make llprocess_test and llleap_test detect the case of GitHub Windows and override the environment variable PYTHON with a baked-in string constant "python".
2023-07-08SL-18837: Set APR_LOG once for the whole jobNat Goodspeed
instead of a new value for each LLProcess::create() invocation. Since the internal apr_log() function only looks at APR_LOG once per process, the first test (which succeeded, hence no log file dump) left the log file open with that same original pathname. Resetting the APR_LOG environment variable for subsequent runs only made the new code in llprocess_test look for files that were never created.
2023-07-08SL-18837: Don't use LLDir, use NamedTempFile::temp_path.Nat Goodspeed
Remove llcommon circular dependency on llfilesystem, which doesn't work for this case anyway.
2023-07-07SL-18837: Ditch unreferenced name of caught exceptionNat Goodspeed
2023-07-07SL-18837: Hook in LLDir to allow reading APR log file.Nat Goodspeed
2023-07-07SL-18837: Fix spurious semiNat Goodspeed
2023-07-07SL-18837: Fix "lldir.h" #includeNat Goodspeed
2023-07-07SL-18837: Coax APR to log LLProcess launch attempts; show log file.Nat Goodspeed
2023-07-07SL-18837: Partially revert e933ace, keeping useful tweaks.Nat Goodspeed
Introducing indirection via test_python_script.py did NOT address the "Access is denied" errors on GitHub Windows runners.
2023-07-07SL-18837: Try to bypass Windows perm problem with Python indirection.Nat Goodspeed
2023-07-07SL-19966 Reverted "SL-18721: Faster viewer shutdown time since performance ↵Andrey Lihatskiy
improvements can lead to perceived inventory loss due to cache corruption" This reverts commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99.
2023-06-17SL-19886 Fix onidle crash after closing inventory floaterAndrey Kleshchev
2023-06-06SL-18837: Ditch Boost.Phoenix implicit lambda syntax.Nat Goodspeed
It's cool to be able to write 'arg1 << "stuff" << var ...;' for a lambda accepting a std::ostream reference, but cascading compile errors mean it's no longer worth trying to make that work -- given actual C++ lambdas. Also clean up a lingering BOOST_FOREACH() and a boost::bind() while at it.