Windows 2003 native mode
AIX 5.1 gcc 2.9
MIT kerberos 1.3.4 pre-compiled binary for AIX
openldap 2.1.30
samba 3.0.5
The nmbd, smbd daemons appear to be running without issue.
winbindd will abort every time with:
smb_xmalloc() failed to allocate 2534319874 bytes
PANIC: smb_xmalloc: malloc fail.
==============================================================INTERNAL ERROR:
Signal 6 in pid 32470 (3.0.5)
Please read the appendix Bugs of the Samba HOWTO collection
==============================================================PANIC: internal
error
Are there any know issues with the gcc 2.9 compiler? Or perhaps I'm
missing a flag?
I tracked it down to this segment of code in libsmb/cliconnect.c
static void cli_set_session_key (struct cli_state *cli, const DATA_BLOB
session_key)
{
cli->user_session_key = data_blob(session_key.data,
session_key.length);
}
I can verify the value of session_key.length is 16 prior to the call to
cli_set_session_key,
but in data_blob the value becomes 2534319874.
If I add a DEBUG statement, the value of 16 is passed correctly to data_blob
and winbindd runs without error.
static void cli_set_session_key (struct cli_state *cli, const DATA_BLOB
session_key)
{
DEBUG(10,("cli_set_session_key: Mark 1
length=%ld\n",session_key.length));
cli->user_session_key = data_blob(session_key.data,
session_key.length);
}
Is there some proper way to solve this besides adding DEBUG statements
to any wrappers?
The gcc version version 2.9 is the most current supplied with the Linux
affinity toolkit.