ODP: Issue when log2, printk and assert together

Chruściński, Krzysztof


just tried it in hello_world and it compiles fine with configuration you've provided. Can you make sure that CBPRINTF_STATIC_PACKAGE_CHECK_ALIGNMENT is not set (it should be disabled by CONFIG_LOG_PRINTK).


Od: Srinivasan Tamilarasan <Srinivasan.Tamilarasan@...>
Wysłane: piątek, 23 lipca 2021 08:16
Do: Chruściński, Krzysztof <Krzysztof.Chruscinski@...>; devel@... <devel@...>
Temat: RE: Issue when log2, printk and assert together


I have cherry picked below 2 commits to zephyr2.6 branch and build it.


Then I have included the macros CONFIG_LOG=y , CONFIG_LOG2_MODE_DEFERRED=y, CONFIG_LOG_PRINTK=y and CONFIG_ASSERT=y. Then the build error got resolved and got below warning,

__ASSERT() statements are globally ENABLED



After that I have added below statement in my application,

__ASSERT(0, "ERRROR:Line:%d,File:%s\n", line, file);


Then again I am getting build error same like before the fix.


Is this issue completely resolved in the rtos? If it is any other commits do I need to take to resolve this issue?





From: Srinivasan Tamilarasan
Sent: 21 July 2021 06:07 PM
To: 'Chruściński, Krzysztof' <Krzysztof.Chruscinski@...>; devel@...
Subject: RE: Issue when log2, printk and assert together



Good. It is got fixed now.


Thank you for the response.





From: Chruściński, Krzysztof <Krzysztof.Chruscinski@...>
Sent: 21 July 2021 05:56 PM
To: devel@...; Srinivasan Tamilarasan <Srinivasan.Tamilarasan@...>
Subject: ODP: Issue when log2, printk and assert together


[External Email]: This email arrived from an external source - Please exercise caution when opening any attachments or clicking on links.



good timing. Fix for that has been merged 40 minutes ago: https://github.com/zephyrproject-rtos/zephyr/pull/36883

When printk is redirected to logging (CONFIG_LOG_PRINTK) then printk.h includes log_msg2.h which includes cbprintf_internal.h which includes __assert.h which includes printk.h. Fixing it by adding compile time switches for including and using asserts in cbprintf and forcing to not use them when LOG_PRINTK is set. Fixes #36486.






Od: devel@... <devel@...> w imieniu użytkownika Srinivasan Tamilarasan via lists.zephyrproject.org <srinivasan.tamilarasan=onsemi.com@...>
Wysłane: środa, 21 lipca 2021 14:23
Do: devel@... <devel@...>
Temat: [Zephyr-devel] Issue when log2, printk and assert together


Hi all,

When enable CONFIG_LOG2_MODE_DEFERRED=y, CONFIG_LOG_PRINTK=y and CONFIG_ASSERT=y flag. I am getting the build error even there is no log/assert messages are used.


PFA of cmake error log.


But when I change to old method CONFIG_LOG_MODE_DEFERRED=y then there is no build error.


Can anyone help me to resolve this error?


Idea is I need to use both assert and log together in the same project and printk messages needs to route via logging subsystem.




Join devel@lists.zephyrproject.org to automatically receive all group messages.