Greetings,

> I'll look at your patch. I remember now that I worked on this topic too. With 
> a different way to alter the code. See
> https://github.com/didier-barvaux/rohc/commit/55a1da25e970637edd746a2cb7fec530157cd4f7
 
>>  I have since switched to using the master branch for the long term.
>>  When I build it, only __aeabi_uldivmod appears to be undefined.  

> I tested on ARM. I confirm the problem for the kernel module.

Using the do_div macro for the kernel, I was able to remedy the 64-bit division 
issue.  This may already be in the patch in my last message.

>> Is it possible my patch is causing the crash?  I've turned tracing on 
>> but kernel panics usually prevent me from figuring out the exact point 
>> of the crash.

> Probably not if it happens with TCP traffic.

Correct, it turns out that the large stack frame (below) is the cause of the 
kernel crashes.  

>> I also get the following warnings when building from master:
>> src/decomp/d_tcp.c:880:1: warning: the frame size of 16376 bytes is larger 
>> than 1024 bytes [-Wframe-larger-than=]
>> src/decomp/rohc_decomp_rfc3095.c:1671:1: warning: the frame size of 1096 
>> bytes is larger than 1024 bytes [-Wframe-larger-than=]

> Yes, I know those 2 warnings. I defined large structs as local variables, so 
> the stack became quite big. I have yet to figure out how to achieve the same 
> job without them.
> I don't know if large stacks may cause problems in the kernel or not.

I've done some refactoring to dynamically allocate the rohc_tcp_extr_bits and 
rohc_tcp_decoded_values structures.  Also passing those structures in by 
reference also seems to shrink the size of the stack frame for d_tcp_decode().  
No more crashes and the TCP profile appears to work!  :-)  I am still seeing 
some issues with some content-heavy HTTP requests, but these may still be open 
issues.

Regards,
-Alex



_______________________________________________
Mailing list: https://launchpad.net/~rohc
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~rohc
More help   : https://help.launchpad.net/ListHelp

Reply via email to