summaryrefslogtreecommitdiff
path: root/indra/linux_crash_logger
AgeCommit message (Collapse)Author
2020-03-25SL-793: Use Boost.Fiber instead of the "dcoroutine" library.Nat Goodspeed
Longtime fans will remember that the "dcoroutine" library is a Google Summer of Code project by Giovanni P. Deretta. He originally called it "Boost.Coroutine," and we originally added it to our 3p-boost autobuild package as such. But when the official Boost.Coroutine library came along (with a very different API), and we still needed the API of the GSoC project, we renamed the unofficial one "dcoroutine" to allow coexistence. The "dcoroutine" library had an internal low-level API more or less analogous to Boost.Context. We later introduced an implementation of that internal API based on Boost.Context, a step towards eliminating the GSoC code in favor of official, supported Boost code. However, recent versions of Boost.Context no longer support the API on which we built the shim for "dcoroutine." We started down the path of reimplementing that shim using the current Boost.Context API -- then realized that it's time to bite the bullet and replace the "dcoroutine" API with the Boost.Fiber API, which we've been itching to do for literally years now. Naturally, most of the heavy lifting is in llcoros.{h,cpp} and lleventcoro.{h,cpp} -- which is good: the LLCoros layer abstracts away most of the differences between "dcoroutine" and Boost.Fiber. The one feature Boost.Fiber does not provide is the ability to forcibly terminate some other fiber. Accordingly, disable LLCoros::kill() and LLCoprocedureManager::shutdown(). The only known shutdown() call was in LLCoprocedurePool's destructor. We also took the opportunity to remove postAndSuspend2() and its associated machinery: FutureListener2, LLErrorEvent, errorException(), errorLog(), LLCoroEventPumps. All that dual-LLEventPump stuff was introduced at a time when the Responder pattern was king, and we assumed we'd want to listen on one LLEventPump with the success handler and on another with the error handler. We have never actually used that in practice. Remove associated tests, of course. There is one other semantic difference that necessitates patching a number of tests: with "dcoroutine," fulfilling a future IMMEDIATELY resumes the waiting coroutine. With Boost.Fiber, fulfilling a future merely marks the fiber as ready to resume next time the scheduler gets around to it. To observe the test side effects, we've inserted a number of llcoro::suspend() calls -- also in the main loop. For a long time we retained a single unit test exercising the raw "dcoroutine" API. Remove that. Eliminate llcoro_get_id.{h,cpp}, which provided llcoro::get_id(), which was a hack to emulate fiber-local variables. Since Boost.Fiber has an actual API for that, remove the hack. In fact, use (new alias) LLCoros::local_ptr for LLSingleton's dependency tracking in place of llcoro::get_id(). In CMake land, replace BOOST_COROUTINE_LIBRARY with BOOST_FIBER_LIBRARY. We don't actually use the Boost.Coroutine for anything (though there exist plausible use cases).
2018-09-07remove only-partially-successful attempt to put teamcity blocks around targetsOz Linden
2018-09-05add more block structure to TeamCity log output for componentsOz Linden
2016-06-30DRTVWR-418: Unify control flow through LLAppViewer across platforms.Nat Goodspeed
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This makes sense -- but on Mac that structure was being subverted. The method called mainLoop() was in fact being called once per frame. There was initialization code in the method, which (on Mac) needed to be skipped with an already-initialized bool. There was a 'while' loop which (on Mac) needed to be turned into an 'if' instead so the method would return after every frame. Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer and LLCrashLogger. Document the fact that frame() returns true to mean "done." (This was always the case, but had to be inferred from the code.) Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free function it calls from runMainLoop() to pumpMainLoop(). Add comments to llappdelegate-objc.mm explaining (inferred) control flow. Change the Linux viewer main() and the Windows viewer WINMAIN() from a single LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true. Move initialization code from the top of LLAppViewer::frame() to the init() method, where it more properly belongs. Remove corresponding mMainLoopInitialized flag (and all references) from LLAppViewer. Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())') from LLAppViewer::frame() -- thus unindenting the whole body of the 'while' and causing many lines of apparent change. (Apologies to reviewers.) There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING, APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know under what circumstances the state might transition to STOPPED during a frame() call, but I'm quite sure that if it does, we don't want to call frame() again. We only want a subsequent call if the state is RUNNING. Also rename mainLoop() method in LLCrashLogger subclasses LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's completely up to the frame() method whether to yield control; none of those in fact do. Honor protocol by returning true (frame() is done), even though each one's main() caller ignores the return value. In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol correctly anyway, returning wParam or 0 or 1 -- possibly because the return protocol was never explicitly documented. It should always return true: "I'm done, don't call me again."
2016-04-04merge with 4.0.3-releaseOz Linden
2016-03-07merge DRTVWR-398 build cleanup fixesOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-08-19Swap BOOST_COROUTINE and BOOST_CONTEXTRider Linden
2015-06-17Coding policy fixesRider Linden
2015-04-30Move librt.Rider Linden
2015-04-30Fix to linux linkRider Linden
Put timeout back into crashlogger post.
2015-04-30Change link orderRider Linden
2015-04-30Add LIBRT to libraries in linux crash logger.Rider Linden
2015-04-30Missed the linux crash logger.Rider Linden
2014-11-20STORM-2086 Convert old style llinfos and llwarns to new formatJonathan Yap
2014-04-07merge with releaseRichard Linden
2013-12-03Creating a cleaner branchAura Linden
2013-08-14BUILDFIX: converted platform-specific files over to new LL_INFOS, etc macrosRichard Linden
2013-05-10Merge with vwr-dev-matGraham Madarasz
2013-05-08merge changes for 3.5.1-releaseOz Linden
2013-04-30Merge 3.5.1 into MaterialsGraham Madarasz
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-28Google Breakpad FixGraham Madarasz (Graham Linden)
2013-03-27Fix breakpad breakage from linux API diffsGraham Madarasz
2012-10-11Updating linux build to gcc4.6Don Kjer
2011-11-15mergeDave Parks
2011-10-27SH-2606 FIX, SH-2628 FIX - crash on exit in crash logger fixed by ↵Brad Payne (Vir Linden)
LLProxy::cleanupClass()
2011-10-11merge changes for open-38Oz Linden
2011-07-12STORM-1482 The Viewer shouldn't overwrite the crash behavior settings, some ↵Aaron Stone
cleanups to the crash reporters, and the ability to use --set GroupName.SettingName to set parameters outside of the (default) Global settings group.
2011-04-03OPEN-38: Fixes for viewer-autobuild for standaloneBoroondas Gupte (patch by Aleric Inglewood)
Reviewed at https://codereview.secondlife.com/r/167/ (The patch to create this commit was taken from there, too. That patch was made relative to 5f0ab9443ece. Applied cleanly to the (earlier) 43b4b7927c00.) Also fixes OPEN-36
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-05-27Don't try to add old stack trace files to the crash report.Lynx Linden
Such as stack_trace.log on Linux or SecondLifeException.log on Win32.
2010-02-17EXT-5500 reduce linux package sizeTofu Linden
remove the now-redundant and somewhat odd (mea culpa) stripping process from the CMake stage
2009-10-14Merge a big bunch of fixes from maint-viewer. Hooray.Adam Moss
svn merge -r136066:136073 svn+ssh://svn.lindenlab.com/svn/linden/branches/maint-viewer/maint-viewer-24-qa-9 DEV-8553 New Server Tools - Prep Land For Sale DEV-32942 (QAR-1521) Bad border crossings or TP / Ruthing issues DEV-32942 (QAR-1521) Bad border crossings or TP / Ruthing issues DEV-33239 VWR-13816: Resizing the Search Window Causes the Results to Refresh back to First Page DEV-27746 Running a dev build of Second Life will make console window show up on non-dev builds (Windows) DEV-33209 Linux 1.24.0.120778 client fails to run DEV-29123 SVC-3871: Crash of viewer when clicking on ghost objects at (0,0,0) on a sim DEV-35433 Attempting to upload wrong file type crashes viewer DEV-33499 viewer2009 is not using KDU DEV-33912 Griefing viewer crashes others' viewers with malformed sound files DEV-3784 VWR-138: Animation Priority not working correctly, Can't create new AOs DEV-20678 VWR-9069: Region variable says 'Region Name' in AR if no object is selected DEV-19934 Help->About Second Life doesn't differentiate between 32- and 64-bit Vista DEV-6604 Restored folders have 'Purge Item' and 'Restore Item' options DEV-12867 VWR-5717: Selected Text is not replaced by Input text when Japanese IME is on DEV-11894 Notecards/Texture windows don't open completely when opened from inventory DEV-10641 VWR-4955: Local Chat doesn't show end of last conversation DEV-30039 VWR-12620: Viewer build fails on Linux when compiled with -O2 (--type=Release) DEV-20944 VWR-9065: (intermittent) Right Click >profile on avatar does not display profile DEV-24828 Menu accelerator prefixes shouldn't be hard-coded DEV-34529 VWR-14267: Clicking send in an IM window does not add the sent text to the line editor history DEV-34124 Invite to group, search by name will not show resident if their first name is two characters DEV-20930 VWR-9248: On Mac: the "--url" option causes a command line parsing error DEV-35306 Adult keyword filter triggers multiple warnings DEV-35503 VWR-3595: "Second Life requires True Color (32-bit) to run in a window" message is incorrect DEV-35656 VWR-12995: FTBFS: error: format '%-3d' expects type 'int', but argument 3 has type 'size_t' DEV-30043 VWR-12533: Linux viewer build for OpenAL fails during packaging unless FMOD library is available DEV-31898 VWR-13202: Right clicking mouse triggers arrow key control events DEV-32610 Keyboard shortcuts on OSX viewer overridden by OSX DEV-27067 Coverity Prevent: EVALUATION_ORDER defects DEV-26188 VWR-2242: Specially formatted .BVH file can cause avatar distortion DEV-25475 About Land dialog no longer shows Area: field DEV-19897 OSX Viewer Installer (for an RC) opens with poor positioning DEV-22837 Inventory> Search Recent Items highlighting incorrect characters DEV-21709 VWR-9377: Mapping will default to leave exact sim name listing first. (Searching Gar forces Gar to come up and not Garden of Dreams) DEV-23079 implement volume serial for linux client DEV-13930 VWR-6432: Space Navigator operation with vehicles is broken DEV-27666 VWR-10829: Linux Viewer: CLICK_ACTION_PAY shows CLICK_ACTION_PLAY icon DEV-23670 Viewer crashes on startup if installed into a custom folder with Korean, Japanese or Chinese characters in path DEV-19313 VWR-8454: PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS not highlighted in script editor DEV-19918 VWR-8885: Move character/*.xml files to source bundle DEV-25555 VWR-11172: A source coding mistake prevents number-pad keys from specifying Ctrl+digit shortcuts on Windows DEV-8536 VWR-4057: Multi-line chat display bug - first character in line missing DEV-29592 Mac LLFastTimer uses wall clock instead of Intel PMU DEV-29644 VWR-12587: Cmake install target has a hard coded secondlife-bin reference remaining DEV-25320 VWR-11128: Python not always detected by develop.py DEV-30040 VWR-12617: Poor type name that violates Coding Standard breaks compatibility with system header files DEV-30380 indra/newview/res-sdl/toolpay.BMP is modified during ./develop.py configure DEV-31247 VWR-12763: non-portable printf specifier used with size_t causes FTBFS on 64bit (due to -Werror) DEV-29565 VWR-12569: A comment in lluistring.h contains undefined UTF-8 code sequences DEV-22100 VWR-9620: send_parcel_select_objects in newview/llfloaterland.cpp uses the wrong datatype for the ReturnType field causing a warning DEV-31911 Selected objects / primitives should be greyed out when nothing is selected DEV-3667 Windows: Accelerator keys should be "Ctrl+X" rather than "Ctrl-X" DEV-27223 disable gstreamer on 64-bit linux DEV-8172 We Need a Linden Sale Option to Sell Land to Anyone DEV-25511 VWR-10311: Enable LipSync by default DEV-20443 Revamp group creation confirmation dialog to be more communicative DEV-20132 VWR-7800: Joystick / SpaceNavigator. Camera should remain in position when exiting flycam mode into avatar mode. DEV-18420 VWR-8393: Have build scripts copy fmod from an external location DEV-24841 VWR-10717: Right Space Navigator button should toggle fly in avatar movment, not jump/flyup. DEV-28457 change auto-populate value in buy L$ window from 1000 to 2000 DEV-15545 VWR-3725: Please add resize option to the SEARCH window UI
2009-03-09svn merge -r113780:113785Adam Moss
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/gst3-t113732 QAR-1333 linux gstreamer compatibility improvements and ADD_BUILD_TEST improvements - combo merge
2009-02-03svn merge -r107016:108767 ↵Mark Palange
svn+ssh://svn.lindenlab.com/svn/linden/viewer/viewer_1-22 Merge back of viewer 1.22 RC6 and RC7 change to trunk. QAR-1214 and QAR-1227
2009-01-08Result of svn merge -r107256:107258 ↵Aaron Brashears
svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165
2008-12-23QAR-1142 merging 1.22 RC0-RC4 changes.Mark Palange
svn merge -c 106471 svn+ssh://svn.lindenlab.com/svn/linden/qa/viewer_1-22-106055_merge
2008-08-29Switch llimage and llxml to target_link_librariesBryan O'Sullivan
2008-08-12QAR-767 Combined maint-render-7 and maint-viewer-9 mergeSteven Bennetts
merge release@93398 viewer-merge-1@94007 -> release dataserver-is-deprecated
2008-06-26QAR-628 merge string-cleanup-5 -r 90476:90508 -> releaseSteven Bennetts
dataserver-is-deprecated
2008-06-02svn merge -r88066:88786 ↵Bryan O'Sullivan
svn+ssh://svn.lindenlab.com/svn/linden/branches/cmake-9-merge dataserver-is-deprecated for-fucks-sake-whats-with-these-commit-markers
2008-02-19merge -r 78989:80279 Branch_1-19-0-Viewer-> releaseSteven Bennetts
Changes from 1.19.0.2 and 1.19.0.3 DEV-9226 Some Dazzle? icons have sneaked into the release branch DEV-9226 - lock icon not appearing in properties window for no-modify inventory items DEV-8771 Preferences > Web has truncated text in the Address: section, ported and tested minor xml change DEV-9736 commit 1.19.0 second set of translated xui strings DEV-9825 Make the region info message a passive notification DEV-7714 - Korean viewer crashes on startup. DEV-9759 - Stand up button etc dissapear offscreen after using mouselook DEV-9938 client-readme-voice.txt missing from open source distribution DEV-9436 Changed default SL window size to 1000x700, to allow buttons in UI to have proper labels (Communicate) and search to fit onscreen. DEV-10031 Clicking on another users classifieds ad then closing asks you to save changes DEV-10066 Checking to select a role does not enable the apply button DEV-8809 stray 'Done" on the Profile Web tab DEV-8515 Debug settings overrides do not work for booleans. svn merge -r77376:77377 sl-parcelmedia-3. OK by cg. DEV-10083: Preferences window docks at an offscreen position and cannot be moved vertically DEV-10186 - LLIMPanel kills the framerate for group ims. DEV-10108 Viewer freeze and delay in opening map DEV-10115 Visible flashing of prim highlight when editing DEV-10112 Parcel audio play setting is not remembered when crossing over a parcel with no media DEV-10109 Alt and left/right arrow keys dont move you between tabs DEV-10093 Login Page > SL Release link overlaps Quit when viewer resized DEV-10048 Redocking the Contact list causes the communicate ui to get ugly DEV-8131 Deutsch "System Default" is translated as "System Error" in language preferences DEV-10209 - reverted floater_test.xml to empty floater. DEV-10255 - Clicking on gestures button moves open windows DEV-10046 Pressing escape doesnt cause the chat history or inventory windows to lose focus DEV-10399 -- Update required version of QuickTime library to 7.4.1 for 1.19.0 Viewer DEV-10410 - Toggling voice causes layout problems in toolbar DEV-8562 - Viewer crash just after login DEV-10147 - "LLXmlTree parse failed" with settings_releasecandidate.xml DEV-9874 - Land forsale icon in menubar overlaps pushobject restriction icon DEV-9701 - Upload Animation window: Button missing in Stopped window state DEV-10355 - Client crashes when viewing the proposals tab in group information DEV-10521 My Landmarks dropdown list adds a repetition to EOF every time it's opened DEV-10496 Groups>Proposals>Past Vote text gets chomped DEV-10499 Defaulted buttons in floater dialogs remain highlighted when not in focus DEV-5611 - Crash reporter appears in the background on mac (Changed launch to use open instead of direct binary call) DEV-10704 - Crash reporter not initializing boolean, causing false exec_froze reporting (Added initilizer to constructor)
2007-11-20svn merge -r74104:74124 ↵Kyle Machulis
svn+ssh://svn/svn/linden/branches/crash-logger-cleanup-merge-6
2007-10-04Result of svn merge -r71162:71205 ↵Aaron Brashears
svn+ssh://svn/svn/linden/branches/new-license into release. only changes files which are not deployed or the comments section of code.
2007-10-04Result of svn merge -r70873:71086 ↵Aaron Brashears
svn+ssh://svn/svn/linden/branches/enable-exceptions into release.
2007-07-26EFFECTIVE MERGE: svn merge -r 65485:66133 ↵Don Kjer
svn+ssh://svn/svn/linden/branches/maintenance into release This includes fixes to the maintenance-r66133 branch, and sync'ing up with release@r66392 ACTUAL MERGE: svn merge -r 66394:66435 svn+ssh://svn/svn/linden/branches/release-r66392 into release EQUIVALENT TO: svn merge -r 65485:66434 svn+ssh://svn/svn/linden/branches/maintenance-r66133 into release (plus branch sync'ing)
2007-07-20svn merge -r 64548:64837 svn+ssh://svn/svn/linden/branches/maintenance into ↵Don Kjer
release * WARNING *: maintenance r64837 is not the last rev to use in the next merge. use r65269
2007-01-24merge -r 56696:57082 Branch_1-13-2Steven Bennetts