Re: Issue when log2, printk and assert together


Srinivasan Tamilarasan
 

Hi,

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?

 

Regards,

Srinivasan

 

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

 

Hi,

Good. It is got fixed now.

 

Thank you for the response.

 

Regards,

Srinivasan

 

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.

Hi,

 

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.

github.com

 

 

regards,

Krzysztof


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.

 

Regards,

Srinivasan

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