Kernel Is Still In Debug Phase !!!


Berci

Members
Aug 3, 2016
61
20
Today i checked the kernel log of my device and descovered this part:

[ 0.011724] **********************************************************
[ 0.011735] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.011742] ** **
[ 0.011749] ** trace_printk() being used. Allocating extra memory. **
[ 0.011756] ** **
[ 0.011762] ** This means that this is a DEBUG kernel and it is **
[ 0.011769] ** unsafe for produciton use. **
[ 0.011775] ** **
[ 0.011781] ** If you see this message and you are not debugging **
[ 0.011788] ** the kernel, report this immediately to your vendor! **
[ 0.011794] ** **
[ 0.011800] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.011807] **********************************************************

You can check also yours ,i used "Sys log" : https://play.google.com/store/apps/details?id=com.tortel.syslog&hl=en

This is why our devices somethimes go crazy !
I atached my recorded log , just for those who are interested!

Luckily there are a few devices with same CPU and same specs , so eventually the dev's or teams like ResurectionRemix and CM will make a stable kernel for us!
 

Attachments

  • 2016-11-22_10.40.zip
    26 KB · Views: 398
Last edited:
I think this is kind of a big deal... Syslog requires root, so I can't check on my Redmi 3S (8.1.2.0 stable) or Mi 5 (8.1.3.0 stable) as I haven't rooted either of them...

Maybe it's not a problem affecting all devices and all versions of MIUI... Or maybe it is... Perhaps other folks with rooted phones can check theirs?
 
Still present in 8.5.3.0 on Mi 5S.

[ 0.010648] **********************************************************
[ 0.010659] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.010663] ** **
[ 0.010667] ** trace_printk() being used. Allocating extra memory. **
[ 0.010671] ** **
[ 0.010675] ** This means that this is a DEBUG kernel and it is **
[ 0.010678] ** unsafe for produciton use. **
[ 0.010682] ** **
[ 0.010686] ** If you see this message and you are not debugging **
[ 0.010690] ** the kernel, report this immediately to your vendor! **
[ 0.010694] ** **
[ 0.010697] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.010701] **********************************************************
 
  • Like
Reactions: Berci
I found this forum.xda-developers.com/mi-5/help/kernel-warning-t3386142
this is what the author of trace_printk() says:
trace_printk() is used to debug fast paths within the kernel. Places
that gets called in any context (interrupt or NMI) or thousands of
times a second. Something you do not want to do with a printk().

In order to make it completely lockless as it needs a temporary buffer
to handle some of the string formatting, a page is created per cpu for
every context (four per cpu; normal, softirq, irq, NMI).

Since trace_printk() should only be used for debugging purposes,
there's no reason to waste memory on these buffers on a production
system. That means, trace_printk() should never be used unless a
developer is debugging their kernel. There's macro magic to allocate
the buffers if trace_printk() is used anywhere in the kernel.

To help enforce that trace_printk() isn't used outside of development,
when it is used, a nasty banner is displayed on bootup (or when a module
is loaded that uses trace_printk() and the kernel core does not).