<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Assertion failed in src/rem.c line 1371</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/35294/assertion-failed-in-src-rem-c-line-1371</link><description>SDK: 10.0.0 
 Softdevice: s110_nrf51_8.0.0 
 
 I&amp;#39;m working on migrating our application from SDK v9 to v10. I&amp;#39;m getting a softdevice assertion failure in src/rem.c line 1371 reproducably at a certain point during the application&amp;#39;s startup. Could I have</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sun, 24 Jun 2018 21:02:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/35294/assertion-failed-in-src-rem-c-line-1371" /><item><title>RE: Assertion failed in src/rem.c line 1371</title><link>https://devzone.nordicsemi.com/thread/137342?ContentTypeID=1</link><pubDate>Sun, 24 Jun 2018 21:02:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d6b1cf9c-3fde-45de-9f8e-e9392582de12</guid><dc:creator>Henry Choi</dc:creator><description>&lt;p&gt;Hi Terje, I just ran into this assertion also. &amp;nbsp;SDKv10 s110 on nRF dongle. &amp;nbsp;Unlike Miek, all my interrupts are at APP_LOW (3), so the root cause must not be the same. &amp;nbsp;Can you please tell me if there is a callback that the SD will call before and after running (so that I can light up the LED for the duration and measure on the&amp;nbsp;scope)? &amp;nbsp;I made only a slight modication to the ble_app_uart example (which ran fine without modification): In my main loop,&amp;nbsp;I am not sleeping (checking the UART FIFO I setup and flushing that with nerf_drv_uart_tx() in a blocking call. &amp;nbsp;Even if it is a blocking call, all the interrupts are using APP_IRQ_PRIORITY_LOW, so I can&amp;#39;t imagine what&amp;#39;s wrong. &amp;nbsp;I have to see why SD is getting starved out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assertion failed in src/rem.c line 1371</title><link>https://devzone.nordicsemi.com/thread/135633?ContentTypeID=1</link><pubDate>Mon, 11 Jun 2018 17:49:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa444c94-0dfe-47cf-b6fa-6a7046319fb7</guid><dc:creator>Miek</dc:creator><description>&lt;p&gt;It turned out we had inadvertently set SPI interrupts to priority 0, so we were causing the softdevice to miss its timing constaints when there was a lot of SPI traffic. We&amp;#39;ve set that back to low priority and are no longer getting any failed assertions.&lt;/p&gt;
&lt;p&gt;Thanks for the help,&lt;/p&gt;
&lt;p&gt;Mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assertion failed in src/rem.c line 1371</title><link>https://devzone.nordicsemi.com/thread/135623?ContentTypeID=1</link><pubDate>Mon, 11 Jun 2018 14:50:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e6f152bc-7665-4164-96e4-5c96298e8ad8</guid><dc:creator>Miek</dc:creator><description>&lt;p&gt;We&amp;#39;re not actually using TIMER0 in our application at all and we&amp;#39;ve got `#define TIMER0_ENABLED 0` in nrf_drv_config.h. Given that, do you have any other ideas for how this could happen?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assertion failed in src/rem.c line 1371</title><link>https://devzone.nordicsemi.com/thread/135618?ContentTypeID=1</link><pubDate>Mon, 11 Jun 2018 14:22:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6407bad9-e751-47be-a780-b098816d4116</guid><dc:creator>Miek</dc:creator><description>&lt;p&gt;I&amp;#39;m only porting to v10 as I think that&amp;#39;s the last version that supports the S110 softdevice. We&amp;#39;re very short on resources so we can&amp;#39;t switch to S130.&lt;/p&gt;
&lt;p&gt;To get the file name and line number, we&amp;#39;re overriding `assert_nrf_callback` and logging the error:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void assert_nrf_callback(uint16_t line_num, const uint8_t * p_file_name)
{
    error(&amp;quot;Assertion failed at %s, line %d&amp;quot;, p_file_name, line_num);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Thanks for the extra info, I&amp;#39;ll go do some more debugging.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Assertion failed in src/rem.c line 1371</title><link>https://devzone.nordicsemi.com/thread/135602?ContentTypeID=1</link><pubDate>Mon, 11 Jun 2018 13:28:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f453b7f0-8c32-4429-9e6c-cbfe598e9aca</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;First I must ask why you are porting from SDK v9 to SDK v10. When you are first in the process of porting the code base, why not go all the way to the newest SDK release supporting the nRF51 series, namely nRF5 SDK v12.3.0?&lt;/p&gt;
&lt;p&gt;I am also curious how you got the file name and line number for the SoftDevice assert. Usually all we get reported is the pc for the assert. I am not aware of any publicly available assert tables or elf files, but I might be wrong of course.&lt;/p&gt;
&lt;p&gt;The assert happens if the SoftDevice receives a TIMER0 event at a point where it is not expecting to get one. It is often seen if you are using the timeslot API and timer0, for instance if the interrupt on timer0 is not cleared before returning from the timeslot.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>