← Back to team overview

rohc team mailing list archive

Re: 32-bit Compatibility?

 

Hello,

> > 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.

Great! I'll check this deeper next weekend and commit it.

 
> >> 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.  

Thank you for the confirmation!
 

> >> 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!  :-)

Great! Please send me your patch. I'll try to integrate it in master so
that the kernel module works fine for everyone.


>  I am still seeing some issues with
> some content-heavy HTTP requests, but these may still be open issues.

Probably. Send me a network capture to be sure. If it is not a bug I
encountered (and fixed in my testing branch), I'll analyse the problem
and try to fix it.


Regards,
Didier

Attachment: signature.asc
Description: PGP signature


References