<?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_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/41259/nrf_mesh_assert-when-sending-more-than-8126-messages</link><description>Hi all, 
 I&amp;#39;m currently implementing a Bluetooth Mesh system for testing various network characteristics. 
 I am running some tests were a Nordic Thingy:52 is sending a lot of messages. Unfortunately, after sending 8126 messages, my sending node crashes</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 18 Dec 2018 14:35:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/41259/nrf_mesh_assert-when-sending-more-than-8126-messages" /><item><title>RE: NRF_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/thread/162315?ContentTypeID=1</link><pubDate>Tue, 18 Dec 2018 14:35:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a0bb540-89cf-4199-be96-5e5a70d773fa</guid><dc:creator>Jan</dc:creator><description>&lt;p&gt;That was it! Thank you very much!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/thread/162309?ContentTypeID=1</link><pubDate>Tue, 18 Dec 2018 14:22:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c782143-1d5f-4d9a-9a73-2346b5361c37</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This seems to be a known issue with Mesh SDK v1.0.x. You should be able to solve this by switching two lines of code inside seqnum_block_allocate in net_state.c:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void seqnum_block_allocate(void)
{
    if (!m_seqnum_allocation_in_progress)
    {
        uint32_t next_block = m_net_state.seqnum_max_available + NETWORK_SEQNUM_FLASH_BLOCK_SIZE;
        if (next_block &amp;lt;= NETWORK_SEQNUM_MAX + 1)
        {
            fm_entry_t * p_new_entry = flash_manager_entry_alloc(&amp;amp;m_flash_manager, FLASH_HANDLE_SEQNUM, sizeof(net_flash_data_sequence_number_t));
            if (p_new_entry == NULL)
            {
                /* try again later */
                static fm_mem_listener_t mem_listener = {.callback = flash_mem_available,
                                                        .p_args = seqnum_block_allocate};
                flash_manager_mem_listener_register(&amp;amp;mem_listener);
            }
            else
            {
                p_new_entry-&amp;gt;data[0] = next_block;
            --  flash_manager_entry_commit(p_new_entry);
                m_seqnum_allocation_in_progress = true;
            ++  flash_manager_entry_commit(p_new_entry);
            }
        }
    }
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/thread/162234?ContentTypeID=1</link><pubDate>Tue, 18 Dec 2018 09:41:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c2e021d-8153-471a-b26f-2e8a8bcd3a8f</guid><dc:creator>Jan</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It might be worth adding that my program is adapted from &lt;a href="https://github.com/NordicPlayground/Nordic-Thingy52-mesh-demo"&gt;this&lt;/a&gt;&amp;nbsp;example. Maybe one of the developers of this example can easily point me to the problem.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Jan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/thread/162049?ContentTypeID=1</link><pubDate>Mon, 17 Dec 2018 11:44:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:459fcb63-a783-4184-af74-549a171209cb</guid><dc:creator>Jan</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I just tested it, the NRF_MESH_EVT_TX_COMPLETE happens before sending the new message. Is also happens just as often as I call my send function. It even happens for the very last message that is sent before crashing. So that is not the problem.&lt;/p&gt;
&lt;p&gt;Please let me know what else could be the problem.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you look at my call stack, you can see there are some flash writing actions. I think it has to do something with this but I don&amp;#39;t know what.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/thread/161518?ContentTypeID=1</link><pubDate>Wed, 12 Dec 2018 17:10:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:896a8c61-73e2-4713-a855-5ceaeb8f5119</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Instead of using a delay between each message, you can try waiting for the&amp;nbsp;&lt;span&gt;NRF_MESH_EVT_TX_COMPLETE&amp;nbsp;event before sending your next message. This will at least ensure that the buffer won&amp;#39;t fill up. Can you see if this solves this or makes any difference?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/thread/161126?ContentTypeID=1</link><pubDate>Tue, 11 Dec 2018 08:32:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab54d318-a683-4050-a409-4ad43bb3ab96</guid><dc:creator>Jan</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It does not get to app_error_fault_handler (does not show up in the call stack). After the NRF_MESH_ASSERT (last picture) it goes straight to the default_mesh_assertion_handler and then sleeps forever.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It seems that the programming is saving every message I send and then fails when it exceeds some value. How can I clear or expand this queue/memory block?&lt;/p&gt;
&lt;p&gt;I have looked at some defines at nrf_mesh_config_core.h but could not find anything yet.&lt;/p&gt;
&lt;p&gt;Hope you can help me.&lt;/p&gt;
&lt;p&gt;Jan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF_MESH_ASSERT when sending more than 8126 messages.</title><link>https://devzone.nordicsemi.com/thread/160976?ContentTypeID=1</link><pubDate>Mon, 10 Dec 2018 12:28:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:399bcf03-d804-49a5-b54d-93aaddfd00e3</guid><dc:creator>Mttrinh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you try to debug the code? Set a breakpoint at app_error_fault_handler and see what error code you get.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>