[OpenAFS-devel] Crash on AIX 6.1 TL6 SP3

Niklas Edmundsson Niklas.Edmundsson@hpc2n.umu.se
Fri, 4 Mar 2011 10:49:29 +0100 (MET)


On Thu, 3 Mar 2011, Derrick Brashear wrote:

> On Thu, Mar 3, 2011 at 10:55 AM, Derrick Brashear <shadow@gmail.com> wrote:
>> wild guess: m_hdr changed size because of:
>
> []
>
>> meaning struct mbuf shrank by 4 bytes

Ulk. A good way to break any binary modules. I wonder what method IBM
had in mind to handle this... Had they shipped a compiler with the OS 
we could have build the offending parts upon module load, but now?

>> so the question is, what's the best way to get a mbuf provided to us
>> by the kernel that we can check out the size, and
>> then presumably we provide our own struct mbufs, so we can make
>> m_next, m_len, m_flags, m_ext, m_pkthdr and whatever
>> else be instead macros which dtrt given what we booted on... and screw
>> the whole "build twice" plan.
>
> i guess we'd also have to provide MGET/MGETHDR. which makes this messier.

Almost painfully so, IMHO. Especially in the light of trying to 
understand it in a couple of years...

One way of handling this might be to provide AIX 6.1 pre/post-TL5 
builds for now and dropping building for pre-TL5 when TL4 drops out of 
support (which will happen in the end of 2011 with IBM's current 
support strategy).

For those that want to run openafs on backlevel TL's they can always 
build it themselves.

If we reduce the effort to detecting "using wrong build" situations 
and documenting these facts I would deem this good enough as AIX 
doesn't have the largest userbase...

/Nikke
-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se     |    nikke@hpc2n.umu.se
---------------------------------------------------------------------------
  Hollow chocolate has no calories.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=