secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
200 stars 47 forks source link

BugSplat Crash: Second Life Release!LLAppViewer::initStrings()::$_84::operator()(int*) const(3014) #1080

Open sl-service-account opened 3 months ago

sl-service-account commented 3 months ago

BugSplat Key Crash 91971

Some Customer Responses: Log: 2024-03-28T10:47:09Z ERROR # newview/llappviewer.cpp(3012) initStrings : Viewer failed to find localization and UI files. Please reinstall viewer from https://secondlife.com/support/downloads and contact https://support.secondlife.com if issue persists after reinstall.

Sample Version: 7.1.5.8443777128

Sample Callstack:

Second Life Release!LLAppViewer::initStrings()::$_84::operator()(int*) constllappviewer.cpp(3014)
Second Life Release!LLAppViewer::initStrings()::$_84::__invoke(int*)
Second Life Release!LLAppViewer::initStrings()llappviewer.cpp(3014)
Second Life Release!LLAppViewer::initConfiguration()llappviewer.cpp(2564)
Second Life Release!LLAppViewer::init()llappviewer.cpp(752)
Second Life Release!initViewer()llappviewermacosx.cpp(90)
Second Life Release!LLAppDelegate applicationDidFinishLaunchingllappdelegate-objc.mm(85)
CoreFoundation!__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
CoreFoundation!___CFXRegistrationPost_block_invoke
CoreFoundation!_CFXRegistrationPost
CoreFoundation!_CFXNotificationPost
Foundation!NSNotificationCenter postNotificationName:object:userInfo
AppKit!NSApplication _postDidFinishNotification
AppKit!NSApplication _sendFinishLaunchingNotification
AppKit!NSApplication(NSAppleEventHandling) _handleAEOpenEvent
AppKit!NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent
Foundation!NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon
Foundation!_NSAppleEventManagerGenericHandler
AE!_AppleEventsCheckInAppWithBlock
AE!_AppleEventsCheckInAppWithBlock
AE!aeProcessAppleEvent
HIToolbox!AEProcessAppleEvent
AppKit!_DPSNextEvent
AppKit!NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue
AppKit!NSApplication run
AppKit!NSApplicationMain
???!0x0
valeriiaaproductengine commented 3 months ago

This issue appeared during the Part III (mandatory update to different channel) of the viewer updater.

AtlasLinden commented 3 months ago

Looks related to https://github.com/secondlife/jira-archive-internal/issues/67696

AtlasLinden commented 3 months ago

@valeriiaaproductengine this crash occurred but the updater test still passed in iqa#176. Just to confirm, did the viewer still update and start up successfully when performing Part III of the updater test? Was the crash easy for you to reproduce? And lastly, does this only occur on mac?

akleshchev commented 3 months ago

this crash occurred but the updater test still passed in iqa#176.

This "Viewer failed to find localization and UI files." crash is present on release viewer and is very old, callstack changed due to release of gltf-2 viewer. Likely related to either updater or installer bugs, would be nice to have a scenario.

AtlasLinden commented 3 months ago

Thanks @akleshchev Knowing this crash is already present on the default release means that this is not considered a blocker for Maint X

akleshchev commented 3 months ago

Knowing this crash is already present on the default release means that this is not considered a blocker for Maint X

This is an intaller/specific specifc crash (botched install?) and I don't see any commits like that in Maint-X, but still worth doublecheking since there might be an increase in frequency if something is wrong with installer.

AtlasLinden commented 3 months ago

I was unable to reproduce this. Crash also has not reproduced upon shipping. Will check again after more users have updated to the new build.

valeriiaaproductengine commented 3 months ago

Hello @AtlasLinden! Update Part III of the updater was successful. This issue was reproduced only on OSX. Discovered while checking routine crashes in bugsplat - the timing of this issue coincided with the time of Part III of the updater test.

AtlasLinden commented 2 months ago

Similar stacks occurring on multiple viewer mac builds. Yet to appear on any 7.1.6 builds https://app.bugsplat.com/v2/crashes?c0=stackKey&f0=CONTAINS&v0=Second%20Life%20Release!LLAppViewer::initStrings()::$_84::operator()(int&database=SecondLife_Viewer_2018&sc=appVersion&so=desc

Users affected: https://app.bugsplat.com/v2/summary?c0=stackKey&f0=CONTAINS&v0=Second%20Life%20Release!LLAppViewer::initStrings()::$_84::operator()(int&sc=lastReport&so=desc&database=SecondLife_Viewer_2018

akleshchev commented 1 month ago

Rercently reproed potential cause locally, I started shutting down viewer and started intaller at the same time, installer started unpacking files before viewer was down which can easily cause issues for installer.

LLGuru commented 4 days ago

We have to wait for new crash reports without the phrase "Please reinstall viewer" but with the actual crash reason specified instead of this phrase

Moving the issue to the Needs Info status

akleshchev commented 4 days ago

Can move to QA, simplest way to repro: install viewer, then remove strings.xml

LLGuru commented 2 days ago

The question is "Why user removes strings.xml?"

akleshchev commented 2 days ago

The question is "Why user removes strings.xml?"

User do not in most cases, but that's a good way to trigger new code for QA.

QA recently encountered a similar issue on Win, intaller failed to replace a file with a newer one, reinstall helped. So at least in some cases our installation process can be at fault (odly it sometimes happens on Mac too). We either need a more reliable installer or make current one more reliable (or at least check presence of critical files after installation).