lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] illegal RTOS API call from ethernet receive interrupt


From: Peter Ruesch
Subject: [lwip-users] illegal RTOS API call from ethernet receive interrupt
Date: Thu, 19 Nov 2015 14:20:58 +0000

Hello,

 

I’m doing some tests with lwip (1.4.1) and FreeRTOS (8.2.1) on a Kinetis K65 device.

From the beginning was able to ping the target reliably. For some performance tests I added the lwiperf server from the mainline repo.

 

I noticed, that if I was continuously pinging the target and ran a iperf test in parallel, the system stopped responding. When I halted the program execution, I was finding the program stuck in FreeRTOS runtime assertion triggered, (at least in understanding) because I was calling FreeRTOS API functions from within the Ethernet receive interrupt context.

 

This (presumably) illegal call to the API function happens because of a mutex guarded malloc. This does not exactly seem wrong. But it leads to this “stuck in assertion” problem.

 

I have uploaded the stacktrace as screenshot.

http://postimg.org/image/bb94dm4nj/

 

if I alter the RTOS settings so that the assertion is not active anymore, I can run iperf and ping in parallel for hours.

Why does this RTOS API function need to be called from within the receive interrupt?

 

Best regards

Peter

 




--
Hella Gutmann Solutions GmbH * Unternehmensform: Gesellschaft mit beschraenkter Haftung *
Firmensitz: 79241 Ihringen * Eingetragen im Handelsregister: AG Freiburg i.Br., HRB 290194 *
Geschaeftsfuehrer: Alfred Mayer, Bjoern Rietschel * USt-IdNr.: DE142208666

Attachment: lwip_interrupt_sema_take.png
Description: lwip_interrupt_sema_take.png


reply via email to

[Prev in Thread] Current Thread [Next in Thread]