Uploaded image for project: 'Nuxeo Drive '
  1. Nuxeo Drive
  2. NXDRIVE-525

Drive fails to synchronize under Windows XP

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.1.120
    • Component/s: Watchdog
    • Sprint:
      drive-8.1-3

      Description

      At watchdog setup we get:

      2016-01-14 15:17:10,851 2480 2672 ERROR nxdrive.engine.workers 'module' object has no attribute 'read_directory_changes'
      Traceback (most recent call last):
      File "nuxeo-drive-client\nxdrive\engine\workers.py", line 140, in run
      File "nuxeo-drive-client\nxdrive\engine\watcher\local_watcher.py", line 104, in _execute
      File "nuxeo-drive-client\nxdrive\engine\watcher\local_watcher.py", line 500, in _setup_watchdog
      AttributeError: 'module' object has no attribute 'read_directory_changes'
      

      It seems that read_directory_changes canoot be imported under XP, see https://pythonhosted.org/watchdog/installation.html#installation-dependencies.

      The Windows API provides the ReadDirectoryChangesW. watchdog currently contains implementation for a synchronous approach requiring additional API functionality only available in Windows Vista and later.

      Here's the watchdog warning under XP:

      Warning (from warnings module):
      File "C:\Python27\lib\site-packages\watchdog\observers__init__.py", line 89
      warnings.warn("Failed to import read_directory_changes. Fall back to polling.")
      UserWarning: Failed to import read_directory_changes. Fall back to polling.
      
      Traceback (most recent call last):
      File "C:\Python27\Lib\site-packages\watchdog\observers\read_directory_changes.py", line 47, in 
      from watchdog.observers.winapi import (
      File "C:\Python27\lib\site-packages\watchdog\observers\winapi.py", line 159, in 
      CancelIoEx = ctypes.windll.kernel32.CancelIoEx
      File "C:\Python27\lib\ctypes__init__.py", line 378, in getattr
      func = self.getitem(name)
      File "C:\Python27\lib\ctypes__init__.py", line 383, in getitem
      func = self._FuncPtr((name_or_ordinal, self))
      AttributeError: function 'CancelIoEx' not found
      

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: