Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7194370

(fs) WatchService fails if volume S/N is 0 [win]

XMLWordPrintable

    • b69
    • x86
    • windows_xp
    • Not verified

      FULL PRODUCT VERSION :
      java version "1.7.0_06"
      Java(TM) SE Runtime Environment (build 1.7.0_06-b24)
      Java HotSpot(TM) Client VM (build 23.2-b09, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows XP [Version 5.1.2600]

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      I have XP running in a VM using VMWare Fusion on OS X 10.8.1. I have smb file sharing turned on and I map a network drive from the XP to a shared directory on OS X.

      A DESCRIPTION OF THE PROBLEM :
      Using the WatchService to watch a directory in a Network Share whose Volume Serial Number is 0000-0000 causes hang.

      java.lang.AssertionError: Should not get here
            at sun.nio.fs.WindowsFileAttributes.volSerialNumber(WindowsFileAttributes.java:387)
            at sun.nio.fs.WindowsWatchService$Poller.implRegister(WindowsWatchService.java:361)
            at sun.nio.fs.AbstractPoller.processRequests(AbstractPoller.java:260)
            at sun.nio.fs.WindowsWatchService$Poller.run(WindowsWatchService.java:531)
            at java.lang.Thread.run(Thread.java:722)


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      On windows map a network drive to a smb share from os x.

      Create a Directory Watcher ( java.nio.file.WatchService ) for a directory on the mapped drive.

      Error occurs

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The directory watcher should handle this error better - probably should check the directory when the directory tries to register itself vs the error coming from the poll thread.
      ACTUAL -
      java.lang.AssertionError: Should not get here
            at sun.nio.fs.WindowsFileAttributes.volSerialNumber(WindowsFileAttributes.java:387)
            at sun.nio.fs.WindowsWatchService$Poller.implRegister(WindowsWatchService.java:361)
            at sun.nio.fs.AbstractPoller.processRequests(AbstractPoller.java:260)
            at sun.nio.fs.WindowsWatchService$Poller.run(WindowsWatchService.java:531)
            at java.lang.Thread.run(Thread.java:722)


      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.AssertionError: Should not get here
            at sun.nio.fs.WindowsFileAttributes.volSerialNumber(WindowsFileAttributes.java:387)
            at sun.nio.fs.WindowsWatchService$Poller.implRegister(WindowsWatchService.java:361)
            at sun.nio.fs.AbstractPoller.processRequests(AbstractPoller.java:260)
            at sun.nio.fs.WindowsWatchService$Poller.run(WindowsWatchService.java:531)
            at java.lang.Thread.run(Thread.java:722)


      REPRODUCIBILITY :
      This bug can be reproduced always.

            dxu Dan Xu (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: