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 -----
From: Frédéric BERNON
To: Mailing list for lwIP users
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 -----
From: Thomas Taranowski
To: Mailing list for lwIP users
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
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users