Age | Commit message (Collapse) | Author |
|
|
|
|
|
to integer overflow: const LLExtStat LL_EXSTAT_RES_RESULT = 2L<<30; const LLExtStat LL_EXSTAT_VFS_RESULT = 3L<<30; This shifts into the sign bit and clang gets (rightfully) upset about this.
LLExtStatus needs to be at least of type U32 to remedy this problem, but
while at it it makes sense to turn it into what it is: An enum. Turning
it into a class enum has the added benefit we get type safety for mostly
free.
Which incidentally turned up a problem right away:
A call to removeAndCallbackPendingDownloads had status and extstatus
reversed and thus was wrong.
|
|
This is not correct, as clang is available on all 3 platforms. The correct way to check for this is via __clang__ (https://clang.llvm.org/docs/LanguageExtensions.html#builtin-macros)
|
|
|
|
# Conflicts:
# autobuild.xml
# indra/newview/llimprocessing.cpp
|
|
following promotion of DRTVWR-476
|
|
|
|
|
|
Ever since February 2010, the body of the login coroutine function has been
enclosed in try/catch (...), with an llerrs message to try to crash more
informatively than the runtime's unhandled-exception termination. Over the
years this evolved to LL_ERRS and then to CRASH_ON_UNHANDLED_EXCEPTION.
This persisted despite the August 2016 addition of generic catch clauses in
the LLCoros::toplevel() function to serve the same purpose, and despite the
subsequent introduction of the LLCoros::Stop family of exceptions to
deliberately throw into waiting coroutines on viewer shutdown.
That's exactly what was happening. When the user closed the viewer while
waiting for the response from login.cgi, the waiting operation threw
LLCoros::Stopping, which was caught by that CRASH_ON_UNHANDLED_EXCEPTION,
which crashed the viewer with LL_ERRS rather than propagating up to the
toplevel() and cleanly terminating the coroutine.
Change CRASH_ON_UNHANDLED_EXCEPTION() to LOG_UNHANDLED_EXCEPTION() and
re-throw so toplevel() can handle.
|
|
|
|
|
|
|
|
SL-13540: Do not fail if binary bucket is too large, attempt to extract the asset type from the old style bucket. Notification still not shown.
|
|
|
|
SL-13540: Do not fail if binary bucket is too large, attempt to extract the asset type from the old style bucket. Notification still not shown.
|
|
The llappviewerwin32.cpp create_console() function called by
LLAppViewerWin32::initConsole() used to assign *stderr = *(new FILE* value),
and so forth for stdout and stdin. That dubious tactic no longer works with
the new Windows CRT introduced with VS 2015. freopen_s() works much better.
|
|
(cherry picked from commit 0b61150e698537a7e42a4cdae02496da500399d9)
|
|
There are separate stanzas in llappviewerwin32.cpp's create_console() function
for each of STD_INPUT_HANDLE, STD_OUTPUT_HANDLE and STD_ERROR_HANDLE. SL-13361
wants to add more code to each. Factor out new local set_stream() function and
make create_console() call it three times.
(cherry picked from commit 13b78a0c5a788c617866e3530c65dae616e6520f)
|
|
|
|
|
|
|
|
online format.
|
|
|
|
names. Use offline flag rather than implicit tests of session_id and aux_id.
|
|
|
|
|
|
online format.
|
|
|
|
names. Use offline flag rather than implicit tests of session_id and aux_id.
|
|
|
|
Original commit in Nat's repo: https://bitbucket.org/lindenlab/viewer-vs2017-git/commits/f627140cf11232bab11fdfaf66c78544cf44f3e8
|
|
Specifically, llcoro::suspendUntilTimeout() is definitely called concurrently
by multiple coroutines. New code that instantiates a local LLEventStream must
allow the name to be tweaked for uniqueness.
|
|
to avoid TeamCity build failures due to 32-bit compiler running out of virtual
memory for precompiled headers.
|
|
Specifically, the shutdown crash reported in SL-13512 was due to
LLExperienceCache::idleCoro() looping on suspendUntilTimeout(), failing to
notice in its slumbers that the viewer was shutting down around it.
Make suspendUntilTimeout() internally call suspendUntilEventOnWithTimeout(),
which already listens for "LLApp" state-change events and throws Stopping when
LLApp enters its shutdown sequence.
|
|
following release of D512.
|
|
|
|
following promotion of DRTVWR-512
|
|
Changes were moved to DRTVWR-514
|
|
There are duplicate LLTrace::BlockTimerStatHandle key strings declared in
llsettingsdaycycle.cpp and llsettingswater.cpp -- the only instances of
duplicate BlockTimerStatHandle keys in the viewer code base. SL-13467 tracks
intentional crashes due to duplicate LLInstanceTracker subclass instances with
one of those keys. The simplest experiment to try to eliminate those crashes
is to ensure that every BlockTimerStatHandle in the code base is unique.
|
|
|
|
|
|
|
|
User's viewer freezes right after setStartupState( STATE_LOGIN_CLEANUP ) and these places are primary suspects
|
|
|
|
According to UX UI engineer. Also adapted it to new system, but it needs a better solution.
|
|
|
|
|
|
|
|
|