<?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>NRF sometimes hangs on dfu initialization (?)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/87482/nrf-sometimes-hangs-on-dfu-initialization</link><description>Hi, 
 I have an issue where sometimes after a restart of our device the nRF hangs on either: ble_dfu_buttonless_async_svci_init() or ble_dfu_buttonless_init(&amp;amp;dfuButtonlessService) I suspect these functions because: 1) On a successful boot I see this in</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 04 May 2022 10:41:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/87482/nrf-sometimes-hangs-on-dfu-initialization" /><item><title>RE: NRF sometimes hangs on dfu initialization (?)</title><link>https://devzone.nordicsemi.com/thread/366166?ContentTypeID=1</link><pubDate>Wed, 04 May 2022 10:41:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:220409fa-6be6-416c-9344-22ec0c091f17</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am glad to hear you have validated the fix in your product. I agree that this can be a serious bug that should be fixed. Unfortunately it was filed with some key tags missing in our internal bug tracker system, which I believe is why it was not fixed before. I have updated the internal ticket so that this will show up when considering fixes for a potential future bugfix release of the nRF5 SDK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF sometimes hangs on dfu initialization (?)</title><link>https://devzone.nordicsemi.com/thread/366162?ContentTypeID=1</link><pubDate>Wed, 04 May 2022 10:27:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01c0ff43-78ef-4767-ad63-a326949aa10e</guid><dc:creator>Jur</dc:creator><description>&lt;p&gt;Hi Einar,&lt;br /&gt;&lt;br /&gt;It looks like the fix is actually working! I have tried really hard but could not reproduce the issue anymore after applying the patch. Can I ask why this is not fixed in the latest version of the SDK? In my opinion this is a really nasty bug:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It only triggers in certain situations (we missed it in testing)&lt;/li&gt;
&lt;li&gt;It completely crashes the nRF (watchdog cant rescue you)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also the fix does not seem complicated at all and an example is already written.&lt;br /&gt;&lt;br /&gt;Thanks a lot for including the information about debugging with the SoftDevice! I was not aware of this and am ready to have some fun with GDB again!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF sometimes hangs on dfu initialization (?)</title><link>https://devzone.nordicsemi.com/thread/366039?ContentTypeID=1</link><pubDate>Tue, 03 May 2022 15:04:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4936353e-2942-48ca-ae99-8a4c2e7280db</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I believe threads you have found are relevant, including the fix in the original post &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/38139/dfu-svci-initialisation-missing-critical-section"&gt;here&lt;/a&gt;. This is&amp;nbsp;unfortunately still an issue even in nRF5 SDK 17.1.0.&lt;/p&gt;
&lt;p&gt;(Note that you can debug even if you have a SoftDevice. The &amp;quot;only&amp;quot; issue is that if you continue after a breakpoint or pause, the SoftDevice will assert. So instead of for&amp;nbsp;instance stepping you need to set a breakpoint and let it run to that. If you want to step further you instead of stepping move the breakpoint and reset so that execution goes a bit further next time. This can be somewhat annoying but you can get the same information this way in most cases.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>