It's been running for over 15 hours on ppp_new without issue. I'd say the
issue is solved.
There may still be a bug in ppp.c with these two lines around 1762 if the
platform isn't/can't support packed structs.
*(payload++) = pcrx->in_protocol >> 8;
*(payload) = pcrx->in_protocol & 0xFF;
In the old ppp, these fields are set by fields after first casting to a
header struct so packed or not makes no difference.
Thanks for all your help!
- Andrew Westberg
On Sat, May 17, 2014 at 2:41 PM, Andrew Westberg <[email protected]>wrote:
> I've solved it. It looks like I had my cc.h file incorrect for packed
> structures.
>
> I modified it from this:
>
> #define PACK_STRUCT_BEGIN
> #define PACK_STRUCT_STRUCT
> #define PACK_STRUCT_END
> #define PACK_STRUCT_FIELD(x) x
>
> to this:
>
> #define PACK_STRUCT_BEGIN
> #define PACK_STRUCT_STRUCT __attribute__((packed))
> #define PACK_STRUCT_END
> #define PACK_STRUCT_FIELD(x) x
>
> I'm going to do another long-running test to see if the ppp_new branch
> doesn't have the same issues as master.
>
> - Andrew Westberg
>
>
> On Sat, May 17, 2014 at 10:59 AM, Andrew Westberg <[email protected]>wrote:
>
>> No, ppp_set_default() was what I was missing originally, but once I did
>> set that, the exception started happening. It's occurring in
>>
>> ip4.c around line 377 (my line numbers may be a bit off as I might have
>> added some extra debugging code)
>>
>> ip_addr_copy(*ipX_2_ip(&ip_data.current_iphdr_dest), iphdr->dest);
>>
>> There is some issue with iphdr->dest as if the memory isn't valid or has
>> already been free'd or something.
>>
>>
>>
>> - Andrew Westberg
>>
>>
>> On Sat, May 17, 2014 at 6:09 AM, Sylvain Rochet <[email protected]>wrote:
>>
>>> Hello Andrew,
>>>
>>> On Fri, May 16, 2014 at 11:57:51PM -0400, Andrew Westberg wrote:
>>> > I'm using the savannah git repository, not github as I stated earlier.
>>> I've
>>> > spent all afternoon and evening trying to get the new_ppp branch to
>>> work.
>>> > It wouldn't ever get the default netif in order to make a DNS query. It
>>> > looks like the default netif is not set in ipcp_up, so I tried adding
>>> that.
>>> > Unfortunately, that seems to cause an exception somewhere that's nearly
>>> > impossible to trace down.
>>>
>>> Maybe you missed that:
>>>
>>> /*
>>> * Set a PPP interface as the default network interface
>>> * (used to output all packets for which no specific route is found).
>>> */
>>> void ppp_set_default(ppp_pcb *pcb);
>>>
>>> Sylvain
>>>
>>> _______________________________________________
>>> lwip-users mailing list
>>> [email protected]
>>> https://lists.nongnu.org/mailman/listinfo/lwip-users
>>>
>>
>>
>
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users