Blink DCHECK failed: m_thread == currentThread() |
||
Issue descriptionI'm hitting this DCHECK pretty regularly on Android when building with dcheck_always_on. CC-ing some scheduler folks. $git rev-parse HEAD c3b6b5500d7e2b5ad47ced86396c76265f93a690 (ToT on Apr 5) Repro steps: $ cat out/gndroidcomp/args.gn is_component_build = true is_debug = false dcheck_always_on = true target_os = "android" ninja chrome_public_apk adb install ... build/android/adb_run_chrome_public http://edition.cnn.com I/DEBUG ( 195): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- I/DEBUG ( 195): Abort message: '[FATAL:Timer.cpp(121)] Check failed: m_thread == currentThread() (0 vs. 5160)Timer posted by runAsync ../../third_party/WebKit/Source/platform/AsyncMethodRunner.h was run on a different thread I/DEBUG ( 195): #00 0xa5452113 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so+0x0007f113 I/DEBUG ( 195): #01 0xa35cfb0d /data/app/org.chromium.chrome-1/lib/arm/libblink_platform.cr.so+0x000b7b0d I/DEBUG ( 195): #02 0xa35cfbf9 /data/app/org.chromium.chrome-1/lib/arm/libblink_platform.cr.so+0x000b7bf9 I/DEBUG ( 195): #03 0xa2849b79 /data/app/org.chromium.chro I/DEBUG ( 195): r0 00000000 r1 00001428 r2 00000006 r3 00000000 I/DEBUG ( 195): r4 a57f5dd8 r5 00000006 r6 0000000e r7 0000010c I/DEBUG ( 195): r8 b6ea6dd4 r9 a57f4cfc sl 00000000 fp 0000000a I/DEBUG ( 195): ip 00001428 sp a57f46f8 lr b6e62989 pc b6e87fdc cpsr 600f0010 I/DEBUG ( 195): I/DEBUG ( 195): backtrace: I/DEBUG ( 195): #00 pc 0003bfdc /system/lib/libc.so (tgkill+12) I/DEBUG ( 195): #01 pc 00016985 /system/lib/libc.so (pthread_kill+52) I/DEBUG ( 195): #02 pc 00017597 /system/lib/libc.so (raise+10) I/DEBUG ( 195): #03 pc 00013d3d /system/lib/libc.so (__libc_android_abort+36) I/DEBUG ( 195): #04 pc 000124ec /system/lib/libc.so (abort+4) I/DEBUG ( 195): #05 pc 0006dd39 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::debug::BreakDebugger()+20) I/DEBUG ( 195): #06 pc 0007f17f /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (logging::LogMessage::~LogMessage()+738) I/DEBUG ( 195): #07 pc 000b7b0b /data/app/org.chromium.chrome-1/lib/arm/libblink_platform.cr.so (blink::TimerBase::runInternal()+250) I/DEBUG ( 195): #08 pc 000b7bf7 /data/app/org.chromium.chrome-1/lib/arm/libblink_platform.cr.so I/DEBUG ( 195): #09 pc 00021b79 /data/app/org.chromium.chrome-1/lib/arm/libscheduler.cr.so I/DEBUG ( 195): #10 pc 0006e565 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&)+116) I/DEBUG ( 195): #11 pc 0001b12f /data/app/org.chromium.chrome-1/lib/arm/libscheduler.cr.so (scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(scheduler::internal::WorkQueue*, scheduler::internal::TaskQueueImpl::Task*)+614) I/DEBUG ( 195): #12 pc 0001b3dd /data/app/org.chromium.chrome-1/lib/arm/libscheduler.cr.so (scheduler::TaskQueueManager::DoWork(base::TimeTicks, bool)+444) I/DEBUG ( 195): #13 pc 00019d2f /data/app/org.chromium.chrome-1/lib/arm/libscheduler.cr.so I/DEBUG ( 195): #14 pc 0006e565 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&)+116) I/DEBUG ( 195): #15 pc 0008558d /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::MessageLoop::RunTask(base::PendingTask const&)+124) I/DEBUG ( 195): #16 pc 00085887 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)+130) I/DEBUG ( 195): #17 pc 0008592f /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::MessageLoop::DoWork()+138) I/DEBUG ( 195): #18 pc 00087983 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::MessagePumpDefault::Run(base::MessagePump::Delegate*)+50) I/DEBUG ( 195): #19 pc 00086b85 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::MessageLoop::RunHandler()+84) I/DEBUG ( 195): #20 pc 0009da39 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::RunLoop::Run()+32) I/DEBUG ( 195): #21 pc 00084ec5 /data/app/org.chromium.chrome-1/lib/arm/libbase.cr.so (base::MessageLoop::Run()+28) I/DEBUG ( 195): #22 pc 009e8d09 /data/app/org.chromium.chrome-1/lib/arm/libcontent.cr.so I/DEBUG ( 195): #23 pc 00a54207 /data/app/org.chromium.chrome-1/lib/arm/libcontent.cr.so I/DEBUG ( 195): #24 pc 00a54345 /data/app/org.chromium.chrome-1/lib/arm/libcontent.cr.so I/DEBUG ( 195): #25 pc 00a53bdd /data/app/org.chromium.chrome-1/lib/arm/libcontent.cr.so (Java_org_chromium_content_app_ContentMain_nativeStart+228) I/DEBUG ( 195): #26 pc 0029ead5 /data/dalvik-cache/arm/data@app@org.chromium.chrome-1@base.apk@classes.dex
,
Apr 5 2016
I don't seem able to repro this anymore (and I don't have the time anymore to be honest). I wonder whether this was some side effect of a weird state of my build directory.
,
Apr 5 2016
Ok I think I know, this was caused by me setting tweaking blink's Assertions.h and removing the !defined(DCHECK_ALWAYS_ON) part from ---- #ifndef ENABLE_ASSERT #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) ----- This was an attempt to have dheck_always_on=true only in chrome and not in blink. I think that the post-mortem is: there is some code that relies that both blink and chrome have DCHECKs on, and if you disable only one of the two (blink in my case) bad things happen.
,
Apr 5 2016
Interesting, thanks for digging out the root cause. |
||
►
Sign in to add a comment |
||
Comment 1 by skyos...@chromium.org
, Apr 5 2016