Similar to bug 781838
We have over a million reports of this:
(gdb) bt
#0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1 0xecf725b2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#2 0xecf7337a in __GI_abort () at abort.c:89
#3 0xed1408c6 in base::debug::BreakDebugger() () from /build/kevin/usr/lib/libbase-core-395517.so
#4 0xed1570f8 in logging::LogMessage::~LogMessage() () from /build/kevin/usr/lib/libbase-core-395517.so
#5 0xed157254 in logging::ErrnoLogMessage::~ErrnoLogMessage() () from /build/kevin/usr/lib/libbase-core-395517.so
#6 0x0d247138 in RunCommand (command=0xd248681 "ectool", arg=0x0)
at ../../../../../../../../../../mnt/host/source/src/platform2/power_manager/powerd/powerd_setuid_helper.cc:51
#7 0x0d2478a2 in main (argc=<optimized out>, argv=0xff90cf24)
at ../../../../../../../../../../mnt/host/source/src/platform2/power_manager/powerd/powerd_setuid_helper.cc:109
https://crash.corp.google.com/browse?q=product.name%3D%27ChromeOS%27%20AND%20EXISTS%20(SELECT%201%20FROM%20UNNEST(productdata)%20WHERE%20Key%3D%27exec_name%27%20AND%20Value%3D%27set_wifi_transmit_power%27)%20AND%20expanded_custom_data.ChromeCrashProto.magic_signature_1.name%3D%27base%3A%3Adebug%3A%3ABreakDebugger%27&stbtiq=&reportid=&index=0
I've traces several local instances of this down to the set_wifi_transmit_power tool again, except this time the failures get blamed on the caller (our setuid_helper). This is because set_wifi_transmit_power is returning errors for well-known "failure" cases. e.g. if powerd starts before the driver finishes loading; or if the Wifi driver crashes, then future tablet mode transitions won't have any driver to touch.
It's trivial to see this by, e.g., rmmod mwifiex_pcie; restart powerd or similar.
I've started on
(a) removing the failure exit code from set_wifi_transmit_power
(b) helping direct the logging for this into /var/log/power_manager/powerd.LATEST -- currently, this stuff gets lost in the ether, so we *only* get an indication of failures here by seeing the CHECK() assertions dump out crash reports
Comment 1 by derat@chromium.org
, Apr 13 2018