cancel
Showing results for 
Search instead for 
Did you mean: 

CIFS on win2003 64bit

frederick
Champ in-the-making
Champ in-the-making
Hello,

While testing Alfresco 2.9B on a Windows 2003 professional 64bit server, we noticed that CIFS did not work correctly.
Our mapping is \\ice, which works most of the time. The trouble starts when a user clicks his way into a folder structure: after several clicks, either the explorer window closes, or an error message appears (system unavailable) and the window hangs.
Either way, we cannot use cifs for longer than a few seconds (though sometimes it lasts for several minutes).

In the logfile, the following errors appear:
08:27:15,821 ERROR [smb.protocol.mailslot] Host announce error  (LANA 4)
08:27:25,821 ERROR [smb.protocol.mailslot] Host announce error  (LANA 4)
08:27:45,822 ERROR [smb.protocol.mailslot] Host announce error  (LANA 4)
08:27:45,822 ERROR [smb.protocol.mailslot] Marked LANA as unavailable due to send errors

Has anyone else encountered this situation on a win64 environment?

It looks like this issue has been around for a while: http://forums.alfresco.com/viewtopic.php?f=9&t=7583
In our case also the returned status code is 119, which is not recognized by the Win32NetBIOSHostAnnouncer and is treated as an error.
16 REPLIES 16

grosisimo
Champ in-the-making
Champ in-the-making
Oh sorry I forgot to say that what I did was to dissable win32netbios and Win32Announce, and enabled tcpipSMB and netBIOSSMB for that adapter.

Thanks!

konsultex
Confirmed Champ
Confirmed Champ
I have the same problem but I was not able to get my CIFS server running by following this thread. Could you post your file-servers-custom.xml or file-servers.xml? Regarding Java, I am using the java that comes with the Alfresco windows installer (1.6.0_u2). Are you using another version? I set the registry entry mentioned in this thread. I have enabled tcp over NetBIOS. Did you do anything else on the Windows server side?

Thanks.

konsultex
Confirmed Champ
Confirmed Champ
After some googling and investigating I got the CIFS server to start but after a few tries, LANA gets disabled. I feel that I am getting close to a solution.

My debug log shows:
<snip>
17:42:51,437 INFO  [org.alfresco.service.descriptor.DescriptorService] Alfresco started (Community Network): Current version 2.9.0 (B 683) schema 116 - Installed version 2.9.0 (B 683) schema 116
17:42:57,375 DEBUG [org.alfresco.smb.protocol] Win32 NetBIOS created session handler on LANA 1
17:42:57,375 DEBUG [org.alfresco.smb.protocol] Waiting for Win32 NetBIOS session request (Netbios API) …
17:42:57,375 DEBUG [org.alfresco.smb.protocol] Win32 NetBIOS host announcer enabled on LANA 1
17:42:57,390 DEBUG [org.alfresco.smb.protocol] Win32 NetBIOS register listener for LANA 1
17:42:57,390 ERROR [org.alfresco.smb.protocol.mailslot] Host announce error  (LANA 1)
17:42:57,406 DEBUG [org.alfresco.smb.protocol.mailslot] HostAnnouncer: Announced host SRV-ALFRESCO_A
17:43:02,406 ERROR [org.alfresco.smb.protocol.mailslot] Host announce error  (LANA 1)
17:43:02,406 DEBUG [org.alfresco.smb.protocol.mailslot] HostAnnouncer: Announced host SRV-ALFRESCO_A
17:43:12,406 ERROR [org.alfresco.smb.protocol.mailslot] Host announce error  (LANA 1)
17:43:12,406 ERROR [org.alfresco.smb.protocol.mailslot] Marked LANA as unavailable due to send errors
17:43:12,406 DEBUG [org.alfresco.smb.protocol.mailslot] HostAnnouncer: Announced host SRV-ALFRESCO_A
</snip>

The relevant parts of C:\Alfresco\tomcat\shared\classes\alfresco\extension\file-server-custom.xml has

   <config evaluator="string-compare" condition="CIFS Server">
     <serverEnable enabled="true"/>
      <host name="${localname}_A"/>
      <comment>Alfresco CIFS Server</comment>

      <!– Set to the broadcast mask for the subnet –>
      <broadcast>172.16.15.255</broadcast>

      <!– Use Java socket based NetBIOS over TCP/IP and native SMB on linux –>
      <tcpipSMB platforms="linux,solaris,macosx"/>
      <netBIOSSMB platforms="linux,solaris,macosx"/>

     <!–      
      <tcpipSMB port="1445" platforms="linux,solaris,macosx"/>
      <netBIOSSMB sessionPort="1139" namePort="1137" datagramPort="1138" platforms="linux,solaris,macosx"/>
     –>
      
      <hostAnnounce interval="5"/>
     
      <Win32NetBIOS api="netbios"/>
      <Win32Announce interval="5"/>

I am using Windows 2003 Server X64 sp2.

Does anybody know how to solve this?

Thanks.

konsultex
Confirmed Champ
Confirmed Champ
I have it working!

What I had to do is:

a) disable ntebios over tcp for the lan card
b) this is the relevant part of file-servers-custom.xml:

——————————
   <config evaluator="string-compare" condition="CIFS Server">
     <serverEnable enabled="true"/>
      <host name="${localname}_A"/>
      <comment>Alfresco CIFS Server</comment>

      <!– Set to the broadcast mask for the subnet –>
      <broadcast>172.16.15.255</broadcast>

      <!– Use Java socket based NetBIOS over TCP/IP and native SMB on linux –>
      <tcpipSMB />
      <netBIOSSMB />

      
      <hostAnnounce interval="5"/>

      <!– Use Win32 NetBIOS interface on Windows
     
      <Win32NetBIOS/>
      <Win32Announce/> –>
———————————————————–

Note that Win32NetBIOS is commented out.

diegop
Champ in-the-making
Champ in-the-making
Hello,

While testing Alfresco 2.9B on a Windows 2003 professional 64bit server, we noticed that CIFS did not work correctly.
Our mapping is \\ice, which works most of the time. The trouble starts when a user clicks his way into a folder structure: after several clicks, either the explorer window closes, or an error message appears (system unavailable) and the window hangs.
Either way, we cannot use cifs for longer than a few seconds (though sometimes it lasts for several minutes).

In the logfile, the following errors appear:
08:27:15,821 ERROR [smb.protocol.mailslot] Host announce error  (LANA 4)
08:27:25,821 ERROR [smb.protocol.mailslot] Host announce error  (LANA 4)
08:27:45,822 ERROR [smb.protocol.mailslot] Host announce error  (LANA 4)
08:27:45,822 ERROR [smb.protocol.mailslot] Marked LANA as unavailable due to send errors

Has anyone else encountered this situation on a win64 environment?

It looks like this issue has been around for a while: http://forums.alfresco.com/viewtopic.php?f=9&t=7583
In our case also the returned status code is 119, which is not recognized by the Win32NetBIOSHostAnnouncer and is treated as an error.


Hi

we had the SAME problem with Alfresco 2.1 Community Edition on a Windows 2003 Server 64-bit.

After several months we understand the problem: a bug in the org.alfresco.filesys.smb.mailslot.Win32NetBIOSHostAnnouncer class.

Exploring the source code of the class, we noticed a wrong if:


    protected void sendAnnouncement(String hostName, byte[] buf, int offset, int len) throws Exception
    {

        // Build the destination NetBIOS name using the domain/workgroup name
        NetBIOSName destNbName = new NetBIOSName(getDomain(), NetBIOSName.MasterBrowser, false);
        byte[] destName = destNbName.getNetBIOSName();

        // Send the host announce datagram via the Win32 Netbios() API call

        int sts = Win32NetBIOS.SendDatagram(getLana(), getNameNumber(), destName, buf, 0, len);       
        if ( sts != NetBIOS.NRC_GoodRet)
        {
           // Log the error
                ………..
        }

   }


If the call to Win32NetBIOS.SendDatagram(…)  does not have any error, the call will return the length of the datagram sent (that is specified by the len parameter)…NOT returns a NetBIOS.NRC_GoodRet status code as it is supposed by the original source code.

That's why returns 119…you can verify debugging that 119 is the length of the datagram sent stored in the len parameter.

So the fix is very simple, just edit the original source code with this modification:


    protected void sendAnnouncement(String hostName, byte[] buf, int offset, int len) throws Exception
    {

        // Build the destination NetBIOS name using the domain/workgroup name

        NetBIOSName destNbName = new NetBIOSName(getDomain(), NetBIOSName.MasterBrowser, false);
        byte[] destName = destNbName.getNetBIOSName();

        // Send the host announce datagram via the Win32 Netbios() API call

        int sts = Win32NetBIOS.SendDatagram(getLana(), getNameNumber(), destName, buf, 0, len);       
/*       if ( sts != NetBIOS.NRC_GoodRet)   WRONG IF TO REPLACE */
        if ( sts != len) // correct if
        {
           // Log the error
               …………….
        }
       …………….
}



Compile it and replace the original .class file of org.alfresco.filesys.smb.mailslot.Win32NetBIOSHostAnnouncer .

After that all will works perfectly.

Cheers

mrogers
Star Contributor
Star Contributor
Can you raise this as a contribution in JIRA please.   Then it won't get lost.

kirit
Champ on-the-rise
Champ on-the-rise
I have followed almost all steps from this thread. we have alfresco 3.1 and widows server 2003 x64, java is also 64 bit
We need to configure the CIFS with this server.

In log its says that CIFS server started but when we try to connect the server we got error "Network path not found"

we are running alfresco as a service.
any help to resolve this?
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.