Commit Graph

3206 Commits (eb06fba7679704a7870e3d91f2166bf7e63e5641)

Author SHA1 Message Date
Ansariel 5351c445a8 Merge Firestorm LGPL 2016-11-29 19:26:31 +01:00
Ansariel 5a58635b64 Merge Firestorm LGPL 2016-11-16 16:11:56 +01:00
Ansariel 3fed6c743a Merge Firestorm LGPL 2016-11-11 16:04:29 +01:00
Ansariel 42c77ab5bc Merge Firestorm LGPL 2016-11-04 12:52:13 +01:00
andreykproductengine 7daef28f7c MAINT-6825 Fixing bad_alloc crash 2016-10-28 17:29:30 +03:00
Ansariel 79c0b8a9b5 Merge viewer-bear 2016-10-19 10:56:32 +02:00
Ansariel 951f829d26 Fix log output formatting 2016-11-26 03:35:27 +01:00
Ansariel 13e2832747 Merge Firestorm LGPL 2016-10-12 14:10:48 +02:00
Glenn Glazer 86be29fe80 merge maint-6633 to fork of viewer-bear 2016-10-11 14:42:58 -07:00
Glenn Glazer d68befaced maint-6633: remove commented out code 2016-10-11 13:28:30 -07:00
Ansariel f1011a1e19 Merge Firestorm LGPL 2016-10-11 21:08:24 +02:00
Glenn Glazer 19f576872a maint-6633: space, the final frontier 2016-10-11 11:41:25 -07:00
Glenn Glazer e6043fad2a maint-6633: space after colon 2016-10-11 09:21:33 -07:00
Glenn Glazer f447cf7223 maint-6633: yet more futzing with spaces 2016-10-11 08:16:25 -07:00
Glenn Glazer 0a55b1d022 maint-6633: more futzing with spaces 2016-10-10 19:27:12 -07:00
Glenn Glazer 22ac9a10d8 maint-6633: fix spacing after level: 2016-10-10 16:03:10 -07:00
Glenn Glazer cea2e4a7ad maint-6633: fix spacing 2016-10-10 15:14:46 -07:00
Glenn Glazer acfbcc7352 maint-6633: move INFO around 2016-10-10 14:15:29 -07:00
Glenn Glazer c39b7f2d88 maint-6633: fix tyop 2016-10-10 13:37:42 -07:00
AndreyL ProductEngine 4617e07b37 Merged in lindenlab/viewer-release 2016-10-10 23:26:58 +03:00
Glenn Glazer 972b0b2f1b maint-6633: fix unit test to conform with new desired ordering 2016-10-10 12:31:01 -07:00
Glenn Glazer 64ab1979db maint-6633: fix ordering of log entries 2016-10-10 10:50:22 -07:00
Ansariel 68a8141cd6 Merge bento-box 2016-10-04 12:49:38 +02:00
Brad Payne (Vir Linden) 8d6bb9ee4e SL-451 - SSE-optimized matrix multiply, used in initSkinningMatrixPalette() 2016-09-28 15:43:07 -04:00
Nicky d85f8fea7e Merge. 2016-09-27 00:29:01 +02:00
Nicky d7a0835432 Merge. 2016-09-26 21:12:34 +02:00
Rider Linden 884b03e877 Merge 2016-09-16 14:43:35 -07:00
Rider Linden 51236b7c9c Merge 2016-09-14 09:55:18 -07:00
Nat Goodspeed 2d3c5fb060 Automated merge with ssh://bitbucket.org/lindenlab/viewer-vlc 2016-09-06 20:52:57 -04:00
Nat Goodspeed 67c401047a MAINT-5011: Ensure BlockTimer::mStartTime is unconditionally set.
Previous logic could possibly leave mStartTime uninitialized, producing fatal
warnings with gcc 4.7.
2016-09-06 20:48:16 -04:00
Oz Linden 5edd4cecfc merge changes for exception handling 2016-09-06 11:07:39 -04:00
Oz Linden 72f4c72001 downgrade spammy LLCoros logging to DEBUG 2016-09-06 10:21:28 -04:00
Oz Linden a5adabb4f6 add protections against failed memory allocations in VBO and aligned memory 2016-09-06 10:04:19 -04:00
Nat Goodspeed 1804da89ee MAINT-5011: Abbreviate __FILE__ path in log_unhandled_exception_().
LLError::abbreviateFile() is specifically to avoid cluttering log output with
the prefix of an absolute file path on the original build system, pointless
for anyone trying to read the log.
2016-09-02 14:00:18 -04:00
Nat Goodspeed 1ed351e28f MAINT-5011: Use LL_VLOGS() rather than raw lllog() macro.
Raw lllog() doesn't work for varying log level, which is why LL_VLOGS()
exists.
2016-09-01 19:46:39 -04:00
Nat Goodspeed 96467f09f2 Automated merge with file:///Users/nat/linden/viewer-comment-lllog 2016-09-01 19:44:38 -04:00
Nat Goodspeed 9be4e7e448 MAINT-5232: Introduce LL_VLOGS() macro: log call with variable level.
In some places we want to log the same information but with different severity
depending on specifics. In other cases we need to test the availability of the
logging subsystem before engaging it. LL_VLOGS() accepts an LLError::ELevel
argument that can differ with each call, while retaining the desirable feature
of deciding only once for each level.
2016-09-01 19:32:31 -04:00
Nat Goodspeed 7203162071 Automated merge with file:///Users/nat/linden/viewer-comment-lllog 2016-09-01 15:22:34 -04:00
Nat Goodspeed 31d3d654f1 MAINT-5011: Advise against lllog() instead of (e.g.) LL_INFOS(). 2016-09-01 15:21:54 -04:00
Nat Goodspeed 8118762c12 MAINT-5011: Add log tag to LOG_UNHANDLED_EXCEPTION() log messages. 2016-08-31 17:16:43 -04:00
Nat Goodspeed 0c2442eb68 MAINT-5011: Fix abbreviateFile() test to run under .../indra/ path.
This particular test relied on there being exactly one instance of the string
"indra" in the source file's __FILE__ path -- which is usually true, but not
if the developer clones the viewer source repo under a parent directory whose
path itself contains "indra". Fix to handle any number of occurrences.
2016-08-29 18:48:47 +00:00
Nat Goodspeed c2c3086d6c MAINT-5011: Catch LLContinueError in LLStopWhenHandled::operator().
This means that an exception derived from LLContinueError thrown in an
LLEventPump listener won't prevent other listeners on the same LLEventPump
from receiving that event.
2016-08-26 15:50:37 -04:00
Nat Goodspeed abfe05c1b3 MAINT-5011: Add comments to LLCoros::toplevel() exception handlers. 2016-08-26 14:20:11 -04:00
Nat Goodspeed 17382b22e0 MAINT-5011: Remove unreferenced param name to avoid fatal warning 2016-08-25 14:04:36 -04:00
Nat Goodspeed 4d10172d8b MAINT-5011: Catch unhandled exceptions in LLCoros coroutines.
Wrap coroutine call in try/catch in top-level coroutine wrapper function
LLCoros::toplevel(). Distinguish exception classes derived from
LLContinueError (log and continue) from all others (crash with LL_ERRS).

Enhance CRASH_ON_UNHANDLED_EXCEPTIONS() and LOG_UNHANDLED_EXCEPTIONS() macros
to accept a context string to supplement the log message. This lets us replace
many places that called boost::current_exception_diagnostic_information() with
LOG_UNHANDLED_EXCEPTIONS() instead, since the explicit calls were mostly to
log supplemental information.

Provide supplemental information (coroutine name, function parameters) for
some of the previous LOG_UNHANDLED_EXCEPTIONS() calls. This information
duplicates LL_DEBUGS() information at the top of these functions, but in a
typical log file we wouldn't see the LL_DEBUGS() message.

Eliminate a few catch (std::exception e) clauses: the information we get from
boost::current_exception_diagnostic_information() in a catch (...) clause
makes it unnecessary to distinguish.

In a few cases, add a final 'throw;' to a catch (...) clause: having logged
the local context info, propagate the exception to be caught by higher-level
try/catch.

In a couple places, couldn't resist reconciling indentation within a
particular function: tabs where the rest of the function uses tabs, spaces
where the rest of the function uses spaces.

In LLLogin::Impl::loginCoro(), eliminate some confusing comments about an
array of rewritten URIs that date back to a long-deleted implementation.
2016-08-18 17:33:44 -04:00
Nat Goodspeed c7bf8af637 MAINT-5011: Use BOOST_CURRENT_FUNCTION instead of __PRETTY_FUNCTION__
since Visual Studio doesn't know __PRETTY_FUNCTION__, and Boost already has a
portable macro to Do The Right Thing.
2016-08-18 11:06:51 -04:00
Nat Goodspeed 993f54f6e9 MAINT-5011: Try to enrich catch (...) logging throughout viewer.
Turns out we have a surprising number of catch (...) clauses in the viewer
code base. If all we currently do is

    LL_ERRS() << "unknown exception" << LL_ENDL;

then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is

    LL_WARNS() << "unknown exception" << LL_ENDL;

then call LOG_UNHANDLED_EXCEPTION() instead.

Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches
LLContinueError yet, eliminate LLContinueError& parameter from
LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as
CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level.

Where a catch (...) clause actually provides contextual information, or makes
an error string, add boost::current_exception_diagnostic_information() to try
to figure out actual exception class and message.
2016-08-17 15:40:03 -04:00
Nat Goodspeed e72bdc9bc5 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-17 11:41:12 -04:00
Nat Goodspeed 5e9d2f57c8 MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION().
A level of preprocessor indirection lets us later change the implementation if
desired.
2016-08-17 11:36:24 -04:00
Nat Goodspeed 1ed76c382e MAINT-5011: Add llexception_test.cpp with tests (and conclusions).
llexception_test.cpp is an unusual test source in that it need not be verified
on every build, so its invocation in indra/llcommon/CMakeLists.txt is
commented out with that remark. Its purpose is to help a developer decide what
base class(es) to use for LLException, how to throw and how to catch.

Our current conclusions are written up as comments in llexception_test.cpp.

Added CRASH_ON_UNHANDLED_EXCEPTION() and LOG_UNHANDLED_EXCEPTION() macros to
llexception.h -- macros to log __FILE__, __LINE__ and __PRETTY_FUNCTION__ of
the catch site. These invoke functions in llexception.cpp so we don't need to
#include llerror.h for every possible catch site.
2016-08-17 10:45:06 -04:00