lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] arp failure results in newEntry != NULL assertion


From: Simon Goldschmidt
Subject: Re: [lwip-users] arp failure results in newEntry != NULL assertion
Date: Sat, 10 Nov 2007 13:20:47 +0100

Hi,

don't really need to simulate this, it's really a silly bug (and rather simple to solve, I think).

I'll work on it. Thanks for finding it, Thomas!

Simon

Am 10.11.2007 um 09:36 schrieb Frédéric BERNON:

Simon,
 
I think you can be interrested, so, if you want to simulate the problem with msvc6, add in lwipopts.h
 

#define PING_RCV_TIMEO 1

#define PING_DELAY 1

and set LWIP_PORT_INIT_GW(addr) in lwipcfg_msvc.h to an non-existent "local" ip address.

And we got "Assertion "newEntry != NULL" failed at line 948 in ..\..\..\lwip\src\netif\etharp.c"

 
----- Original Message -----
Sent: Saturday, November 10, 2007 8:18 AM
Subject: Re: [lwip-users] arp failure results in newEntry != NULL assertion

Hi Thomas,
 
I will suppose you use the last CVS head. The difference between your both tests is that in the first one, ARP is used to found your target MAC/IP entry, but in the second one, ARP is used to found your gateway entry (so, if your gateway exists, but not your target, ARP will first find your gateway MAX address, and next, lwIP send a packet to (gateway MAC/target IP).
 
The assertion you give us is in etharp_query, if mem_malloc(MEMP_ARP_QUEUE) failed when ARP_QUEUEING=1. If you remove the assert, you got a crash. So, we need to change code to be able to work even if we don't have any MEMP_ARP_QUEUE.
 
I will take a look
----- Original Message -----
Sent: Friday, November 09, 2007 11:48 PM
Subject: [lwip-users] arp failure results in newEntry != NULL assertion

I'm able to readily reproduce the following, and am wondering if other folks have seen similar behavior, or if it's just a problem with my port.

On my target running lwIP, I while(1) sendto() to a non-existent target on the ***LOCAL*** subnet.  
Result: newEntry!=NULL assertion from etharp.c.  lwIP failed to allocate a memp so that it could cache the outgoing packet.  Shouldn't really be an assertion, as there needs to be error handling code in place for that, but that's another issue.

On my target running lwIP, I while(1) sendto() to a non-existent target on a ***REMOTE*** subnet.
Result: code works fine








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



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


reply via email to

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