Bug 曝光台 一个微信的崩溃

剪烛 · 2015年11月25日 · 最后由 回复于 2015年12月15日 · 3985 次阅读

环境:
微信版本:6.3.7
机型:Mi3w
Android :4.4.4
MIUI:7 5.9.24 开发版

描述:
从知乎分享一篇文章到微信群聊后,然后在群聊打字,点击发送,出现闪退现象
出现概率:
共出现两次,但是清理内存后,无法重现。

可能的错误日志:

11-25 15:06:28.163: E/JavaBinder(6498): java.lang.StackOverflowError
11-25 15:06:28.163: E/JavaBinder(6498):     at java.lang.StringBuilder.append(StringBuilder.java:44)
11-25 15:06:28.163: E/JavaBinder(6498):     at java.util.Formatter.outputCharSequence(Formatter.java:1094)
11-25 15:06:28.163: E/JavaBinder(6498):     at java.util.Formatter.doFormat(Formatter.java:1066)
11-25 15:06:28.163: E/JavaBinder(6498):     at java.util.Formatter.format(Formatter.java:1042)
11-25 15:06:28.163: E/JavaBinder(6498):     at java.util.Formatter.format(Formatter.java:1011)
11-25 15:06:28.163: E/JavaBinder(6498):     at java.lang.String.format(String.java:1999)
11-25 15:06:28.163: E/JavaBinder(6498):     at java.lang.String.format(String.java:1973)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.sdk.platformtools.v.i(SourceFile:259)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:922)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.WebViewStubService$1.a(SourceFile:808)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.d$a.onTransact(SourceFile:424)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.Binder.execTransact(Binder.java:404)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.BinderProxy.transact(Native Method)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.e$a$a.a(SourceFile:362)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:7588)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.j(SourceFile:2045)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.n(SourceFile:232)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h$1.a(SourceFile:614)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:922)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.WebViewStubService$1.a(SourceFile:808)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.d$a.onTransact(SourceFile:424)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.Binder.execTransact(Binder.java:404)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.BinderProxy.transact(Native Method)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.e$a$a.a(SourceFile:362)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:7588)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.j(SourceFile:2045)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.n(SourceFile:232)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h$1.a(SourceFile:614)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:922)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.WebViewStubService$1.a(SourceFile:808)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.d$a.onTransact(SourceFile:424)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.Binder.execTransact(Binder.java:404)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.BinderProxy.transact(Native Method)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.e$a$a.a(SourceFile:362)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:7588)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.j(SourceFile:2045)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.n(SourceFile:232)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h$1.a(SourceFile:614)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:922)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.WebViewStubService$1.a(SourceFile:808)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.d$a.onTransact(SourceFile:424)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.Binder.execTransact(Binder.java:404)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.BinderProxy.transact(Native Method)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.e$a$a.a(SourceFile:362)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:7588)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.j(SourceFile:2045)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.n(SourceFile:232)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h$1.a(SourceFile:614)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:922)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.WebViewStubService$1.a(SourceFile:808)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.d$a.onTransact(SourceFile:424)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.Binder.execTransact(Binder.java:404)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.BinderProxy.transact(Native Method)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.e$a$a.a(SourceFile:362)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:7588)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.l(SourceFile:232)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h$1.a(SourceFile:610)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.ui.tools.jsapi.h.a(SourceFile:922)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.WebViewStubService$1.a(SourceFile:808)
11-25 15:06:28.163: E/JavaBinder(6498):     at com.tencent.mm.plugin.webview.stub.d$a.onTransact(SourceFile:424)
11-25 15:06:28.163: E/JavaBinder(6498):     at android.os.Binder.execTransact(Binder.java:404)
11-25 15:06:28.163: E/JavaBinder(6498):     at an

或者是

11-25 15:06:28.873: A/MicroMsg_Crash(6498): Process:            com.tencent.mm
11-25 15:06:28.873: A/MicroMsg_Crash(6498): Crash Thread:       6579(total:48)
11-25 15:06:28.873: A/MicroMsg_Crash(6498): Date/Time:          2105-11-25 +8.00 15:06:28.840
11-25 15:06:28.873: A/MicroMsg_Crash(6498): Live Time:          8s
11-25 15:06:28.873: A/MicroMsg_Crash(6498): Device:             MI 3W android-19
11-25 15:06:28.873: A/MicroMsg_Crash(6498): Exception info:     
11-25 15:06:28.873: A/MicroMsg_Crash(6498): Siginfo:            errno:0, pid:6498, uid:10107, process:/init->zygote->com.tencent.mm
11-25 15:06:28.903: A/MicroMsg_Crash(6498): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-25 15:06:28.903: A/MicroMsg_Crash(6498): Build fingerprint: Xiaomi/cancro/cancro:4.4.4/KTU84P/5.9.24:user/release-keys
11-25 15:06:28.903: A/MicroMsg_Crash(6498): pid: 6498, tid: 6579  >>> com.tencent.mm <<<
11-25 15:06:28.903: A/MicroMsg_Crash(6498): signal 6 (SIGABRT), code -6 (?), fault addr 00001962
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #00  pc 0x2210c  /system/lib/libc.so (tgkill+12)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #01  pc 0x13165  /system/lib/libc.so (pthread_kill+48)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #02  pc 0x13379  /system/lib/libc.so (raise+10)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #03  pc 0x120a3  /system/lib/libc.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #04  pc 0x219c0  /system/lib/libc.so (abort+4)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #05  pc 0x48b1f  /system/lib/libdvm.so (dvmAbort+78)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #06  pc 0x57789  /system/lib/libdvm.so (dvmDetachCurrentThread()+548)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #07  pc 0x4bf57  /system/lib/libdvm.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #08  pc 0x72b4d  /system/lib/libandroid_runtime.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #09  pc 0x72f81  /system/lib/libandroid_runtime.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #10  pc 0x19225  /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+60)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #11  pc 0x1d799  /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+50
11-25 15:06:28.903: A/MicroMsg_Crash(6498): )
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #12  pc 0x1d9a7  /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+250)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #13  pc 0x1dadf  /system/lib/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+118)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #14  pc 0x19791  /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+30)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #15  pc 0x73215  /system/lib/libandroid_runtime.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #16  pc 0x2034c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #17  pc 0x50fcf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #18  pc 0x297e0  /system/lib/libdvm.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #19  pc 0x30c6c  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #20  pc 0x2e304  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #21  pc 0x63431  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #22  pc 0x4fd35  /syste
11-25 15:06:28.903: A/MicroMsg_Crash(6498): /lib/libdvm.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #23  pc 0x6dfff  /system/lib/libandroid_runtime.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #24  pc 0x72f63  /system/lib/libandroid_runtime.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #25  pc 0x19225  /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+60)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #26  pc 0x1d799  /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+508)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #27  pc 0x1d9a7  /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+250)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #28  pc 0x1dadf  /system/lib/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+118)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #29  pc 0x19791  /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+30)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #30  pc 0x73215  /system/lib/libandroid_runtime.so (???)
11-25 15:06:28.903: A/MicroMsg_Crash(6498):   #31  pc 0x2034c  /system/lib/libdvm.so (dvmPlatformInvoke+112)

然后查看微信的内存的时候,发现了这个:

猜测 com.tencent.mm 是微信的主进程,但是主进程会有两个吗?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复 时间 点赞

额。。。。一直就两个了?一个是不是 crash 之后,假死的一个进程。。=。=

根据前面的异常来看,StringBuilder 类型的变量在使用 append 方法的时候就溢出了?不会吧

—— 来自 TesterHome 官方 安卓客户端

#1 楼 @monkey 崩溃之后一直有,崩溃之前没注意。假死,意思是说,本身有一个进程就已经死了,然后其他守护进程又起了一个新的?这个系统允许的吗?

#1 楼 @monkey 清理缓存以后就正常只有一个了,并且无法再重现这个崩溃了

#4 楼 @shixue33 具体原因不明,不过的确这种情况见过。可以再尝试尝试 crash

#4 楼 @shixue33 看起来是进入了很深的递归,然后耗费完了所有的堆栈.

同名进程可以用 ps 看下是不是其中一个是另一个的子进程,如果是的话那就是在 native 层 fork 出来的

今天我的微信也闪退了一次
在微信群里上翻聊天信息,删除了一条清屏(就是足足有十来屏的无聊信息)信息

12-14 17:34:18.727 V/ActivityManager( 565): getTasks: max=1, flags=0, receiver=null
12-14 17:34:18.727 V/ActivityManager( 565): com.tencent.mm/.ui.LauncherUI: task=TaskRecord{431f9990 #150 A com.tencent.mm U 0}
12-14 17:34:18.727 V/ActivityManager( 565): We have pending thumbnails: null
12-14 17:34:18.766 D/ConnectivityService( 565): getActiveNetworkInfo:NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: "dns127", roaming: false, failover: false, isAvailable: true, simId: 0/10179
12-14 17:34:19.137 I/ActivityManager( 565): Start proc com.tencent.mm:sandbox for service com.tencent.mm/.sandbox.monitor.ExceptionMonitorService: pid=3154 uid=10179 gids={50179, 1006, 3003, 1015, 3002, 3001, 1028}
12-14 17:34:19.152 V/ActivityManager( 565): Binding process pid 3154 to record ProcessRecord{42a66140 3154:com.tencent.mm:sandbox/u0a10179}
12-14 17:34:19.152 V/ActivityManager( 565): New death recipient com.android.server.am.ActivityManagerService$AppDeathRecipient@431cffe0 for thread android.os.BinderProxy@42ecfbf0
12-14 17:34:19.152 V/ActivityManager( 565): New app record ProcessRecord{42a66140 3154:com.tencent.mm:sandbox/u0a10179} thread=android.os.BinderProxy@42ecfbf0 pid=3154
12-14 17:34:19.186 V/ActivityManager( 565): Death received in com.android.server.am.ActivityManagerService$AppDeathRecipient@42f8c730 for thread android.os.BinderProxy@42f50b80
12-14 17:34:19.186 I/ActivityManager( 565): Process com.tencent.mm (pid 1361) has died.
12-14 17:34:19.186 I/WindowState( 565): WIN DEATH: Window{425d6be0 u0 com.tencent.mm/com.tencent.mm.ui.LauncherUI}
12-14 17:34:19.186 W/ActivityManager( 565): Scheduling restart of crashed service com.tencent.mm/.booter.NotifyReceiver$NotifyService in 5000ms
12-14 17:34:19.187 D/PowerManagerService( 565): userActivityFromNative
12-14 17:34:19.187 D/PowerManagerService( 565): userActivityNoUpdateLocked: eventTime=52161261, event=2, flags=0x0, uid=1000
12-14 17:34:19.187 D/PowerManagerNotifier( 565): onUserActivity: event=2, uid=1000
12-14 17:34:19.187 D/PowerManagerService( 565): updateUserActivitySummaryLocked: mWakefulness=Awake, mUserActivitySummary=0x1, nextTimeout=52214261 (in 47673 ms)
12-14 17:34:19.187 D/PowerManagerService( 565): newScreenState = 2
12-14 17:34:19.187 D/PowerManagerDisplayController( 565): requestPowerState: screenState=2, useProximitySensor=false, screenBrightness=60, screenAutoBrightnessAdjustment=0.0, useAutoBrightness=false, useEcoBrightness=false, blockScreenOn=false, waitForNegativeProximity=false
12-14 17:34:19.187 I/PowerManagerService( 565): setBrightness mButtonLight 0.
12-14 17:34:19.188 D/PowerManagerService( 565): updateScreenStateLocked: mDisplayReady=true, newScreenState=2, mWakefulness=1, mWakeLockSummary=0x0, mUserActivitySummary=0x1, mBootCompleted=true
12-14 17:34:19.188 D/PowerManagerService( 565): handleSandman: canDream=true, mWakefulness=Awake
12-14 17:34:19.191 V/WindowManager( 565): Changing focus from Window{425d6be0 u0 com.tencent.mm/com.tencent.mm.ui.LauncherUI} to null
12-14 17:34:19.191 I/WindowManager( 565): Losing focus: Window{425d6be0 u0 com.tencent.mm/com.tencent.mm.ui.LauncherUI}
12-14 17:34:19.193 W/ActivityManager( 565): Force removing ActivityRecord{421a7728 u0 com.tencent.mm/.ui.LauncherUI}: app died, no saved state
12-14 17:34:19.199 V/NetworkStats( 565): setKernelCounterSet uid=10041 set=1
12-14 17:34:19.211 D/ConnectivityService( 565): onUidRulesChanged(uid=10041, uidRules=0)
12-14 17:34:19.211 V/NetworkStats( 565): setKernelCounterSet uid=10179 set=0
12-14 17:34:19.212 D/ConnectivityService( 565): onUidRulesChanged(uid=10179, uidRules=0)
12-14 17:34:19.251 V/WindowManager( 565): Changing focus from null to Window{42715898 u0 com.sonyericsson.home/com.sonyericsson.home.HomeActivity}
12-14 17:34:19.253 I/WindowManager( 565): Gaining focus: Window{42715898 u0 com.sonyericsson.home/com.sonyericsson.home.HomeActivity}
12-14 17:34:19.267 V/InputMethodManagerService( 565): windowGainedFocus: android.os.BinderProxy@421835b8 controlFlags=#104 softInputMode=#123 windowFlags=#1910100
12-14 17:34:19.267 W/InputMethodManagerService( 565): Got RemoteException sending setActive(false) notification to pid 1361 uid 10179
12-14 17:34:19.341 V/ActivityManager( 565): Activity idle: Token{427a0030 ActivityRecord{4279fef0 u0 com.sonyericsson.home/.HomeActivity}}
12-14 17:34:19.341 D/ConnectivityService( 565): getActiveNetworkInfo:NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: "dns127", roaming: false, failover: false, isAvailable: true, simId: 0/10138
12-14 17:34:19.439 D/PowerManagerService( 565): userActivityFromNative
12-14 17:34:19.439 D/PowerManagerService( 565): userActivityNoUpdateLocked: eventTime=52166839, event=2, flags=0x0, uid=1000
12-14 17:34:19.439 D/PowerManagerNotifier( 565): onUserActivity: event=2, uid=1000
12-14 17:34:19.440 D/PowerManagerService( 565): updateUserActivitySummaryLocked: mWakefulness=Awake, mUserActivitySummary=0x1, nextTimeout=52219839 (in 52999 ms)
12-14 17:34:19.440 D/PowerManagerService( 565): newScreenState = 2

#8 楼 @miao 0.0 看不太懂

#9 楼 @shixue33 我也不太懂,只截到这个异常,有微信的小伙伴可以看看是什么错

11楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册