[Samba] winbindd PANIC: smb_xmalloc: malloc fail

Doug VanLeuven roamdad at sonic.net
Fri Aug 6 00:08:19 GMT 2004


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.




More information about the samba mailing list