lwip-users
[Top][All Lists]
Advanced

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

RE : [lwip-users] Problem with socket send()


From: Frédéric BERNON
Subject: RE : [lwip-users] Problem with socket send()
Date: Wed, 22 Aug 2007 11:34:39 +0200

Since 1.2.0, there was some changes for http://savannah.nongnu.org/bugs/?3031 
around tcp_enqueue. Perhaps someting around that? First, try lwIP 1.2.0. If you 
don't got the problem, this is a change in current CVS HEAD. In this case, got 
last CVS HEAD, and next, downgrade tcp_out.c from 1.63 to 1.46 and test each 
release to know where the bug appears for you? Try to jump by 4 releases steps 
to save time (1.63, 1.59, 1.55...), and once you find the problem, upgrade by 1 
release step to find the change which cause you problem... Once you find the 
change which cause problem, we could see where is the bug...

----------------------------
Revision : 1.63
Date : 2007/8/9 22:21:46
Author : 'fbernon'
State : 'Exp'
Lines : +0 -1
CommitID : '5NUa9psDwNyJX7ts'
Description :
Comments Fix for Doxygen documentation

----------------------------
Revision : 1.62
Date : 2007/7/25 8:46:42
Author : 'goldsimon'
State : 'Exp'
Lines : +3 -3
CommitID : 'o9iDXpUSvVF5W7rs'
Description :
tcp_enqueue: pcb->snd_queuelen didn't work for chaine PBUF_RAMs: changed 
snd_queuelen++ to snd_queuelen += pbuf_clen(p).

----------------------------
Revision : 1.61
Date : 2007/7/3 20:28:36
Author : 'goldsimon'
State : 'Exp'
Lines : +8 0
CommitID : 'WepLkaKesVsDwmos'
Description :
Added assertions where PBUF_RAM pbufs are used and an assumption is made that 
this pbuf is in one piece (i.e. not chained). These assumptions clash with the 
possibility of converting to fully pool-based pbuf implementations, where 
PBUF_RAM pbufs might be chained.

----------------------------
Revision : 1.60
Date : 2007/7/2 20:41:22
Author : 'goldsimon'
State : 'Exp'
Lines : +39 0
CommitID : 'N9UKsIabtPy2Deos'
Description :
Added option LWIP_NETIF_HWADDRHINT (default=off) to cache ARP table indices 
with each pcb instead of single-entry cache for the complete stack.

----------------------------
Revision : 1.59
Date : 2007/7/2 20:13:45
Author : 'goldsimon'
State : 'Exp'
Lines : +3 -3
CommitID : '72QE7hE6QNSzteos'
Description :
Added some ASSERTS and casts to prevent warnings when assigning to smaller 
types.

----------------------------
Revision : 1.58
Date : 2007/7/1 15:56:5
Author : 'goldsimon'
State : 'Exp'
Lines : +5 -6
CommitID : 'ZLb27Yq9cbgd55os'
Description :
Changed tcp_pcb->snd_queuelen from u8_t to u16_t to prevent overflowing when 
sending many small packets with big send buffer, added assertions and oveflow 
checks for snd_queuelen.

----------------------------
Revision : 1.57
Date : 2007/6/29 17:9:47
Author : 'goldsimon'
State : 'Exp'
Lines : +4 -2
CommitID : 'Dd5MqyfpXAPtyPns'
Description :
Added check to prevent tcp_pcb->snd_queuelen from overflowing.

----------------------------
Revision : 1.56
Date : 2007/6/27 16:42:20
Author : 'goldsimon'
State : 'Exp'
Lines : +2 -2
CommitID : 'VGkEHFtjAfM3tzns'
Description :
Remove warning in tcp_enqueue (cast from u32_t to u16_t)

----------------------------
Revision : 1.55
Date : 2007/6/22 20:50:22
Author : 'goldsimon'
State : 'Exp'
Lines : +4 -4
CommitID : 'QFmOjesn5K930Xms'
Description :
Changed the expression of LWIP_ERROR to the same as for LWIP_ASSERT

----------------------------
Revision : 1.54
Date : 2007/6/17 15:20:22
Author : 'goldsimon'
State : 'Exp'
Lines : +4 -4
CommitID : 'Cd209lLE05KOkhms'
Description :
Done some work on task #6933: converted some LWIP_ASSERTs to LWIP_ERROR to give 
back an error return value for LWIP_NOASSERT=1

----------------------------
Revision : 1.53
Date : 2007/6/11 13:59:11
Author : 'fbernon'
State : 'Exp'
Lines : +2 -1
CommitID : 'MXtsp6cOLJkY4vls'
Description :
tcp_out.c: Fix for bug #20075 : "A problem with keep-alive timer and TCP flags" 
where TCP flags wasn't initialized in tcp_keepalive. Reported by Srinivas 
Gollakota with help of Oleg Tyshev.

----------------------------
Revision : 1.52
Date : 2007/6/8 20:59:17
Author : 'goldsimon'
State : 'Exp'
Lines : +80 -29
CommitID : 'Mt1uCiZECmC1v9ls'
Description :
Done some work on task #1549 (function documentation)

----------------------------
Revision : 1.51
Date : 2007/5/10 5:20:5
Author : 'goldsimon'
State : 'Exp'
Lines : +2 -2
Description :
Included patch #5920: Create define to override C-library memcpy. 2 Defines are 
created: MEMCPY() for normal memcpy, SMEMCPY() for situations where some 
compilers might inline the copy and save a function call. Also replaced all 
calls to memcpy() with calls to (S)MEMCPY().

----------------------------
Revision : 1.50
Date : 2007/4/12 14:56:7
Author : 'kieranm'
State : 'Exp'
Lines : +3 -2
Description :
* tcp.c, tcp_in.c, tcp_out.c, tcp.h: Modify way the retransmission
    timer is reset to fix bug#19434, with help from Oleg Tyshev.

----------------------------
Revision : 1.49
Date : 2007/3/30 8:47:4
Author : 'fbernon'
State : 'Exp'
Lines : +4 -4
Description :
most of files: prefix all debug.h define with "LWIP_" to avoid any conflict 
with others environment defines (these were too "generic").

----------------------------
Revision : 1.48
Date : 2007/3/21 12:55:0
Author : 'kieranm'
State : 'Exp'
Lines : +6 -1
Description :
* Fix all uses of pbuf_header to check the return value.  In some
    cases just assert if it fails as I'm not sure how to fix them, but
    this is no worse than before when they would carry on regardless
    of the failure.

----------------------------
Revision : 1.47
Date : 2007/3/11 15:53:44
Author : 'fbernon'
State : 'Exp'
Lines : +1 -1
Description :
Keepalive values can be configured at run time with LWIP_TCP_KEEPALIVE, but 
don't change this unless you know what you're doing (default are RFC1122 
compliant). Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set in seconds.

Old TCP_KEEPALIVE can always be used, and its only difference with TCP_KEEPIDLE 
is this last use seconds and not milliseconds with setsockopt.

Some documentation (not perfect, but...):

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.commtechref/doc/commtrf2/setsockopt.htm

----------------------------
Revision : 1.46
Date : 2006/8/18 10:18:42
Author : 'christiaans'
State : 'Exp'
Lines : +6 0
Description :
Added SNMP counters.


  
====================================
Frédéric BERNON 
HYMATOM SA 
Chef de projet informatique 
Microsoft Certified Professional 
Tél. : +33 (0)4-67-87-61-10 
Fax. : +33 (0)4-67-70-85-44 
Email : address@hidden 
Web Site : http://www.hymatom.fr 
====================================
P Avant d'imprimer, penser à l'environnement
 


-----Message d'origine-----
De : address@hidden [mailto:address@hidden De la part de Kieran Mansley
Envoyé : mercredi 22 août 2007 10:41
À : address@hidden; Mailing list for lwIP users
Objet : Re: [lwip-users] Problem with socket send()


On Wed, 2007-08-22 at 10:15 +0200, Winformatik Info wrote:
> It seems, that the different buffers (or the data inside) used by the
> three send() calls are not merged the right way. I tracked down the 
> problem to the functions tcp_output() and tcp_output_segment(), but the 
> code is very difficult to understand.

That does rather sound like a bug, but I'm surprised no-one else has seen this.

Firstly, could you file a bug report on savannah to ensure this is tracked.  

Secondly, any help you can provide in narrowing down where the corruption 
happens would be very helpful.  Sadly I'm really low on time to spend on lwIP 
at the moment, but perhaps one of the other developers can help suggest places 
in the functions you mention that it would be worth taking a closer look at (by 
for example printing the data out before and after an interesting region).

Thanks

Kieran



_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users

Attachment: Frédéric BERNON.vcf
Description: Frédéric BERNON.vcf


reply via email to

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