Very strange -- on two counts...
You're showing that get_array_length("pid_hash", ...) is returning 1,
whereas I'm presuming that the PIDTYPE_MAX enum would be equal
to 4. That I don't understand...
And then, the error message in refresh_hlist_task_table() is subsequently
triggered because the same get_array_length() call returns a zero:
if (!(plen = get_array_length("pid_hash", NULL, sizeof(void *))))
error(FATAL, "cannot determine pid_hash array
dimensions\n");
and so I'm sure I don't understand that either...
BTW, what the other guy did was to hardwire "plen" above to 4 (I presume he
used 4) and things worked OK. Does that hack work with your dumpfile?
Anyway, please try to make the vmlinux/dumpfile pair available for download,
as I'd really like to tinker with them...
Oops, I am sorry, my bad. I copied the clause literally in my printf
and ended up printing
!get_array_length(....). With that corrected, it is "0" at both places.
Yes, the PIDTYPE_MAX enum is equal to 4. Setting 'plen' to 4 seems to work.
So, it seems like a problem with get_array_length.
I will get you the dump/vmlinux files as soon as I can upload it
someplace (yousendit is acting up).
--
Thanks
-Tejasvi