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

