Enterprise 3.x
  1. Enterprise 3.x
  2. ETHREEOH-4104

CLONE -when server locale is fr_FR.UTF8 reading of NFS mount fails

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 3.2 R
    • Fix Version/s: 3.3
    • Component/s: JLAN
    • Security Level: external (External user)
    • Labels:
      None
    • Environment:
      Debian linux, Mac OSx

      Description

      This is related to ACT149.

      This could be reproduced on Debian Linux (stable and testing).

      Issue:

      When
      1) the locale is fr_FR.UTF8
      2) one file in the export contains non ASCII characters like French accents

      Then
      the reading of the directory fails with those symptoms:
      a) is the shell:
      root@amadon:/nfs# ls
      ls: lecture du répertoire .: Erreur d'entrée/sortie

      b) in the logs:
      tail /var/log/syslog
      Jan 18 09:53:45 amadon kernel: NFS: giant filename in readdir (len d0716fcf)!



      How to reproduce it?
      ----------------------------
      To reproduce this issue,

      A) you need to bootstrap alfresco (first alfresco start) in the locale above.
      There are two ways in doing this:
      1) in catalina.sh set
      CATALINA_OPTS="-Duser.language=fr -Duser.country=FR"
      2) in the shell
      export LC_ALL=fr_FR.UTF8
      export LANG=fr_FR.UTF8

      you need to check that the system accepted the locale OK using the locale command:
      locale
      LANG=fr_FR.UTF8
      LC_CTYPE="fr_FR.UTF8"
      LC_NUMERIC="fr_FR.UTF8"
      LC_TIME="fr_FR.UTF8"
      LC_COLLATE="fr_FR.UTF8"
      LC_MONETARY="fr_FR.UTF8"
      LC_MESSAGES="fr_FR.UTF8"
      LC_PAPER="fr_FR.UTF8"
      LC_NAME="fr_FR.UTF8"
      LC_ADDRESS="fr_FR.UTF8"
      LC_TELEPHONE="fr_FR.UTF8"
      LC_MEASUREMENT="fr_FR.UTF8"
      LC_IDENTIFICATION="fr_FR.UTF8"
      LC_ALL=fr_FR.UTF8

      (to make this work I had to install a debian package called locales-all)

      B) start alfresco with the alfresco portmapper
      i.e. in shared/classes/alfresco/extension/file-servers-custom.xml
      insert thye section below:

      <config evaluator="string-compare" condition="NFS Server" replace="true">
            <serverEnable enabled="true"/>
            <enablePortMapper/>
            <rpcAuthenticator>
               <userMappings>
                  <user name="admin" uid="0" gid="0"/>
               </userMappings>
            </rpcAuthenticator>
            <debug flags="RxData,TxData,DumpData,Search,Info,File,FileIO,Error,Directory,Timing,Session"/>
            <NFSServerPort>511</NFSServerPort>
         </config>

      C) check the locale is take by the server by looking for sentences in French in the logs:

      tail -n 600 -f ../logs/catalina.out
      18 janv. 2008 09:48:01 org.apache.coyote.http11.Http11BaseProtocol init
      INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
      18 janv. 2008 09:48:01 org.apache.catalina.startup.Catalina load
      INFO: Initialization processed in 452 ms
      18 janv. 2008 09:48:02 org.apache.catalina.core.StandardService start
      INFO: Démarrage du service Catalina
      18 janv. 2008 09:48:02 org.apache.catalina.core.StandardEngine start
      INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
      18 janv. 2008 09:48:02 org.apache.catalina.core.StandardHost start
      INFO: XML validation disabled
      18 janv. 2008 09:48:02 org.apache.catalina.startup.HostConfig deployWAR
      INFO: Déploiement de l'archive alfresco.war de l'application web
      09:48:14,828 WARN [remoting.rmi.RmiRegistryFactoryBean] Could not detect RMI registry - creating new one
      09:48:17,368 INFO [domain.schema.SchemaBootstrap] Schema managed by database dialect org.hibernate.dialect.MySQLInnoDBDialect.
      09:48:17,743 INFO [domain.schema.SchemaBootstrap] Exécution du script de base de données /opt/alfresco211nfs3/tomcat/temp/Alfresco/AlfrescoSchemaCreate-org.hibernate.dialect.MySQLInnoDBDialect-5876.sql (généré)
      09:48:19,671 INFO [domain.schema.SchemaBootstrap] Exécution du script de base de données /opt/alfresco211nfs3/tomcat/temp/Alfresco/AlfrescoSchemaUpdate-org.hibernate.dialect.MySQLInnoDBDialect-5877.sql (copié depuis classpath:alfresco/dbscripts/create/2.1/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoPostCreate-2.1-FKIndexes.sql)
      09:48:19,679 INFO [domain.schema.SchemaBootstrap] Exécution du script de base de données /opt/alfresco211nfs3/tomcat/temp/Alfresco/AlfrescoSchemaUpdate-org.hibernate.dialect.MySQLInnoDBDialect-5878.sql (copié depuis classpath:alfresco/dbscripts/create/1.4/org.hibernate.dialect.MySQLInnoDBDialect/post-create-indexes-02.sql)
      09:48:19,697 INFO [domain.schema.SchemaBootstrap] Tous les instructions exécutées sont journalisées dans le fichier /opt/alfresco211nfs3/tomcat/temp/Alfresco/AlfrescoSchemaUpdate-All_Statements-5879.sql.
      09:49:04,571 INFO [service.descriptor.DescriptorService] Alfresco license: Creating time limited trial license
      09:49:05,064 INFO [repo.admin.ConfigurationChecker] Le répertoire racine de données d'Alfresco ('dir.root') est : /opt/alfresco211nfs3/alf_data
      09:49:05,078 INFO [admin.patch.PatchExecuter] Vérification des correctifs à appliquer ...
      09:49:05,268 INFO [admin.patch.PatchExecuter] Applying patch 'patch.wcmFolders' (patch.wcmFolders.description).
      09:49:05,382 INFO [admin.patch.PatchExecuter]
      === Correctif Appliqué ===
      ID : patch.wcmFolders
      RESULTAT :
      The Web Projects folder was successfully created: workspace://SpacesStore/9b2cd1d0-c5aa-11dc-8b2a-7336d1feff4e
      The Web Forms folder was successfully created: workspace://SpacesStore/9b2cd1d0-c5aa-11dc-8b2a-7336d1feff4e
      =====================================
      09:49:05,384 INFO [repo.module.ModuleServiceImpl] 0 module(s) trouvé(s).
      09:49:05,665 WARN [alfresco.util.OpenOfficeConnectionTester] La connexion à OpenOffice n'a pu être établie.
      09:49:05,669 INFO [service.descriptor.DescriptorService] Alfresco JVM - v1.6.0_03-b05; maximum heap size 489,188MB
      09:49:05,669 WARN [service.descriptor.DescriptorService] Alfresco JVM - WARNING - maximum heap size 489,188MB is less than recommended 512MB
      09:49:05,755 INFO [service.descriptor.DescriptorService] Alfresco license: Enterprise Network granted to Trial User limited to 30 days expiring Sun Feb 17 00:00:00 GMT 2008 (30 days remaining)
      09:49:05,755 INFO [service.descriptor.DescriptorService] Alfresco started (Enterprise Network): Current version 2.1.1 (193) schema 77 - Installed version 2.1.1 (193) schema 77
      18 janv. 2008 09:49:07 org.apache.coyote.http11.Http11BaseProtocol start
      INFO: Démarrage de Coyote HTTP/1.1 sur http-8080
      18 janv. 2008 09:49:07 org.apache.catalina.storeconfig.StoreLoader load
      INFO: Find registry server-registry.xml at classpath resource
      18 janv. 2008 09:49:07 org.apache.catalina.startup.Catalina start
      INFO: Server startup in 65855 ms

      D) create a document which name contains accents like this one: cetétélà
      (I created in company home)

      E) check the NFS server is running:



      root@amadon:/opt/alfresco211nfs3/tomcat/bin# showmount -e
      Export list for amadon:
      /Alfresco (everyone)
      /AVM (everyone)


      root@amadon:/opt/alfresco211nfs3/tomcat/bin# rpcinfo -p
         program no_version protocole no_port
          100000 2 tcp 111 portmapper
          100000 2 udp 111 portmapper
          100005 1 tcp 60359 mountd
          100005 1 udp 32797 mountd
          100003 3 tcp 511 nfs
          100003 3 udp 511 nfs
          100005 3 tcp 60359 mountd
          100005 3 udp 32797 mountd

      F) mount the Alfresco export:
      mkdir /nfs
      mount -t nfs -o nolock 127.0.0.1:/Alfresco /nfs

      G) observe the bug:

      root@amadon:/opt/alfresco211nfs3/tomcat/bin# ls /nfs
      ls: lecture du répertoire /nfs: Erreur d'entrée/sortie


      tail /var/log/syslog


      Jan 18 09:53:45 amadon kernel: NFS: giant filename in readdir (len d0716fcf)!



      Notes:
      ----------

      when the locale is en_GB.UTF8 the mount can be read but all accents are replaced by question marks.
      It seems that nfsv3 does not allow non 7 bit characters in file names.

        Issue Links

          Activity

          Hide
          Alfresco QA Team added a comment -
          Found in Alfresco 3.2 EE build 391 using RHEL 5, Tomcat 6.0.18, Mysql 5.1.34, JDK 6u16 and RHEL 5 client.
          Show
          Alfresco QA Team added a comment - Found in Alfresco 3.2 EE build 391 using RHEL 5, Tomcat 6.0.18, Mysql 5.1.34, JDK 6u16 and RHEL 5 client.
          Hide
          Gary Spencer added a comment -
          This problem requires UTF-8 support adding to the NFS server code, using the UTF8Normalizer class in a similar way to the FTP code.
          Show
          Gary Spencer added a comment - This problem requires UTF-8 support adding to the NFS server code, using the UTF8Normalizer class in a similar way to the FTP code.
          Hide
          Gary Spencer added a comment -
          Added UTF-8 support to the NFS server via CHK-11262/r18368
          Show
          Gary Spencer added a comment - Added UTF-8 support to the NFS server via CHK-11262/r18368

            People

            • Assignee:
              Closed Issues
              Reporter:
              Alfresco QA Team
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Date of First Response: