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.Bootstrapper: An unhandled AppDomain exception occurred #253

Closed
sfcmgr opened this issue Apr 22, 2016 · 11 comments
Closed

SyncTrayzor.Bootstrapper: An unhandled AppDomain exception occurred #253

sfcmgr opened this issue Apr 22, 2016 · 11 comments

Comments

@sfcmgr
Copy link

sfcmgr commented Apr 22, 2016

Hi,

We've been having a few crashes with SyncTrayzor 1.1.8 portable version during the initial synchronisation of folders between ~2 and ~20GB with the following error in the logs and event viewer:

SyncTrayzor.log:

2016-04-22 15:15:59.9922 #3720 [Error] SyncTrayzor.Bootstrapper: An unhandled AppDomain exception occurred. Terminating: True System.ArgumentNullException Value cannot be null.
Parameter name: path1 System.String Combine(System.String, System.String)    at Pri.LongPath.Path.Combine(String path1, String path2)
   at SyncTrayzor.Services.FileWatcher.OnRenamed(Object source, RenamedEventArgs e) in C:\projects\synctrayzor\src\SyncTrayzor\Services\FileWatcher.cs:line 219
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) System.ArgumentNullException: Value cannot be null.
Parameter name: path1
   at Pri.LongPath.Path.Combine(String path1, String path2)
   at SyncTrayzor.Services.FileWatcher.OnRenamed(Object source, RenamedEventArgs e) in C:\projects\synctrayzor\src\SyncTrayzor\Services\FileWatcher.cs:line 219
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Application Event 1026, .NET Runtime

Application: SyncTrayzor.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException
Stack:
   at Pri.LongPath.Path.Combine(System.String, System.String)
   at SyncTrayzor.Services.FileWatcher.OnRenamed(System.Object, System.IO.RenamedEventArgs)
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32, UInt32, System.Threading.NativeOverlapped*)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

Application Event 1000, Application Error

Faulting application name: SyncTrayzor.exe, version: 1.1.8.329, time stamp: 0x56ed92cd
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18939, time stamp: 0x55b02e7b
Exception code: 0xe0434352
Fault offset: 0x000000000000b16d
Faulting process id: 0xe88
Faulting application start time: 0x01d19ca1466ac035
Faulting application path: C:\res\cache\Resources\custom_resources\Applications\Syncthing\v0.12.20\SyncTrayzor\SyncTrayzor.exe
Faulting module path: C:\WINDOWS\system32\KERNELBASE.dll
Report Id: bc901e81-0894-11e6-a362-d067e54b6f1d

These errors seem similar to
#230
#227
#115
#112

which are all fixed in earlier versions,

Happy to gather any more logs / diagnostics to help debug.

We have seen a number of failed renames during the sync - which just retry and succeed straight after - I presumed it was our anti-virus fighting for a lock on the new file but the sync usually completes.

When SyncTrayzor crashes with the above error Syncthing continues the sync to completion in the background

SyncTrayzor is started minimised but during the initial sync its opened to see the progress

@canton7
Copy link
Owner

canton7 commented Apr 22, 2016

Interesting... thanks. I'll look into it.

@canton7
Copy link
Owner

canton7 commented Apr 24, 2016

Are you synchronizing files which are in the root of a drive? That is, have you created a Syncthing folder which is a whole drive?

@sfcmgr
Copy link
Author

sfcmgr commented Apr 24, 2016

We have a folder c:\localdocs\username which is substituted to N: to mirror our network logins and the sync is configured with n: as the target otherwise Synctrayzor's conflicted files popup tries to open the link on c: drive which is hidden from users.

So in essence it probably does appear as a root drive being synced, yes, but one dedicated to the sync,

@canton7
Copy link
Owner

canton7 commented Apr 24, 2016

Aha cool, that explains what's going on!

Well, partly. Windows is still giving me some odd filesystem change notifications.

@canton7
Copy link
Owner

canton7 commented Apr 24, 2016

Mind trying this (when it's built): https://ci.appveyor.com/project/canton7/synctrayzor/build/1.1.8.335/artifacts

@sfcmgr
Copy link
Author

sfcmgr commented Apr 24, 2016

Of course! I can test it on Monday, don't have access to the devices on the weekend!

edit: realised I forgot to say - Thanks!

@sfcmgr
Copy link
Author

sfcmgr commented Apr 25, 2016

I put the new version on for testing - but managed to find a huge issue with the way we had everything configured, which doesn't make a great deal of sense!

Our users map N:\ to their network share on login - on our laptops we subst c:\localdocs\username to N:\ overwriting the network share.

For some reason Syncthing was seeing a halfway between both for indexing - we could create files on the laptop in the root, or create a new folder and neither would sync, however creating a new file in a subdirectory would work.

I've switched our config to point to the real location of the files in c:\localdocs\username and everything is now indexing and syncing correctly, we loose the use of the conflicts resolver being able to open the folder directly (as we hide the c: drive from normal users to prevent saving files outside of the sync'ed areas) but I think its too much of a risk to leave the config as is and try and resolve it as its probably some windows sillyness when overwriting a drive map with a susbst.

The downside is I wasn't able to give a proper test to the fix for the root folder though, sorry, but thank you for looking at the issue so quickly!

@canton7
Copy link
Owner

canton7 commented Apr 25, 2016

For some reason Syncthing was seeing a halfway between both for indexing - we could create files on the laptop in the root, or create a new folder and neither would sync, however creating a new file in a subdirectory would work.

Just to be clear: are you relying on SyncTrayzor's filesystem notifications here to trigger a rescan, or are you waiting for Syncthing to scan the folder on its own (or pressing the Rescan button in the GUI)?

we loose the use of the conflicts resolver being able to open the folder directly

What exactly is the problem here?

@sfcmgr
Copy link
Author

sfcmgr commented Apr 25, 2016

Just to be clear: are you relying on SyncTrayzor's filesystem notifications here to trigger a rescan, or are you waiting for Syncthing to scan the folder on its own (or pressing the Rescan button in the GUI)?

Both - Syncthing is configured for 1 hour check so SyncTrayzor's notification should be handling most changes - pressing rescan in the GUI didn't add any files to the index

What exactly is the problem here?

Not a syncthing / synctrayzor issue, its our network configuration as we have group policies preventing explorer access to the c: drive to prevent users saving work in their profile as we use mandatory temporary profiles and they would loose it on logout

@canton7
Copy link
Owner

canton7 commented May 3, 2016

I'm assuming this is fixed in v1.1.9 - please reopen if not.

@canton7 canton7 closed this as completed May 3, 2016
@sfcmgr
Copy link
Author

sfcmgr commented May 4, 2016

Will upgrade and keep an eye on it, thanks for the fix and all the time spent to investigate the issues with me!

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

No branches or pull requests

2 participants