<?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>BUS Fault on BLE connection</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/129270/bus-fault-on-ble-connection</link><description>I have dev kit nRf54LM20 - DK with specs: PCA10184 0.7.0 2026.12 1051821506 I am using 3.3.0 SDK. When I run peripheral sample project from NCS 3.3.0 it works completely fine. But using my custom project, whenever I try to make a connection with LightBlue</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 24 Sep 2026 16:47:30 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/129270/bus-fault-on-ble-connection" /><item><title>RE: BUS Fault on BLE connection</title><link>https://devzone.nordicsemi.com/thread/571566?ContentTypeID=1</link><pubDate>Thu, 24 Sep 2026 16:47:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93297d1b-65f9-4666-a630-684386bb9c72</guid><dc:creator>reavertm</dc:creator><description>&lt;p&gt;Whenever I was having crash during connection, it was usually due to memory corruption. And often here:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;
static atomic_ptr_t buf_rx_freed_cb;

static void buf_rx_freed_notify(enum bt_buf_type mask)
{
	bt_buf_rx_freed_cb_t cb;
	bool in_isr = k_is_in_isr();

	if (!in_isr) {
		k_sched_lock();
	}

	cb = (bt_buf_rx_freed_cb_t)atomic_ptr_get(&amp;amp;buf_rx_freed_cb);

	if (cb != NULL) {
		cb(mask); &amp;lt;-------------------
	}

	if (!in_isr) {
		k_sched_unlock();
	}
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Linker placed buf_rx_freed_cb (which you can inspect in zephyr.map) after some static array, and code managing that array was having a bug and was writing outside of array, overwriting this callback pointer with some garbage. In my case either it was broken Segger RTT driver, or my code.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I recommend:&lt;/p&gt;
&lt;p&gt;1. Enable coredump, decode it and check what pointer is being resolved in place where crash happens&lt;/p&gt;
&lt;p&gt;2. If that pointer is statically allocated, inspect zephyr.map to see what code is placed just before it - this is your suspect&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BUS Fault on BLE connection</title><link>https://devzone.nordicsemi.com/thread/571552?ContentTypeID=1</link><pubDate>Thu, 24 Sep 2026 12:59:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ad122f3-e44b-4d98-b556-30d491234c9d</guid><dc:creator>Pallavi Patil</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Can you please&amp;nbsp;&lt;span&gt;find the associated &lt;/span&gt;&lt;code dir="ltr"&gt;.dtsi&lt;/code&gt;&lt;span&gt; file to see the declared RAM base address and size. For nRF54LM20A, the ram starts from &lt;a href="https://nrfconnectdocs.nordicsemi.com/ncs-bm/latest/nrf-bm/boards/memory_layout.html"&gt;0x20000080&lt;/a&gt;&amp;nbsp;while from &amp;nbsp;your logs, it starts at&amp;nbsp;0x2000000. This has 1&amp;nbsp;i missing digit and&amp;nbsp;thus&amp;nbsp;falls far outside that range leading to &amp;nbsp;an invalid/corrupted pointer.&lt;br /&gt;This could be the probable reason.&lt;br /&gt;Can you please fix this issue and let us know if you face more issues.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Pallavi&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>