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