kernel BUG at kernel/sched/rt.c:1021!
时间: 2023-12-28 07:04:00 浏览: 38
这条日志信息表明内核发生了一个BUG,位置在`kernel/sched/rt.c`文件的第1021行。具体来说,这里指的是实时调度器(Real-time Scheduler)的代码位置,可能是由于调度器的一个错误导致了内核崩溃。
这种情况下,可以尝试重新编译内核,或者更新内核版本。如果问题仍然存在,可能需要通过分析内核转储(kernel dump)来确定问题的原因。内核转储是内核崩溃时自动生成的一个文件,其中包含了关于崩溃时内核的状态信息,可以用于分析问题。
需要注意的是,这种情况下可能需要更高级的技能和工具来进行调试和修复,建议请有经验的开发人员或系统管理员处理。
相关问题
2023-06-09 21:14:33.101 15746-16661/? A/k_101:Plugin11: runtime.cc:655] Runtime aborting... runtime.cc:655] Dumping all threads without mutator lock held runtime.cc:655] All threads: runtime.cc:655] DALVIK THREADS (35): runtime.cc:655] "pool-3-thread-1" prio=5 tid=6 Runnable runtime.cc:655] | group="" sCount=0 dsCount=0 flags=0 obj=0x1309c630 self=0x6fe31c7c00 runtime.cc:655] | sysTid=16673 nice=0 cgrp=default sched=0/0 handle=0x6fe4103cc0 runtime.cc:655] | state=R schedstat=( 53952282 7176826 73 ) utm=3 stm=1 core=1 HZ=100 runtime.cc:655] | stack=0x6fe4000000-0x6fe4002000 stackSize=1043KB runtime.cc:655] | held mutexes= "mutator lock"(shared held) runtime.cc:655] native: #00 pc 000000000047a158 /apex/com.android.art/lib64/libart.so!libart.so (offset 1ed000) (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+140) runtime.cc:655] native: #01 pc 000000000057f4bc /apex/com.android.art/lib64/libart.so!libart.so (offset 1ed000) (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+404) runtime.cc:655] native: #02 pc 000000000059c308 /apex/com.android.art/lib64/libart.so!libart.so (offset 1ed000) (art::DumpCheckpoint::Run(art::Thread*)+924) runtime.cc:655] native: #03 pc 0000000000580198 /apex/com.android.art/lib64/libart.so!libart.so (offset 1ed000) (art::Thread::RunCheckpointFunction()+176) runtime.cc:655] native: #04 pc 000000000061f890 /apex/com.android.art/lib64/libart.so!libart.so (offset 1ed000) (artTestSuspendFromCode+68) runtime.cc:655] native: #05 pc 000000000013c91c /apex/com.android.art/lib64/libart.so (art_quick_test_suspend+156) runtime.cc:655] at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:944) runtime.cc:655] at magic.g.b(JSON.java:1304) com.alibaba.fastjson.JSON -> magic.g:
这段日志是 Android 运行时环境 (ART) 报告了一个运行时中止 (Runtime aborting) 的情况,并尝试在没有 mutator lock 的情况下转储所有线程。在转储线程时,它显示了每个线程的状态、优先级、堆栈跟踪、持有的锁等信息。日志的最后一行显示了似乎是某个库文件的调用堆栈,但我无法确定这个信息对您是否有用。如果您有更多的上下文信息或问题,请提供给我。
java.lang.IllegalStateException: Timer already cancelled. at java.util.Timer.sched(Timer.java:397) at java.util.Timer.schedule(Timer.java:193)
这个错误是由于 Timer 对象已经被取消了,但是还在尝试执行调度任务。这通常发生在 Timer 对象已经被取消,但是仍然在计划执行任务的情况下。
为了解决这个问题,你需要确保在 Timer 对象被取消后,不再尝试执行任务。你可以在调用 Timer 的 cancel() 方法后,使用 purge() 方法来清除所有已取消的任务。或者,在调用 schedule() 方法之前,先检查 Timer 对象的状态,确保它没有被取消。
另外,你也可以考虑使用 ScheduledThreadPoolExecutor 类来替代 Timer 类,因为它提供了更灵活的任务调度机制,可以更好地处理这种情况。