I'm using Alfresco 2.0 and I have been receiving the following error quite often.11:10:28,765 ERROR [org.alfresco.filesys.smb.mailslot.Win32NetBIOSHostAnnouncer] Host announce error (LANA 0)
It bothered me so I did a bit of investigation.It originates from Win32NetBIOSHostAnnouncer.java: int sts = Win32NetBIOS.SendDatagram(getLana(), getNameNumber(), destName, buf, 0, len);
if ( sts != NetBIOS.NRC_GoodRet)
{
// Log the error
System.out.println("send datagram result number" + sts); // I added this line.
if ( logger.isErrorEnabled())
logger.error("Host announce error " + NetBIOS.getErrorString( -sts) +
" (LANA " + getLana() + ")");I added a printout in this block to determine the code returned by the SendDatagram. The value that was being printed out was 119. I was confused since negative error values would seem to match up to error codes. I then took a look at the C class and found the following in the SendDatagram method: if ( ncb.ncb_retcode == NRC_GOODRET)
return ncb.ncb_length;
/*
* Return the error status code as a negative number
*/
return -ncb.ncb_retcode;
It would seem as though I had a successful transmission and the 119 that was returned was the length of the sent packet. I'm not really sure why this is happening but it appears that my socket handler is having its state changed to offline as a result. int sts = Win32NetBIOS.SendDatagram(getLana(), getNameNumber(), destName, buf, 0, len);
if ( sts != NetBIOS.NRC_GoodRet)
{
// Log the error
System.out.println("send datagram result number" + sts); // I added this line.
if ( logger.isErrorEnabled())
logger.error("Host announce error " + NetBIOS.getErrorString( -sts) +
" (LANA " + getLana() + ")");
// Update the error count
if ( incrementErrorCount() == SendErrorCount)
{
// Mark the LANA as offline
m_handler.lanaStatusChange( getLana(), false);
// Clear the error count
clearErrorCount();
// Log the error
if ( logger.isErrorEnabled())
logger.error("Marked LANA as unavailable due to send errors");
}
}Does anyone know if this is an issue and what the cause might be?