Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SyncTrayzor crashes with System.IO.PathTooLongException on "longer" paths #72

Closed
berrnd opened this issue Apr 27, 2015 · 5 comments
Closed

Comments

@berrnd
Copy link
Contributor

berrnd commented Apr 27, 2015

Syncthing v0.11.0 now supports extended-length paths, since I upgraded SyncTrayzor randomly crashed, I just tried to reproduce this - it happens everytime when a "longer" path has changed...

Log snippet (found no errors there):

2015-04-27 19:42:27.2717 [Info] SyncTrayzor.Services.DirectoryWatcher: Path Changed: C:\Users\Bernd Bestel\Syncthing\CentralizedApplications\AndroidStudio\_gradledata\wrapper\dists\gradle-1.12-all\4ff8jj5a73a7zgj5nnzv1ubq0\gradle-1.12\samples\userguide\multiproject\dependencies\javaWithCustomConf\services\personService\src\test\java\org\gradle\sample\services\PersonServiceTessssssssst.java 
2015-04-27 19:42:27.2717 [Debug] SyncTrayzor.SyncThing.ApiClient.SyncThingApiClient: Scanning folder: CentralizedApplications subPath: AndroidStudio/_gradledata/wrapper/dists/gradle-1.12-all/4ff8jj5a73a7zgj5nnzv1ubq0/gradle-1.12/samples/userguide/multiproject/dependencies/javaWithCustomConf/services/personService/src/test/java/org/gradle/sample/services/PersonServiceTessssssssst.java 

image

Problemsignatur:
  Problemereignisname:  CLR20r3
  Problemsignatur 01:   SyncTrayzor.exe
  Problemsignatur 02:   1.0.16.0
  Problemsignatur 03:   55376a6f
  Problemsignatur 04:   mscorlib
  Problemsignatur 05:   4.0.30319.34209
  Problemsignatur 06:   53489fcf
  Problemsignatur 07:   479b
  Problemsignatur 08:   457
  Problemsignatur 09:   System.IO.PathTooLongException
  Betriebsystemversion: 6.1.7601.2.1.0.256.1
  Gebietsschema-ID: 1031
  Zusatzinformation 1:  b544
  Zusatzinformation 2:  b544bf0786efbafa9b00f990b37ca4e1
  Zusatzinformation 3:  4216
  Zusatzinformation 4:  4216977a9835eb779de4fff71429fe17

Lesen Sie unsere Datenschutzbestimmungen online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0407

Wenn die Onlinedatenschutzbestimmungen nicht verfügbar sind, lesen Sie unsere Datenschutzbestimmungen offline:
  C:\Windows\system32\de-DE\erofflps.txt
@canton7
Copy link
Owner

canton7 commented Apr 27, 2015

Oh, lovely, Thanks for reporting this.

Can you open up the event viewer? Go to Start Menu -> Search for 'Event Viewer' -> Windows Logs -> Application. You should find two 'Error' entries for the crash (although there might only be one). Can you give me the details in there?

@berrnd
Copy link
Contributor Author

berrnd commented Apr 27, 2015

The first entry contains no new information, the second one has the stack trace, here it is:

Anwendung: SyncTrayzor.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund eines Ausnahmefehlers beendet.
Ausnahmeinformationen: System.IO.PathTooLongException
Stapel:
   bei System.IO.Path.NormalizePath(System.String, Boolean, Int32, Boolean)
   bei System.IO.Path.GetPathRoot(System.String)
   bei System.IO.RenamedEventArgs.get_OldFullPath()
   bei SyncTrayzor.Services.DirectoryWatcher.OnRenamed(System.Object, System.IO.RenamedEventArgs)
   bei System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32, UInt32, System.Threading.NativeOverlapped*)
   bei System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

@AudriusButkevicius
Copy link

Welcome to the land of syncthing's pain.
\\?\ is the answer 💃

@berrnd
Copy link
Contributor Author

berrnd commented Apr 27, 2015

No, Syncthing is now auto-converting the long paths into a path with \\?\ (I think, regarding the logs).

There are also no errors in the Syncthing console for too long paths (as in v0.10), and Syncthing itself isn't crashing, just SyncTrayzor, so this must be a problem here...

@canton7
Copy link
Owner

canton7 commented Apr 27, 2015

Hrm, I'm going to have to dig into this - nothing obvious on how to make the filesystem watcher accept long paths.

As a workaround, you can disable the directory watching for that folder, in the settings.

I'm afraid I have Jury Duty for the next couple of weeks, so my ability to work on SyncTrayzor is somewhat impaired. I'll hopefully be able to get out a fix soonish, but no promises 😒

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants