[OpenAFS-devel] 1.3.79 on AIX 5.2, system dump when using token
Niklas Edmundsson
Niklas.Edmundsson@hpc2n.umu.se
Mon, 14 Mar 2005 10:57:21 +0100 (MET)
On Thu, 10 Mar 2005, Niklas Edmundsson wrote:
> I enabled kernel memory debugging (bosdebug -M ; bosboot -a ; reboot) in
> order to try to further pinpoint the problem, and these are my findings:
>
> * Going back to an unpatched 1.3.78 it dumps with the xmalloc debug
> message "A program has tried to access freed xmalloc memory". In
> both cases the crash occurs after having obtained an AFS token and
> then trying to access AFS using that token. The "kdb stat" output
> from the dumps are at the bottom of this post.
>
> Does this give a hint on what's wrong? I'm wading through the source at
> random not finding anything obvious. All those #ifdefs makes the thing rather
> hard to read :/
I had a closer look att the #ifdef-swamp starting at rxi_Alloc() and
noted that quite a lot of code is only used on AIX and older
HPUX-versions. I took a large axe and removed quite a lot of "this is
only used on AIX/HPUX"-code and now the thing seems to work regarding
the kernel module. I'll get back to you with patches when I've done
some more testing. My test-box seems to survive with MAXKTCTICKETLEN
12000 now, and that's a rather good sign.
In general, there seems to be a large confusion regarding where&when
to do locking and where in the code to add OS-related compatibility. I
believe that all compatibility crud should be in the "leaves" of the
source code tree, but in OpenAFS there are #ifdefs everywhere making
it hard to actually read the code... Am I right in assuming that the
"throw in a lock here to make it work on architecture X"-ifdefs are a
remnant of the old Transarc-days?
Is there some effort to clean up this mess, or can we expect more of
"architecture X starts to mysterously fail due to code-fork by
#ifdef" in the future?
/Nikke
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se | nikke@hpc2n.umu.se
---------------------------------------------------------------------------
Eat yogurt and get cultured
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=