原创

Out of memory due to hash maps used in map-side aggregation解决办法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://lidong.blog.csdn.net/article/details/43232203

在运行一个group by的sql时,抛出以下错误信息:

Task with the most failures(4): 

-----
Task ID:
  task_201411191723_723592_m_000004


URL:
  http://DDS0204.dratio:50030/taskdetails.jsp?jobid=job_201411191723_723592&tipid=task_201411191723_723592_m_000004


Possible error:
  Out of memory due to hash maps used in map-side aggregation.


Solution:
  Currently hive.map.aggr.hash.percentmemory is set to 0.25. Try setting it to a lower value. i.e 'set hive.map.aggr.hash.percentmemory = 0.125;'
-----
Diagnostic Messages for this Task:


FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched: 
Job 0: Map: 12  Reduce: 1   Cumulative CPU: 164.04 sec   HDFS Read: 0 HDFS Write: 0 FAIL

Total MapReduce CPU Time Spent: 2 minutes 44 seconds 40 msec


原因是在map端进行了聚合,超过hash map的大小

终极解决办法:set hive.map.aggr=false 或者更改为子sql 或者尝试更改以下参数


备注:

与mapjoin和map aggregate相关的优化参数有:

①.hive.map.aggr 是否关闭关掉map端的aggregation,sethive.map.aggr=false就关闭map端的聚合了

②.hive.map.aggr.hash.min.reduction如果内存Map超过一定大小,就关闭MapAggregation功能,比如set hive.map.aggr.hash.min.reduction=0.5;

③.hive.map.aggr.hash.percentmemory

 当内存的Map大小,占到jsm配置的Map进程的25%(设置sethive.map.aggr.hash.percentmemory = 0.25)的时候(默认是50%),就将这个数据flush到reducer去,以释放内存Map的空间。

④.hive.groupby.skewindata数据据倾斜的时候进行负载均衡,当hive.groupby.skewindata=true,生成的查询计划会有两个 mr job。第一个mr中,每个map的输出结果集合会随机分布到reduce中,reduce做部分聚合操作。第二个mr再根据上个mr的数据结果按照group by key分布到 reduce中完成最终的聚合操作。

参考:

http://dev.bizo.com/2013/02/map-side-aggregations-in-apache-hive.html




展开阅读全文

tomcat out of memory 问题

03-25

我现在做的一个项目是struts+hibernate架构的rn在大数据量检索时会出现out of memory的error我想捕获这经errorrn以下是代码rn[code="java"]rntryrn session = DBConnection.getSession();//Obtaining hibernate sessionrn rn //run this query and populate the query listrn search_DB = "select * from commonlogs";rn rn query = session.createQuery(search_DB);rnrn for(int i =0; i< params.length; i++)rn rn if(params[i]==null)rn break;rn query.setString(i, params[i]);rn rn rn query.setMaxResults(fetchSize);rn rn [color=red]returnValue = query.list();[/color]rn rn catch(MyException ex)rn throw ex;rn rn catch(Exception ex)rn throw new MyException (ErrorCodes.SQLEXCEPTION,ex);rn rn //start add by sunwei 2009/03/05rn catch (Throwable e) rn logger.writeError(ErrorCodes.NONSPECIFIEDEXCEPTION, ResourceAccess.getErrorMessage(ErrorCodes.NONSPECIFIEDEXCEPTION), e);rn throw new MyException (ErrorCodes.NONSPECIFIEDEXCEPTION,new Exception(e.toString()));//也是输出logrn rn //end add by sunwei 2009/03/05rn finallyrn tryrn rn DBConnection.releaseResources(session);//Closing sessionrn rn catch(MyException ex)rn throw ex;rn rn rn[/code]rn上一层捕获MyException的话,会跳转到GlobalErrors.jsp(错误页面)rnrn[color=red]returnValue = query.list();[/color]执行时会out of memoryrnrnstruts-config.xmlrn[code="java"]rnrn rn rn rn rn rn rn[/code]rn不能输出log,但会跳转到GlobalErrors.jsp(错误页面)rn我用的log机制是log4j,其它异常(比如数据库连接失败等)都会输出log,就是out of memory不能.rn谁能帮我看看是什么原因.n[b]问题补充:[/b]n谢谢大家的回答!rn调高JVM的内在确实可以减少out of memory的发生,这个我以前调查过.rn我说一下这个程序发生out of memory原因:主要是一次从数据库中检索出100万条记录造成的,我也不想这样做查询的,但是程序已经是不能改了,只想知道原因.rn既然throwable不能捕获out of memory这个error,那什么程序又可以跳转到GlobalErrors.jsp(错误页面) 呢?能不能帮我分析一下.已经加分了.n[b]问题补充:[/b]n为什么程序又可以跳转到GlobalErrors.jsp(错误页面) 呢? 问答

out of memory错误

04-12

TPerson、ICustomer分别是对人和公司的封装,TPersonalCustomer从它俩继承,封装个人类型的客户(对应的还有公司类型的客户),TPersonalCustomer重载了TPerson类中的Name属性,但是在给Name赋值的时候,却引发了Out of Memory错误,为什么呢?rnrn代码片段:rnrn//// Classes and Interfacerntypern TPerson = class;rn TPersonalCustomer = class;rn ICustomer = interfacern function GetDisplayName: WideString; stdcall;rn property DisplayName: WideString read GetDisplayName;rn end;rnrn TPerson = class(TInterfacedObject, IInterface)rn privatern FName: WideString;rn procedure SetName(const Value: WideString);rn publishedrn property Name: WideString read FName write SetName;rn end;rnrn TPersonalCustomer = class(TPerson, ICustomer)rn privatern FNoshow: Boolean;rn publicrn function GetDisplayName: WideString; stdcall;rn publishedrn property Name;rn end;rnrnimplementationrnrnuses SysUtils,rn Dialogs;rnrnprocedure TPerson.SetName(const Value: WideString);rnbeginrn //ShowMessage(Value);rn FName := Value; <-- out of memory herernend;rnrnfunction TPersonalCustomer.GetDisplayName: WideString;rnbeginrn Result :='客户'+ Name;rnend;rnrnend.rnrnrn////// codes in the formrnrnprocedure TForm1.btn1Click(Sender: TObject);rnvarrn Customer : ICustomer;rnbeginrn Customer := TPersonalCustomer.Create;rn TPerson(Customer).Name := widestring(edt1.Text );rn ShowMessage(Customer.DisplayName);rn Customer := nil;rnend;rnrn 论坛

weblogic out of memory error

07-14

部署一个项目 运行时 页面会出现 out of flow 字样rn后台报错:rnrnjava.lang.Throwable: Compilation of D:\weblogic\user_projects\domains\mydomain\myserver\.wlnotdelete\extract\myserver__appsdir_DefaultWebApp_dir_DefaultWebApp\jsp_servlet\_global\__errorpage500.java failedrnrnrnThe system is out of resources.rnConsult the following stack trace for details.rnjava.lang.OutOfMemoryErrorrnrn at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:382)rn at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:463)rn at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)rn at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)rn at cn.com.jdls.foundation.web.EncodingFilter.doFilter(Unknown Source:37)rn at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)rn at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:326)rn at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:531)rn at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:4056)rn at weblogic.servlet.internal.WebAppServletContext.handleThrowableFromInvocation(WebAppServletContext.java:3834)rn at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3780)rn at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)rn at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)rn at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)rn这个错误呢 我初步 通过强制刷新页面解决的,但是这不是根本的解决办法,不知道各位高手有什么好的方法没?rn我也试图加大weblogic 的那个参数:rn在commEnv.cmd中参数 更改为:rn:bearnif "%PRODUCTION_MODE%" == "true" goto bea_prod_modernset JAVA_VM=-jrockitrn[color=#FF0000]set MEM_ARGS=-Xms1024m -Xmx1024m[/color]rnset JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:nonerngoto continuern:bea_prod_modernset JAVA_VM=-jrockitrn[color=#FF0000]set MEM_ARGS=-Xms1024m -Xmx1024m[/color]rngoto continuernrnrn:sunrnif "%PRODUCTION_MODE%" == "true" goto sun_prod_modernset JAVA_VM=-clientrn[color=#FF0000]set MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=512m[/color]rnset JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:nonerngoto continuern:sun_prod_modernset JAVA_VM=-serverrn[color=#FF0000]set MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=512m[/color]rngoto continuern(由于不知道具体改哪个选项,所以我都给改成一样的了)rn在startWeblogic.cmd中也改了:rncall "%WL_HOME%\common\bin\commEnv.cmd"rnrnset MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=512mrnrnrn但是 好像没有效果!!启动,重新加载这个项目,然后运行的时候还是报这个错误!!!rnrnrn同一个项目在进行excel表格操作的时候 也报了一个错误rnjava.lang.Throwable: org/apache/poi/hssf/usermodel/HSSFWorkbookrn at cn.com.jdlssoft.zhns.gs.web.common.CgsExportUtil.newWorbook(CgsExportUtil.java:237)rn at cn.com.jdlssoft.zhns.gs.web.common.CgsExportUtil.exportExcel(CgsExportUtil.java:105)rn at cn.com.jdlssoft.zhns.gs.web.common.CgsBaseSearchAction.export(CgsBaseSearchAction.java:74)rn at cn.com.jdlssoft.zhns.gs.web.cgs.sdycgl.actions.YcqkcxAction.executeExportData(YcqkcxAction.java:157)rn at cn.com.jdlssoft.zhns.gs.web.cgs.sdycgl.actions.YcqkcxAction.execute(YcqkcxAction.java:70)rn at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)rn at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)rn at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)rn at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)rn at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)rn at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)rn at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)rn at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)rn at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)rn at cn.com.jdls.foundation.web.EncodingFilter.doFilter(Unknown Source:37)rn at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)rn at cn.com.jdlssoft.rbac.filter.AcceptFilter.doFilter(AcceptFilter.java:84)rn at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)rn at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)rn at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)rn at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)rn at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)rn at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)rn at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)rn at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)rn这个问题,我很是纳闷,因为该用到的jar包都在,而且也加载到weblogic中了,怎么还说没有定义呢? 难道weblogic还要对编译好的文件重新编译??即使是那样,也应该会顺利编译通过的啊,也不应该会出现这个错误啊?rnrn期待高手解答……!rnrnrnrnrn 论坛

TThread Synchronize and "Out of Memory"

05-18

创建TThread时有如下提示:rnrn//---------------------------------------------------------------------------rnrn// Important: Methods and properties of objects in VCL can only bern// used in a method called using Synchronize, for example:rn//rn// Synchronize(&UpdateCaption);rn//rn// where UpdateCaption could look like:rn//rn// void __fastcall GetHistThread::UpdateCaption()rn// rn// Form1->Caption = "Updated in a thread";rn// rn//---------------------------------------------------------------------------rnrn我在我的线程中使用了TStringList, TADOConnection, TADODataSet等是否属于VCL?是否要像上面提示的那样都放入Synchronize()中去做?rnrn目前我碰到了非常古怪的问题,就是一直会报Out of Memory的错误,但实际上我机器还有很多很多的内存(分配到100M左右时就出现内存不足的错误,但其实我的机器总共有8G的内存)。rnrn出错的TThread::Execute()函数如下:rn[code=C/C++]void __fastcall TGetHistThread::Execute()rnrn DWORD dwTotalCount, dwCurrCount;rnrn this->m_etErrorLevel = xelSystem;rn m_strErrorMsg.sprintf("[历史数据缓冲线程]启动历史数据缓冲线程...");rn Synchronize(&AddErrorMsg);rnrn dwTotalCount = 0;rn dwCurrCount = 0;rnrn while( !Terminated )rn rn if ( !ConnectDB() )rn rn this->m_etErrorLevel = xelSystem;rn m_strErrorMsg.sprintf("[历史数据缓冲线程]连接数据库失败,请检查配置.");rn Synchronize(&AddErrorMsg);rn MySleep(5000);rnrn continue;rn rnrn TStringList * pTables = Get5MTableNames();rn TDateTime dtCurProdDt = m_dtStartDt;rnrn TADODataSet * pDst = new TADODataSet(NULL);rn pDst->Connection = m_pclAdoConn;rnrn while(!Terminated)rn rn dwCurrCount = 0;rnrn m_strErrorMsg.sprintf("Producer: Waiting for mutex[%d]...", g_stGlobalVar.m_nProd);rn Synchronize(&AddErrorMsg);rn WaitForSingleObject(g_stGlobalVar.m_hMutex[g_stGlobalVar.m_nProd],INFINITE);rn m_strErrorMsg.sprintf("Producer: Got Lock mutex[%d]. Continue.", g_stGlobalVar.m_nProd);rn Synchronize(&AddErrorMsg);rnrn TDateTime weekStart = dtCurProdDt;rn TDateTime weekEnd = IncWeek(dtCurProdDt, 1);rn m_strErrorMsg.sprintf("Producer: Buffering data from %s to %s",rn weekStart.DateTimeString().t_str(), weekEnd.DateTimeString().t_str());rn Synchronize(&AddErrorMsg);rnrn // if reach end, set ret to false;rn if(weekEnd >= m_dtEndDt) rn m_strErrorMsg.sprintf("Producer: Reach end datetime = %s", m_dtEndDt.DateTimeString());rn Synchronize(&AddErrorMsg);rnrn delete pTables;rn pTables = NULL;rnrn if(pDst->Active)rn pDst->Close();rn delete pDst;rn pDst = NULL;rnrn Terminate();rn rnrn // set str dates and times for sql searchrn DateTimeUtil sdt, edt;rn sdt.SetStrDateTime(IncMinute(weekStart, -5));rn edt.SetStrDateTime(weekEnd);rnrn //std::list tempList;rn for (int i = 0; i < pTables->Count; ++i)rn rn if(i >= 3000)rn continue;rnrn String strTableName = pTables->Strings[i];rn if(pDst->Active)rn pDst->Close();rn pDst->CommandType = cmdText;rn pDst->CommandText = "\rn select * \rn from " + strTableName + " \rn where ((QuotaDate > " + sdt.strDate + ") or (QuotaDate = " + sdt.strDate + " and QuotaTime > " + sdt.strTime + ")) \rn and ((QuotaDate < " + edt.strDate + ") or (QuotaDate = " + edt.strDate + " and QuotaTime <= " + edt.strTime + ")) \rn ";rn pDst->Open();rnrn if (pDst->IsEmpty()) rn pDst->Close();rn continue;rn rnrn //tempList.clear();rn pDst->First();rn while(!pDst->Eof)rn rn AMQData data;rn data.m_QuotaInfo.m_iCjsl = pDst->FieldByName("Volumn")->AsInteger;rn data.m_QuotaInfo.m_fCjje = pDst->FieldByName("Amount")->AsFloat;rn strcpy(data.m_szHqrq, pDst->FieldByName("QuotaDate")->AsString.t_str());rn strcpy(data.m_QuotaInfo.m_szHqsj, pDst->FieldByName("QuotaTime")->AsString.t_str());rn strcpy(data.m_QuotaInfo.m_szZqdm, strTableName.SubString(6, 6).t_str());rn data.m_QuotaInfo.m_cJysdm = strTableName[5];rn if (data.m_QuotaInfo.m_iCjsl == 0) rn data.m_QuotaInfo.m_fZjcj = pDst->FieldByName("Close")->AsFloat;rn else rn data.m_QuotaInfo.m_fZjcj = data.m_QuotaInfo.m_fCjje / data.m_QuotaInfo.m_iCjsl;rn rnrn //data.SetTDateTime();rnrn g_stGlobalVar.tempList.push_back(data);rn pDst->Next();rnrn dwCurrCount++;rn rnrn g_stGlobalVar.m_lstQuotaList[g_stGlobalVar.m_nProd].merge(g_stGlobalVar.tempList);rn rnrn if(dwCurrCount > 0)rn rn dwTotalCount += dwCurrCount;rnrn //this->m_etErrorLevel = xelPrompt;rn m_strErrorMsg.sprintf("[历史数据缓冲线程]缓冲成功(%d/%d).", dwCurrCount, dwTotalCount);rn Synchronize(&AddErrorMsg);rn rnrn // set dtCurProdDt to next week;rn dtCurProdDt = weekEnd;rnrn // set m_nProd to the other buffer (list)rn int index = g_stGlobalVar.m_nProd;rn g_stGlobalVar.m_nProd = !g_stGlobalVar.m_nProd;rnrn // release producer buffer's mutexrn ReleaseMutex(g_stGlobalVar.m_hMutex[index]);rnrn m_strErrorMsg.sprintf("Producer: Releasing mutex[%d]", index);rn Synchronize(&AddErrorMsg);rnrn //MySleep(100);rn rn rn[/code]rnrn我已经调试了一天了都没找到哪里出错了。望哪位大侠帮忙看一看。。。谢谢啦! 论坛

android out of memory for surface

06-08

x86平台,android运行过程中,会随机出现如题所述问题,以下是某次的logcat:rnD/installd( 115): DexInv: --- BEGIN '/system/app/JETBoy.apk' ---rnD/dalvikvm( 395): DexOpt: load 7ms, verify 33ms, opt 0msrnD/installd( 115): DexInv: --- END '/system/app/JETBoy.apk' (success) ---rnD/JetBoy ( 390): opening jet filernD/JetBoy ( 390): opening jet file DONErnD/JetBoy ( 390): start queuing jet filernD/JetBoy ( 390): start queuing jet file DONErnD/dalvikvm( 390): GC freed 717 objects / 53848 bytes in 25msrnD/dalvikvm( 390): GC freed 68 objects / 2704 bytes in 24msrnD/dalvikvm( 390): GC freed 36 objects / 1760 bytes in 24msrnD/JetBoy ( 390): @@@ done creating view!rnD/dalvikvm( 390): GC freed 300 objects / 16344 bytes in 24msrnD/dalvikvm( 390): GC freed 23 objects / 912 bytes in 20msrnI/ActivityManager( 130): Displayed activity com.example.android.jetboy/.JetBoy: 1313 ms (total 1313 ms)rnE/JET_JNI ( 390): android_media_JetPlayer_pause(): failed to pause with EAS error code -31rnE/SurfaceComposerClient( 130): openGlobalTransaction() called more than once. skipping.rnE/SurfaceComposerClient( 130): Not in transaction (client=0x8c6ded0, SurfaceID=0, mTransactionOpen=0rnW/WindowManager( 130): Error updating surface in Windowb074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=falsernW/WindowManager( 130): java.lang.IllegalArgumentExceptionrnW/WindowManager( 130): at android.view.Surface.setAlpha(Native Method)rnW/WindowManager( 130): at com.android.server.WindowManagerService.performLayoutAndPlaceSurfacesLockedInner(WindowManagerService.java:10186)rnW/WindowManager( 130): at com.android.server.WindowManagerService.performLayoutAndPlaceSurfacesLocked(WindowManagerService.java:9256)rnW/WindowManager( 130): at com.android.server.WindowManagerService.finishDrawingWindow(WindowManagerService.java:2540)rnW/WindowManager( 130): at com.android.server.WindowManagerService$Session.finishDrawing(WindowManagerService.java:6709)rnW/WindowManager( 130): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:212)rnW/WindowManager( 130): at com.android.server.WindowManagerService$Session.onTransact(WindowManagerService.java:6648)rnW/WindowManager( 130): at android.os.Binder.execTransact(Binder.java:287)rnW/WindowManager( 130): at com.android.server.SystemServer.init1(Native Method)rnW/WindowManager( 130): at com.android.server.SystemServer.main(SystemServer.java:497)rnW/WindowManager( 130): at java.lang.reflect.Method.invokeNative(Native Method)rnW/WindowManager( 130): at java.lang.reflect.Method.invoke(Method.java:521)rnW/WindowManager( 130): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)rnW/WindowManager( 130): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)rnW/WindowManager( 130): at dalvik.system.NativeStart.main(Native Method)rnI/WindowManager( 130): Out of memory for surface! Looking for leaks...rnW/WindowManager( 130): LEAKED SURFACE (app token hidden): Windowb073a9d8 com.android.internal.service.wallpaper.ImageWallpaper paused=false surface=Surface(native-token=1470rnW/WindowManager( 130): LEAKED SURFACE (app token hidden): Windowb06b95e0 com.android.launcher/com.android.launcher.Launcher paused=false surface=Surface(native-token=1472204rnW/WindowManager( 130): LEAKED SURFACE (app token hidden): Windowb0765bf8 SurfaceView paused=false surface=Surface(native-token=147874072) token=AppWindowTokenb0839438 tokenrnE/Surface ( 390): error dequeuing a buffer (Unknown error: -19)rnE/Surface ( 390): dequeueBuffer failed (No such device)rnE/SurfaceHolder( 390): Exception locking surfacernE/SurfaceHolder( 390): java.lang.IllegalArgumentExceptionrnE/SurfaceHolder( 390): at android.view.Surface.lockCanvasNative(Native Method)rnE/SurfaceHolder( 390): at android.view.Surface.lockCanvas(Surface.java:288)rnE/SurfaceHolder( 390): at android.view.SurfaceView$2.internalLockCanvas(SurfaceView.java:680)rnE/SurfaceHolder( 390): at android.view.SurfaceView$2.lockCanvas(SurfaceView.java:663)rnE/SurfaceHolder( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.run(JetBoyView.java:663)rnW/WindowManager( 130): LEAKED SURFACE (app token hidden): Windowb074a9d8 com.example.android.jetboy/com.example.android.jetboy.JetBoy paused=false surface=Surface(native-tokrnW/WindowManager( 130): LEAKED SURFACE (app token hidden): Windowb06510c8 StatusBarExpanded paused=false surface=Surface(native-token=147019560) token=AppWindowTokenb0839438rnW/WindowManager( 130): LEAKED SURFACE (app token hidden): Windowb076f740 StatusBar paused=false surface=Surface(native-token=145184728) token=AppWindowTokenb0839438 token=HrnW/WindowManager( 130): Looks like we have reclaimed some memory, clearing surface for retry.rnW/WindowManager( 130): Due to memory failure, waiting a bit for next layoutrnW/dalvikvm( 390): threadid=19: thread exiting with uncaught exception (group=0xb6044c50)rnE/AndroidRuntime( 390): Uncaught handler: thread Thread-8 exiting due to uncaught exceptionrnE/AndroidRuntime( 390): java.lang.NullPointerExceptionrnE/AndroidRuntime( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.doDrawReady(JetBoyView.java:609)rnE/AndroidRuntime( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.doDraw(JetBoyView.java:483)rnE/AndroidRuntime( 390): at com.example.android.jetboy.JetBoyView$JetBoyThread.run(JetBoyView.java:665)rnI/Process ( 130): Sending signal. PID: 390 SIG: 3rnE/ActivityThread( 130): Failed to find provider info for android.server.checkinrnE/Checkin ( 130): Error reporting crash: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/crashesrnI/dalvikvm( 390): threadid=7: reacting to signal 3rnI/dalvikvm( 390): Wrote stack trace to '/data/anr/traces.txt'rnE/Surface ( 211): surface (id=0, identity=67) is invalid, err=-19 (No such device)rnE/Surface ( 211): dequeueBuffer failed (No such device)rnE/ViewRoot( 211): IllegalArgumentException locking surfacernE/ViewRoot( 211): java.lang.IllegalArgumentExceptionrnE/ViewRoot( 211): at android.view.Surface.lockCanvasNative(Native Method)rnE/ViewRoot( 211): at android.view.Surface.lockCanvas(Surface.java:288)rnE/ViewRoot( 211): at android.view.ViewRoot.draw(ViewRoot.java:1283)rnE/ViewRoot( 211): at android.view.ViewRoot.performTraversals(ViewRoot.java:1114)rnE/ViewRoot( 211): at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)rnE/ViewRoot( 211): at android.os.Handler.dispatchMessage(Handler.java:99)rnE/ViewRoot( 211): at android.os.Looper.loop(Looper.java:123)rnE/ViewRoot( 211): at android.app.ActivityThread.main(ActivityThread.java:4363)rnE/ViewRoot( 211): at java.lang.reflect.Method.invokeNative(Native Method)rnE/ViewRoot( 211): at java.lang.reflect.Method.invoke(Method.java:521)rnE/ViewRoot( 211): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)rnE/ViewRoot( 211): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)rnE/ViewRoot( 211): at dalvik.system.NativeStart.main(Native Method)rnI/Process ( 390): Sending signal. PID: 390 SIG: 9rnrn出现该问题后,android的壁纸和statusbar都消失,home背景变黑。各位大侠帮忙看看,问题可能处在什么地方,谢谢! 论坛

没有更多推荐了,返回首页