maint-5974/maint-5422: viewer changes for new crash reporting, remove no send logic
parent
aca314de1f
commit
442c4842ab
|
|
@ -201,11 +201,9 @@ void LLCrashLogger::gatherFiles()
|
|||
LLSD endpoint;
|
||||
std::string grid;
|
||||
std::string fqdn;
|
||||
|
||||
|
||||
bool has_logs = readFromXML( static_sd, "static_debug_info.log" );
|
||||
has_logs |= readFromXML( dynamic_sd, "dynamic_debug_info.log" );
|
||||
bool has_endpoint = readFromXML( endpoint, "endpoint.xml" );
|
||||
|
||||
|
||||
if ( has_logs )
|
||||
|
|
@ -216,6 +214,7 @@ void LLCrashLogger::gatherFiles()
|
|||
|
||||
mFileMap["SecondLifeLog"] = mDebugLog["SLLog"].asString();
|
||||
mFileMap["SettingsXml"] = mDebugLog["SettingsFilename"].asString();
|
||||
mFileMap["CrashHostUrl"] = loadCrashURLSetting();
|
||||
if(mDebugLog.has("CAFilename"))
|
||||
{
|
||||
LLCurl::setCAFile(mDebugLog["CAFilename"].asString());
|
||||
|
|
@ -245,37 +244,10 @@ void LLCrashLogger::gatherFiles()
|
|||
gatherPlatformSpecificFiles();
|
||||
|
||||
|
||||
if ( has_endpoint && endpoint.has("ViewerCrashReceiver" ) )
|
||||
if ( has_logs && (mFileMap["CrashHostUrl"] != "") )
|
||||
{
|
||||
mCrashHost = endpoint["ViewerCrashReceiver"].asString();
|
||||
mCrashHost = mFileMap["CrashHostUrl"];
|
||||
}
|
||||
else if ( has_logs )
|
||||
{
|
||||
//Use the debug log to reconstruct the URL to send the crash report to
|
||||
if(mDebugLog.has("CurrentSimHost"))
|
||||
{
|
||||
mCrashHost = "http://viewercrashreport";
|
||||
fqdn = mDebugLog["CurrentSimHost"].asString();
|
||||
boost::regex sim_re( "sim[[:digit:]]+.[[:alpha:]]+.lindenlab.com" );
|
||||
boost::match_results<std::string::const_iterator> results;
|
||||
if ( regex_match( fqdn, sim_re ) )
|
||||
{
|
||||
boost::regex regex_delimited("\\.[[:alpha:]]+\\.");
|
||||
boost::match_flag_type flags = boost::match_default;
|
||||
std::string::const_iterator start = fqdn.begin();
|
||||
std::string::const_iterator end = fqdn.end();
|
||||
boost::regex_search(start, end, results, regex_delimited, flags);
|
||||
grid = std::string(results[0].first, results[0].second);
|
||||
mCrashHost += grid;
|
||||
mCrashHost += "lindenlab.com/cgi-bin/viewercrashreceiver.py";
|
||||
}
|
||||
else
|
||||
{
|
||||
mCrashHost = "";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//default to agni, per product
|
||||
mAltCrashHost = "http://viewercrashreport.agni.lindenlab.com/cgi-bin/viewercrashreceiver.py";
|
||||
|
|
@ -363,8 +335,9 @@ LLSD LLCrashLogger::constructPostData()
|
|||
|
||||
const char* const CRASH_SETTINGS_FILE = "settings_crash_behavior.xml";
|
||||
|
||||
S32 LLCrashLogger::loadCrashBehaviorSetting()
|
||||
std::string LLCrashLogger::loadCrashURLSetting()
|
||||
{
|
||||
|
||||
// First check user_settings (in the user's home dir)
|
||||
std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, CRASH_SETTINGS_FILE);
|
||||
if (! mCrashSettings.loadFromFile(filename))
|
||||
|
|
@ -374,38 +347,14 @@ S32 LLCrashLogger::loadCrashBehaviorSetting()
|
|||
mCrashSettings.loadFromFile(filename);
|
||||
}
|
||||
|
||||
// If we didn't load any files above, this will return the default
|
||||
S32 value = mCrashSettings.getS32("CrashSubmitBehavior");
|
||||
|
||||
// Whatever value we got, make sure it's valid
|
||||
switch (value)
|
||||
{
|
||||
case CRASH_BEHAVIOR_NEVER_SEND:
|
||||
return CRASH_BEHAVIOR_NEVER_SEND;
|
||||
case CRASH_BEHAVIOR_ALWAYS_SEND:
|
||||
return CRASH_BEHAVIOR_ALWAYS_SEND;
|
||||
}
|
||||
|
||||
return CRASH_BEHAVIOR_ASK;
|
||||
}
|
||||
|
||||
bool LLCrashLogger::saveCrashBehaviorSetting(S32 crash_behavior)
|
||||
{
|
||||
switch (crash_behavior)
|
||||
{
|
||||
case CRASH_BEHAVIOR_ASK:
|
||||
case CRASH_BEHAVIOR_NEVER_SEND:
|
||||
case CRASH_BEHAVIOR_ALWAYS_SEND:
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
mCrashSettings.setS32("CrashSubmitBehavior", crash_behavior);
|
||||
std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, CRASH_SETTINGS_FILE);
|
||||
mCrashSettings.saveToFile(filename, FALSE);
|
||||
|
||||
return true;
|
||||
if (! mCrashSettings.controlExists("CrashHostUrl"))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
return mCrashSettings.getString("CrashHostUrl");
|
||||
}
|
||||
}
|
||||
|
||||
bool LLCrashLogger::runCrashLogPost(std::string host, LLSD data, std::string msg, int retries, int timeout)
|
||||
|
|
@ -451,6 +400,7 @@ bool LLCrashLogger::sendCrashLog(std::string dump_dir)
|
|||
bool sent = false;
|
||||
|
||||
//*TODO: Translate
|
||||
updateApplication("DEBUG: crash host in send logs "+mCrashHost);
|
||||
if(mCrashHost != "")
|
||||
{
|
||||
std::string msg = "Using derived crash server... ";
|
||||
|
|
@ -462,8 +412,8 @@ bool LLCrashLogger::sendCrashLog(std::string dump_dir)
|
|||
|
||||
if(!sent)
|
||||
{
|
||||
updateApplication("Using alternate (default) server...");
|
||||
sent = runCrashLogPost(mAltCrashHost, post_data, std::string("Sending to alternate server"), 3, 5);
|
||||
updateApplication("Using default server...");
|
||||
sent = runCrashLogPost(mAltCrashHost, post_data, std::string("Sending to default server"), 3, 5);
|
||||
}
|
||||
|
||||
mSentCrashLogs = sent;
|
||||
|
|
@ -535,14 +485,7 @@ bool LLCrashLogger::init()
|
|||
|
||||
// LL_INFOS() << "Loading crash behavior setting" << LL_ENDL;
|
||||
// mCrashBehavior = loadCrashBehaviorSetting();
|
||||
|
||||
// If user doesn't want to send, bail out
|
||||
if (mCrashBehavior == CRASH_BEHAVIOR_NEVER_SEND)
|
||||
{
|
||||
LL_INFOS() << "Crash behavior is never_send, quitting" << LL_ENDL;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
gServicePump = new LLPumpIO(gAPRPoolp);
|
||||
gServicePump->prime(gAPRPoolp);
|
||||
LLHTTPClient::setPump(*gServicePump);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ class LLCrashLogger : public LLApp
|
|||
public:
|
||||
LLCrashLogger();
|
||||
virtual ~LLCrashLogger();
|
||||
S32 loadCrashBehaviorSetting();
|
||||
std::string loadCrashURLSetting();
|
||||
bool readFromXML(LLSD& dest, const std::string& filename );
|
||||
void gatherFiles();
|
||||
void mergeLogs( LLSD src_sd );
|
||||
|
|
|
|||
|
|
@ -72,12 +72,6 @@ bool LLCrashLoggerMac::mainLoop()
|
|||
gSendReport = true;
|
||||
}
|
||||
|
||||
if(gRememberChoice)
|
||||
{
|
||||
if(gSendReport) saveCrashBehaviorSetting(CRASH_BEHAVIOR_ALWAYS_SEND);
|
||||
else saveCrashBehaviorSetting(CRASH_BEHAVIOR_NEVER_SEND);
|
||||
}
|
||||
|
||||
if(gSendReport)
|
||||
{
|
||||
setUserText(gUserNotes);
|
||||
|
|
|
|||
Loading…
Reference in New Issue