FreeRTOS 8.2.3 FreeTCPIP: webserver packet corruption with concurrent accesses

Hi! I have a Renesas RX62n controller running FreeRTOS 8.2.3. I use FreeTCPIP/httpd to run a webserver on it. When I produce heavy/concurrent load, I from time to time see that the packets get corrupted (I for example sometines see corrupted pictures when I access the webserver with Internet Explorer). I can also reproduce this problem with running two instances of curl in parallel on my Linux machine, that repeatedly access different files on my target. I would like to trace it, but first wanted to ask, if someone knows about such a problem? Thanks & best regards, Stephan

FreeRTOS 8.2.3 FreeTCPIP: webserver packet corruption with concurrent accesses

This is not something I have seen myself. What are the files hosted on (RAM disk? SD card?)? Which file system are you using – and is it thread safe?

FreeRTOS 8.2.3 FreeTCPIP: webserver packet corruption with concurrent accesses

Hi! It is the code from folders Demo/Common/ethernet/FreeTCPIP/apps/httpd and RX600RX62N-RDKGNURX/RTOSDemo/webserver, so the files are in httpd-fsdata.c. Thanks, Stephan

FreeRTOS 8.2.3 FreeTCPIP: webserver packet corruption with concurrent accesses

Ah right – my mistake, I thought you were using the FreeRTOS+TCP stack (http://www.freertos.org/tcp).

FreeRTOS 8.2.3 FreeTCPIP: webserver packet corruption with concurrent accesses

I just had the idea to search my original RENESAS YRDKRX62N board and give it a try with the original demo code in FreeRTOS. I also can trigger the problem with this code. I run curl twice repeatedly, both loading file logo.jpg, and also accessing the web browser with Internet Explorer. After a while, I get corrupt files. The file lenght is correct, but the contents is bad: COUNTER=0 while true;do curl 192.168.200.169/logo.jpg > logo.jpg 2>log3.txt DIFF=diff logo.jpg logo_orig.jpg if test -n “$DIFF”; then echo -n ERROR echo ${COUNTER} exit 1 fi ((COUNTER=${COUNTER}+1)) echo ${COUNTER} done