<blockquote>
<p>I cannot reproduce the panic on master, however sometimes I don't get any ping reply there and the device seems to be stuck - a reset helps.</p>
</blockquote>
<p>IMHO, the exception occurs only when the network load increases a lot. Problem 3 in issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="402954378" data-permission-text="Issue title is private" data-url="https://github.com/RIOT-OS/RIOT/issues/10861" data-hovercard-type="issue" data-hovercard-url="/RIOT-OS/RIOT/issues/10861/hovercard" href="https://github.com/RIOT-OS/RIOT/issues/10861">#10861</a> describes it. I couldn't observe this exception when I used normal network load pinging from thee nodes:</p>
<pre><code>term1> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s1392 -i 0
term2> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s512 -i 0
term3> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s52 -i 0
</code></pre>
<p>Probably, the exception is caused due an interrupt where interrupts shouldn't be allowed. It is quite possible that the exception is caused by the SDK. It is pretty well known that the SDK is very buggy. There are a lot of discussions in the network where several crashes for WiFi are described.</p>
<p>My guess is that the problem does not occur in <code>master</code> since it slows down the communication. Function <code>_esp_wifi_recv_cb</code> checks whether the internal buffer is occupied. If so, it drops the incoming frame. <a href="https://github.com/RIOT-OS/RIOT/blob/8984a9b80c4751b4826821944d236a190fd9b6bb/cpu/esp8266/esp-wifi/esp_wifi_netdev.c#L199-L207">https://github.com/RIOT-OS/RIOT/blob/8984a9b80c4751b4826821944d236a190fd9b6bb/cpu/esp8266/esp-wifi/esp_wifi_netdev.c#L199-L207</a> What I could observe is that this <em>dropping</em> happens quite often on heavy network load due the asynchronous handling of frames using the <code>NETDEV_EVENT_ISR</code> approach. On heavy network load, <code>ets</code> thread provides the next frame before the <code>gnrc_netif</code> thread <code>esp_wifi</code> is scheduled. In worst case, every second frame is dropped.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/RIOT-OS/RIOT/pull/10862#issuecomment-457554989">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AEn7YB60LO7PVEQ9w7jJNM3kyHQyBdDBks5vGvUsgaJpZM4aR_rA">mute the thread</a>.<img src="https://github.com/notifications/beacon/AEn7YFmodoNCa_CI3VtUY5N51-KwzUjWks5vGvUsgaJpZM4aR_rA.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/RIOT-OS/RIOT","title":"RIOT-OS/RIOT","subtitle":"GitHub repository","main_image_url":"https://github.githubassets.com/images/email/message_cards/header.png","avatar_image_url":"https://github.githubassets.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/RIOT-OS/RIOT"}},"updates":{"snippets":[{"icon":"PERSON","message":"@gschorcht in #10862: \u003e I cannot reproduce the panic on master, however sometimes I don't get any ping reply there and the device seems to be stuck - a reset helps.\r\n\r\nIMHO, the exception occurs only when the network load increases a lot. Problem 3 in issue #10861 describes it. I couldn't observe this exception when I used normal network load pinging from thee nodes:\r\n```\r\nterm1\u003e sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s1392 -i 0\r\nterm2\u003e sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s512 -i 0\r\nterm3\u003e sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s52 -i 0\r\n```\r\nProbably, the exception is caused due an interrupt where interrupts shouldn't be allowed. It is quite possible that the exception is caused by the SDK. It is pretty well known that the SDK is very buggy. There are a lot of discussions in the network where several crashes for WiFi are described.\r\n\r\nMy guess is that the problem does not occur in `master` since it slows down the communication. Function `_esp_wifi_recv_cb` checks whether the internal buffer is occupied. If so, it drops the incoming frame. https://github.com/RIOT-OS/RIOT/blob/8984a9b80c4751b4826821944d236a190fd9b6bb/cpu/esp8266/esp-wifi/esp_wifi_netdev.c#L199-L207 What I could observe is that this _dropping_ happens quite often on heavy network load due the asynchronous handling of frames using the `NETDEV_EVENT_ISR` approach. On heavy network load, `ets` thread provides the next frame before the `gnrc_netif` thread `esp_wifi` is scheduled. In worst case, every second frame is dropped."}],"action":{"name":"View Pull Request","url":"https://github.com/RIOT-OS/RIOT/pull/10862#issuecomment-457554989"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/RIOT-OS/RIOT/pull/10862#issuecomment-457554989",
"url": "https://github.com/RIOT-OS/RIOT/pull/10862#issuecomment-457554989",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>