New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 600679 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Blink DCHECK failed: m_thread == currentThread()

Project Member Reported by primiano@chromium.org, Apr 5 2016

Issue description

I'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

 
Hmm, gettid() should never return 0, right? I'm not sure how m_thread could be zero otherwise.
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.
Status: WontFix (was: Untriaged)
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.
Interesting, thanks for digging out the root cause.

Sign in to add a comment