diff options
| author | Graham Madarasz <graham@lindenlab.com> | 2013-06-05 06:14:27 -0700 | 
|---|---|---|
| committer | Graham Madarasz <graham@lindenlab.com> | 2013-06-05 06:14:27 -0700 | 
| commit | 50689a13baf07bcd68bfb77b111b066da972f076 (patch) | |
| tree | 9f0b8e4efb553e93212bfee0f2378eacb2c46b4a /indra/llcommon | |
| parent | ea246125619aca35ac6672d6be4b8aa08123666f (diff) | |
BOOG2707 uncomment cleared suspects
Diffstat (limited to 'indra/llcommon')
| -rwxr-xr-x | indra/llcommon/llapp.cpp | 13 | ||||
| -rwxr-xr-x | indra/llcommon/llavatarname.cpp | 10 | ||||
| -rwxr-xr-x | indra/llcommon/llcoros.cpp | 1 | ||||
| -rwxr-xr-x | indra/llcommon/llerror.h | 8 | ||||
| -rwxr-xr-x | indra/llcommon/llerrorthread.cpp | 2 | ||||
| -rwxr-xr-x | indra/llcommon/lleventcoro.h | 34 | ||||
| -rwxr-xr-x | indra/llcommon/llevents.cpp | 6 | ||||
| -rwxr-xr-x | indra/llcommon/llmemory.cpp | 24 | ||||
| -rwxr-xr-x | indra/llcommon/llprocess.cpp | 23 | ||||
| -rwxr-xr-x | indra/llcommon/llsys.cpp | 6 | 
10 files changed, 69 insertions, 58 deletions
| diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index b6581c714c..67a98d5fb8 100755 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -218,7 +218,8 @@ bool LLApp::parseCommandOptions(int argc, char** argv)  	{  		if(argv[ii][0] != '-')  		{ -			lldebugs << "Did not find option identifier while parsing token: "<< argv[ii] << llendl; +			llinfos << "Did not find option identifier while parsing token: " +				<< argv[ii] << llendl;  			return false;  		}  		int offset = 1; @@ -377,7 +378,7 @@ void LLApp::startErrorThread()  	//  	if(!mThreadErrorp)  	{ -//		llinfos << "Starting error thread" << llendl; +		llinfos << "Starting error thread" << llendl;  		mThreadErrorp = new LLErrorThread();  		mThreadErrorp->setUserData((void *) this);  		mThreadErrorp->start(); @@ -895,7 +896,7 @@ bool unix_minidump_callback(const google_breakpad::MinidumpDescriptor& minidump_  		--remaining;  	} -	//llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; +	llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;  	LLApp::runErrorHandler();  #ifndef LL_RELEASE_FOR_DOWNLOAD @@ -941,7 +942,7 @@ bool unix_post_minidump_callback(const char *dump_dir,  		strncpy(path, ".dmp", remaining);  	} -	//llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; +	llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;  	LLApp::runErrorHandler();  #ifndef LL_RELEASE_FOR_DOWNLOAD @@ -984,12 +985,12 @@ bool windows_post_minidump_callback(const wchar_t* dump_path,  		strncpy(path, ".dmp", remaining);  	} -	//llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl; +	llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;     // *NOTE:Mani - this code is stolen from LLApp, where its never actually used.  	//OSMessageBox("Attach Debugger Now", "Error", OSMB_OK);     // *TODO: Translate the signals/exceptions into cross-platform stuff  	// Windows implementation -	//llinfos << "Entering Windows Exception Handler..." << llendl; +	llinfos << "Entering Windows Exception Handler..." << llendl;  	if (LLApp::isError())  	{ diff --git a/indra/llcommon/llavatarname.cpp b/indra/llcommon/llavatarname.cpp index aaa7f1212f..642bd82e90 100755 --- a/indra/llcommon/llavatarname.cpp +++ b/indra/llcommon/llavatarname.cpp @@ -230,10 +230,10 @@ std::string LLAvatarName::getUserName() const  void LLAvatarName::dump() const  { -	//LL_DEBUGS("AvNameCache") << "LLAvatarName: " -	//                         << "user '" << mUsername << "' " -	//						 << "display '" << mDisplayName << "' " -	//                         << "expires in " << mExpires - LLFrameTimer::getTotalSeconds() << " seconds" -	//						 << LL_ENDL; +	LL_DEBUGS("AvNameCache") << "LLAvatarName: " +	                         << "user '" << mUsername << "' " +							 << "display '" << mDisplayName << "' " +	                         << "expires in " << mExpires - LLFrameTimer::getTotalSeconds() << " seconds" +							 << LL_ENDL;  } diff --git a/indra/llcommon/llcoros.cpp b/indra/llcommon/llcoros.cpp index 1ccb33b259..baaddcaed1 100755 --- a/indra/llcommon/llcoros.cpp +++ b/indra/llcommon/llcoros.cpp @@ -61,7 +61,6 @@ bool LLCoros::cleanup(const LLSD&)          if (mi->second->exited())          {  			   LL_INFOS("LLCoros") << "LLCoros: cleaning up coroutine " << mi->first << LL_ENDL; -              // The erase() call will invalidate its passed iterator value --              // so increment mi FIRST -- but pass its original value to              // erase(). This is what postincrement is all about. diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h index a724c0720f..08a5cd26df 100755 --- a/indra/llcommon/llerror.h +++ b/indra/llcommon/llerror.h @@ -283,6 +283,14 @@ typedef LLError::NoClassInfo _LL_CLASS_TO_LOG;  #define LL_ENDL llendl  #define LL_CONT	(*_out) +// Short story: We don't want to enable this in release builds. +// +// Long story: ...because this call generates C++ exceptions +// which are handled and fine under the debugger, but instant death should they occur from +// within a coroutine's stackframe due to inherent limitations of Windows 32-bit SEH +// interacting with the fiber-based coroutine support used by boost. +// +// gmad BUG-2707/MAINT-2740  #if LL_WINDOWS && defined(_DEBUG)  	#define LL_WINDOWS_OUTPUT_DEBUG(a) OutputDebugString(utf8str_to_utf16str(a).c_str()), OutputDebugString("\n")  #else diff --git a/indra/llcommon/llerrorthread.cpp b/indra/llcommon/llerrorthread.cpp index 4a0c8ef342..950fcd6e83 100755 --- a/indra/llcommon/llerrorthread.cpp +++ b/indra/llcommon/llerrorthread.cpp @@ -106,7 +106,7 @@ void LLErrorThread::run()  	// This thread sits and waits for the sole purpose  	// of waiting for the signal/exception handlers to flag the  	// application state as APP_STATUS_ERROR. -	//llinfos << "thread_error - Waiting for an error" << llendl; +	llinfos << "thread_error - Waiting for an error" << llendl;  	S32 counter = 0;  #if !LL_WINDOWS diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h index f25c313920..a42af63b65 100755 --- a/indra/llcommon/lleventcoro.h +++ b/indra/llcommon/lleventcoro.h @@ -220,21 +220,21 @@ LLSD postAndWait(SELF& self, const LLSD& event, const LLEventPumpOrPumpName& req          // request event.          LLSD modevent(event);          LLEventDetail::storeToLLSDPath(modevent, replyPumpNamePath, replyPump.getPump().getName()); -		//LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName -      //                           << " posting to " << requestPump.getPump().getName() -		//						 << LL_ENDL; +		LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName +                                 << " posting to " << requestPump.getPump().getName() +								 << LL_ENDL;  		// *NOTE:Mani - Removed because modevent could contain user's hashed passwd.  		//                         << ": " << modevent << LL_ENDL;          requestPump.getPump().post(modevent);      } -    //LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName -    //                         << " about to wait on LLEventPump " << replyPump.getPump().getName() -    //                         << LL_ENDL; +    LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName +                             << " about to wait on LLEventPump " << replyPump.getPump().getName() +                             << LL_ENDL;      // trying to dereference ("resolve") the future makes us wait for it      LLSD value(*future); -    //LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName -    //                         << " resuming with " << value << LL_ENDL; +    LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName +                             << " resuming with " << value << LL_ENDL;      // returning should disconnect the connection      return value;  } @@ -351,19 +351,19 @@ LLEventWithID postAndWait2(SELF& self, const LLSD& event,                                         replyPump0.getPump().getName());          LLEventDetail::storeToLLSDPath(modevent, replyPump1NamePath,                                         replyPump1.getPump().getName()); -        //LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name -        //                         << " posting to " << requestPump.getPump().getName() -        //                         << ": " << modevent << LL_ENDL; +        LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name +                                 << " posting to " << requestPump.getPump().getName() +                                 << ": " << modevent << LL_ENDL;          requestPump.getPump().post(modevent);      } -    //LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name -    //                         << " about to wait on LLEventPumps " << replyPump0.getPump().getName() -    //                         << ", " << replyPump1.getPump().getName() << LL_ENDL; +    LL_DEBUGS("lleventcoro") << "postAndWait2(): coroutine " << name +                             << " about to wait on LLEventPumps " << replyPump0.getPump().getName() +                             << ", " << replyPump1.getPump().getName() << LL_ENDL;      // trying to dereference ("resolve") the future makes us wait for it      LLEventWithID value(*future); -    //LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << name -    //                        << " resuming with (" << value.first << ", " << value.second << ")" -    //                         << LL_ENDL; +    LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << name +                             << " resuming with (" << value.first << ", " << value.second << ")" +                             << LL_ENDL;      // returning should disconnect both connections      return value;  } diff --git a/indra/llcommon/llevents.cpp b/indra/llcommon/llevents.cpp index 49c8178b42..0855180dcd 100755 --- a/indra/llcommon/llevents.cpp +++ b/indra/llcommon/llevents.cpp @@ -575,13 +575,15 @@ void LLReqID::stamp(LLSD& response) const          // okay to add a key. But if it was anything else (e.g. a scalar),          // assigning a ["reqid"] key will DISCARD the previous value,          // replacing it with a map. That would be Bad. -        LL_INFOS("LLReqID") << "stamp(" << mReqid << ") leaving non-map response unmodified: " << response << LL_ENDL; +        LL_INFOS("LLReqID") << "stamp(" << mReqid << ") leaving non-map response unmodified: " +                            << response << LL_ENDL;          return;      }      LLSD oldReqid(response["reqid"]);      if (! (oldReqid.isUndefined() || llsd_equals(oldReqid, mReqid)))      { -		  LL_INFOS("LLReqID") << "stamp(" << mReqid << ") preserving existing [\"reqid\"] value "<< oldReqid << " in response: " << response << LL_ENDL; +        LL_INFOS("LLReqID") << "stamp(" << mReqid << ") preserving existing [\"reqid\"] value " +                            << oldReqid << " in response: " << response << LL_ENDL;          return;      }      response["reqid"] = mReqid; diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp index 44ba84c160..70ad10ad55 100755 --- a/indra/llcommon/llmemory.cpp +++ b/indra/llcommon/llmemory.cpp @@ -987,27 +987,27 @@ void LLPrivateMemoryPool::LLMemoryChunk::dump()  	}  #endif  #if 0 -	LL_DEBUGS(LLMemory) << "---------------------------" << llendl ; -	LL_DEBUGS(LLMemory) << "Chunk buffer: " << (U32)getBuffer() << " size: " << getBufferSize() << llendl ; +	llinfos << "---------------------------" << llendl ; +	llinfos << "Chunk buffer: " << (U32)getBuffer() << " size: " << getBufferSize() << llendl ; -	LL_DEBUGS(LLMemory) << "available blocks ... " << llendl ; +	llinfos << "available blocks ... " << llendl ;  	for(S32 i = 0 ; i < mBlockLevels ; i++)  	{  		LLMemoryBlock* blk = mAvailBlockList[i] ;  		while(blk)  		{ -			LL_DEBUGS(LLMemory) << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ; +			llinfos << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ;  			blk = blk->mNext ;  		}  	} -	LL_DEBUGS(LLMemory) << "free blocks ... " << llendl ; +	llinfos << "free blocks ... " << llendl ;  	for(S32 i = 0 ; i < mPartitionLevels ; i++)  	{  		LLMemoryBlock* blk = mFreeSpaceList[i] ;  		while(blk)  		{ -			LL_DEBUGS(LLMemory) << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ; +			llinfos << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ;  			blk = blk->mNext ;  		}  	} @@ -1731,7 +1731,7 @@ void LLPrivateMemoryPool::removeFromHashTable(LLMemoryChunk* chunk)  void LLPrivateMemoryPool::rehash()  { -	LL_DEBUGS("LLMemory") << "new hash factor: " << mHashFactor << llendl ; +	llinfos << "new hash factor: " << mHashFactor << llendl ;  	mChunkHashList.clear() ;  	mChunkHashList.resize(mHashFactor) ; @@ -1848,7 +1848,7 @@ LLPrivateMemoryPoolManager::~LLPrivateMemoryPoolManager()  		S32 k = 0 ;  		for(mem_allocation_info_t::iterator iter = sMemAllocationTracker.begin() ; iter != sMemAllocationTracker.end() ; ++iter)  		{ -			LL_DEBUGS(LLMemory) << k++ << ", " << (U32)iter->first << " : " << iter->second << llendl ; +			llinfos << k++ << ", " << (U32)iter->first << " : " << iter->second << llendl ;  		}  		sMemAllocationTracker.clear() ;  	} @@ -2190,8 +2190,8 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times)  {  	LLTimer timer ; -	LL_DEBUGS(LLMemory) << " -**********************- " << llendl ; -	LL_DEBUGS(LLMemory) << "test size: " << size << " test times: " << times << llendl ; +	llinfos << " -**********************- " << llendl ; +	llinfos << "test size: " << size << " test times: " << times << llendl ;  	timer.reset() ;  	char** p = new char*[times] ; @@ -2212,7 +2212,7 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times)  		FREE_MEM(sPool, p[i]) ;  		p[i] = NULL ;  	} -	LL_DEBUGS(LLMemory) << "time spent using customized memory pool: " << timer.getElapsedTimeF32() << llendl ; +	llinfos << "time spent using customized memory pool: " << timer.getElapsedTimeF32() << llendl ;  	timer.reset() ; @@ -2232,7 +2232,7 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times)  		::delete[] p[i] ;  		p[i] = NULL ;  	} -	LL_DEBUGS(LLMemory) << "time spent using standard allocator/de-allocator: " << timer.getElapsedTimeF32() << llendl ; +	llinfos << "time spent using standard allocator/de-allocator: " << timer.getElapsedTimeF32() << llendl ;  	delete[] p;  } diff --git a/indra/llcommon/llprocess.cpp b/indra/llcommon/llprocess.cpp index 59298366a3..715df36f39 100755 --- a/indra/llcommon/llprocess.cpp +++ b/indra/llcommon/llprocess.cpp @@ -81,7 +81,7 @@ public:  		// incrementing, listen on "mainloop".  		if (mCount++ == 0)  		{ -			//LL_DEBUGS("LLProcess") << "listening on \"mainloop\"" << LL_ENDL; +			LL_DEBUGS("LLProcess") << "listening on \"mainloop\"" << LL_ENDL;  			mConnection = LLEventPumps::instance().obtain("mainloop")  				.listen("LLProcessListener", boost::bind(&LLProcessListener::tick, this, _1));  		} @@ -93,7 +93,7 @@ public:  		// stop listening on "mainloop".  		if (--mCount == 0)  		{ -			//LL_DEBUGS("LLProcess") << "disconnecting from \"mainloop\"" << LL_ENDL; +			LL_DEBUGS("LLProcess") << "disconnecting from \"mainloop\"" << LL_ENDL;  			mConnection.disconnect();  		}  	} @@ -118,7 +118,7 @@ private:  		// centralize such calls, using "mainloop" to ensure it happens once  		// per frame, and refcounting running LLProcess objects to remain  		// registered only while needed. -		//LL_DEBUGS("LLProcess") << "calling apr_proc_other_child_refresh_all()" << LL_ENDL; +		LL_DEBUGS("LLProcess") << "calling apr_proc_other_child_refresh_all()" << LL_ENDL;  		apr_proc_other_child_refresh_all(APR_OC_REASON_RUNNING);  		return false;  	} @@ -216,13 +216,13 @@ public:  					remainptr += written;  					remainlen -= written; -					//char msgbuf[512]; -					//LL_DEBUGS("LLProcess") << "wrote " << written << " of " << towrite -					//					   << " bytes to " << mDesc -					//					   << " (original " << total << ")," -					//					   << " code " << err << ": " -					//					   << apr_strerror(err, msgbuf, sizeof(msgbuf)) -					//					   << LL_ENDL; +					char msgbuf[512]; +					LL_DEBUGS("LLProcess") << "wrote " << written << " of " << towrite +										   << " bytes to " << mDesc +										   << " (original " << total << ")," +										   << " code " << err << ": " +										   << apr_strerror(err, msgbuf, sizeof(msgbuf)) +										   << LL_ENDL;  					// The parent end of this pipe is nonblocking. If we weren't able  					// to write everything we wanted, don't keep banging on it -- that @@ -738,7 +738,8 @@ LLProcess::LLProcess(const LLSDOrParams& params):  		{  			mPipes.replace(i, new ReadPipeImpl(desc, pipe, FILESLOT(i)));  		} -		LL_DEBUGS("LLProcess") << "Instantiating " << typeid(mPipes[i]).name() << "('" << desc << "')" << LL_ENDL; +		LL_DEBUGS("LLProcess") << "Instantiating " << typeid(mPipes[i]).name() +							   << "('" << desc << "')" << LL_ENDL;  	}  } diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index 5d3595a66f..418c5763f8 100755 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -1032,9 +1032,9 @@ LLMemoryInfo& LLMemoryInfo::refresh()  {  	mStatsMap = loadStatsMap(); -//	LL_DEBUGS("LLMemoryInfo") << "Populated mStatsMap:\n"; -//	LLSDSerialize::toPrettyXML(mStatsMap, LL_CONT); -//	LL_ENDL; +	LL_DEBUGS("LLMemoryInfo") << "Populated mStatsMap:\n"; +	LLSDSerialize::toPrettyXML(mStatsMap, LL_CONT); +	LL_ENDL;  	return *this;  } | 
