[Top][All Lists]
[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
Frédéric BERNON.vcf
Description: Frédéric BERNON.vcf