Tencent / matrix

Matrix is a plugin style, non-invasive APM system developed by WeChat.
Other
11.59k stars 1.88k forks source link

出现io异常,文件找不到 #870

Open xuanguofeng opened 11 months ago

xuanguofeng commented 11 months ago

cat file fail java.io.FileNotFoundException: /proc/27278/task/28734/stat: open failed: ENOENT (No such file or directory) at libcore.io.IoBridge.open(IoBridge.java:575) at java.io.RandomAccessFile.(RandomAccessFile.java:289) at java.io.RandomAccessFile.(RandomAccessFile.java:152) at com.tencent.matrix.batterycanary.utils.BatteryCanaryUtil.cat(BatteryCanaryUtil.java:414) at com.tencent.matrix.batterycanary.utils.ProcStatUtil.parse(ProcStatUtil.java:93) at com.tencent.matrix.batterycanary.utils.ProcStatUtil.of(ProcStatUtil.java:67) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$ProcessInfo$ThreadInfo.loadProcStat(JiffiesMonitorFeature.java:220) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$JiffiesSnapshot$ThreadJiffiesSnapshot.parseThreadJiffies(JiffiesMonitorFeature.java:384) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$JiffiesSnapshot.currentJiffiesSnapshot(JiffiesMonitorFeature.java:265) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature.currentJiffiesSnapshot(JiffiesMonitorFeature.java:91) at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.statCurrSnapshot(CompositeMonitors.java:505) at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.configureEndDeltas(CompositeMonitors.java:425) at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.finish(CompositeMonitors.java:394) at com.liquid.poros.protwo.business.trace.MatrixKit.batteryFinish(MatrixKit.kt:74) at com.liquid.poros.protwo.business.main.viewmodel.MainViewModel.finishBattery(MainViewModel.kt:376) at com.liquid.poros.protwo.business.main.MainActivity.onPause(MainActivity.kt:1103) at android.app.Activity.performPause(Activity.java:8615) at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1552) at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:5817) at android.app.ActivityThread.performPauseActivity(ActivityThread.java:5776) at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:5716) at android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:47) at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:190) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:105) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2692) at com.didichuxing.doraemonkit.kit.timecounter.instrumentation.ProxyHandlerCallback.handleMessage(ProxyHandlerCallback.java:44) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loopOnce(Looper.java:206) at android.os.Looper.loop(Looper.java:296) at android.app.ActivityThread.main(ActivityThread.java:9000) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:976) Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) at libcore.io.Linux.open(Native Method) at libcore.io.ForwardingOs.open(ForwardingOs.java:567) at libcore.io.BlockGuardOs.open(BlockGuardOs.java:273) at libcore.io.ForwardingOs.open(ForwardingOs.java:567) at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8836) at libcore.io.IoBridge.open(IoBridge.java:561) at java.io.RandomAccessFile.(RandomAccessFile.java:289)  at java.io.RandomAccessFile.(RandomAccessFile.java:152)  at com.tencent.matrix.batterycanary.utils.BatteryCanaryUtil.cat(BatteryCanaryUtil.java:414)  at com.tencent.matrix.batterycanary.utils.ProcStatUtil.parse(ProcStatUtil.java:93)  at com.tencent.matrix.batterycanary.utils.ProcStatUtil.of(ProcStatUtil.java:67)  at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$ProcessInfo$ThreadInfo.loadProcStat(JiffiesMonitorFeature.java:220)  at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$JiffiesSnapshot$ThreadJiffiesSnapshot.parseThreadJiffies(JiffiesMonitorFeature.java:384)  at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$JiffiesSnapshot.currentJiffiesSnapshot(JiffiesMonitorFeature.java:265)  at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature.currentJiffiesSnapshot(JiffiesMonitorFeature.java:91)  at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.statCurrSnapshot(CompositeMonitors.java:505)  at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.configureEndDeltas(CompositeMonitors.java:425)  at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.finish(CompositeMonitors.java:394)  at com.liquid.poros.protwo.business.trace.MatrixKit.batteryFinish(MatrixKit.kt:74)  at com.liquid.poros.protwo.business.main.viewmodel.MainViewModel.finishBattery(MainViewModel.kt:376)  at com.liquid.poros.protwo.business.main.MainActivity.onPause(MainActivity.kt:1103)  at android.app.Activity.performPause(Activity.java:8615)  at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1552)  at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:5817)  at android.app.ActivityThread.performPauseActivity(ActivityThread.java:5776)  at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:5716)  at android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:47)  at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)  at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:190)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:105)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2692)  at com.didichuxing.doraemonkit.kit.timecounter.instrumentation.ProxyHandlerCallback.handleMessage(ProxyHandlerCallback.java:44)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loopOnce(Looper.java:206)  at android.os.Looper.loop(Looper.java:296)  at android.app.ActivityThread.main(ActivityThread.java:9000)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:976)  2023-10-30 20:50:30.212 27278-27278 Matrix.battery.Utils com.liquid.poros.pro E cat file fail java.io.FileNotFoundException: /proc/27278/task/28734/stat: open failed: ENOENT (No such file or directory) at libcore.io.IoBridge.open(IoBridge.java:575) at java.io.RandomAccessFile.(RandomAccessFile.java:289) at java.io.RandomAccessFile.(RandomAccessFile.java:152) at com.tencent.matrix.batterycanary.utils.BatteryCanaryUtil.cat(BatteryCanaryUtil.java:414) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$ProcessInfo$ThreadInfo.loadProcStat(JiffiesMonitorFeature.java:226) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$JiffiesSnapshot$ThreadJiffiesSnapshot.parseThreadJiffies(JiffiesMonitorFeature.java:384) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature$JiffiesSnapshot.currentJiffiesSnapshot(JiffiesMonitorFeature.java:265) at com.tencent.matrix.batterycanary.monitor.feature.JiffiesMonitorFeature.currentJiffiesSnapshot(JiffiesMonitorFeature.java:91) at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.statCurrSnapshot(CompositeMonitors.java:505) at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.configureEndDeltas(CompositeMonitors.java:425) at com.tencent.matrix.batterycanary.monitor.feature.CompositeMonitors.finish(CompositeMonitors.java:394)