CmisSync
CmisSync copied to clipboard
CmisSync.console.exe never end
Hi, CmisSync.console.exe never end when I update 2 The last log is : DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - before SetContentStream
Thinks for help. Mathieu
debug_log.txt 2016-05-19 14:03:02,700 [1] INFO CmisSync.Lib.RepoBase [(null)] - Repo testsSynchro - Set poll interval to 3600000ms 2016-05-19 14:03:02,721 [1] INFO CmisSync.Lib.Sync.CmisRepo [(null)] - CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder 2016-05-19 14:03:02,726 [1] INFO CmisSync.Lib.RepoBase [(null)] - Full Sync Started: \vmsiege124\espacepro_synchro$\testsSynchro 2016-05-19 14:03:03,333 [1] INFO CmisSync.Auth.Auth [(null)] - VendorName: Alfresco 2016-05-19 14:03:03,333 [1] INFO CmisSync.Auth.Auth [(null)] - ProductName: Alfresco Community 2016-05-19 14:03:03,333 [1] INFO CmisSync.Auth.Auth [(null)] - ProductVersion: 4.2.0 (r63893-b12) 2016-05-19 14:03:03,333 [1] INFO CmisSync.Auth.Auth [(null)] - CmisVersionSupported: 1.1 2016-05-19 14:03:03,333 [1] INFO CmisSync.Auth.Auth [(null)] - Name: 2016-05-19 14:03:03,333 [1] INFO CmisSync.Auth.Auth [(null)] - Description: 2016-05-19 14:03:03,333 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Created CMIS session: DotCMIS.Client.Impl.Session 2016-05-19 14:03:03,334 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - ChangeLog capability: False 2016-05-19 14:03:03,334 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Get folder tree support: True 2016-05-19 14:03:03,334 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Get descendants support: True 2016-05-19 14:03:03,334 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Chunked Up/Download disabled 2016-05-19 14:03:03,712 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - First sync, apply local changes then invoke a full crawl sync 2016-05-19 14:03:03,715 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Checking for local changes 2016-05-19 14:03:03,723 [1] INFO CmisSync.Lib.Database.Database [(null)] - Checking whether database C:\Users\gavet_ma\AppData\Roaming\cmissync\testsSynchro.cmissync exists 2016-05-19 14:03:03,769 [1] INFO CmisSync.Lib.Database.DatabaseMigration [(null)] - Checking whether database C:\Users\gavet_ma\AppData\Roaming\cmissync\testsSynchro.cmissync exists 2016-05-19 14:03:04,019 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Applying 3 changes. 2016-05-19 14:03:04,311 [1] INFO CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Updating: \vmsiege124\espacepro_synchro$\testsSynchro_testVersions.pdf 2016-05-19 14:03:04,417 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - before SetContentStream 2016-05-19 14:03:05,109 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - after SetContentStream 2016-05-19 14:03:06,511 [1] INFO CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Updated: \vmsiege124\espacepro_synchro$\testsSynchro_testVersions.pdf 2016-05-19 14:03:06,734 [1] INFO CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - Updating: \vmsiege124\espacepro_synchro$\testsSynchro_testVersion.docx 2016-05-19 14:03:06,903 [1] DEBUG CmisSync.Lib.Sync.CmisRepo+SynchronizedFolder [(null)] - before SetContentStream
Where is the problem in the log? I don't see any crash... what line?
Do you mean the problem happens only when you define this Alfresco rule? Or is the problem fixed?
Thank you for testing, and for the feedback!
Hi,
Where is the problem in the log? I don't see any crash... what line?
There are now crash, CmisSync.console.exe never end
Do you mean the problem happens only when you define this Alfresco rule?
At the start i think the Alfresco rule is the cause of this BUG but it is a mistake.
is the problem fixed?
No. Below the exception. I will try to solve this bug but I think I not enough skill in dev.
Do you have some tips for help me ?
Le thread '<Aucun nom>' (0x28ec) s'est arrêté avec le code 0 (0x0).
Exception levée : 'System.NullReferenceException' dans CmisSync.Lib.dll
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Exception non prise en charge</Description><AppDomain>CmisSync.Console.vshost.exe</AppDomain><Exception><ExceptionType>System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>La référence d'objet n'est pas définie à une instance d'un objet.</Message><StackTrace> à CmisSync.Lib.Watcher.InvokeChangeEvent(FileSystemEventArgs args) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Watcher.cs:ligne 250
à CmisSync.Lib.Watcher.ChangeHandle(FileSystemEventArgs change) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Watcher.cs:ligne 204
à CmisSync.Lib.Watcher.OnRenamed(Object source, RenamedEventArgs e) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Watcher.cs:ligne 198
à System.IO.FileSystemWatcher.OnRenamed(RenamedEventArgs e)
à System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
à System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)</StackTrace><ExceptionString>System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à CmisSync.Lib.Watcher.InvokeChangeEvent(FileSystemEventArgs args) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Watcher.cs:ligne 250
à CmisSync.Lib.Watcher.ChangeHandle(FileSystemEventArgs change) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Watcher.cs:ligne 204
à CmisSync.Lib.Watcher.OnRenamed(Object source, RenamedEventArgs e) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Watcher.cs:ligne 198
à System.IO.FileSystemWatcher.OnRenamed(RenamedEventArgs e)
à System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
à System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)</ExceptionString></Exception></TraceRecord>
Could you please give the same message with the latest beta? (at the top of https://bitbucket.org/aegif/cmissync/downloads/ )
I will try with the latest beta.
For solve this issue, I update CmisSync\CmisSync.Lib\Watcher.cs (L 250) But I not solve the cause.
// mathieuGa 2016-08-02 //origne ChangeEvent(this, args); try { ChangeEvent(this, args); } catch (Exception e) { Logger.Debug("mathieuGa"); Logger.Debug("InvokeChangeEvent Exception: " + e); } // mathieuGa 2016-08-02
Hi,
I try the new version and now CmisSync.console.exe crash without log.
The console version of CmisSync should not use the watcher indeed, this is a bug, thanks for your feedback! Unfortunately we are quite busy with paying customers right now :-/
On Wed, Aug 3, 2016 at 3:40 PM, MathieuGa [email protected] wrote:
Hi, I try the new version and now CmisSync.console.exe crash without log. [image: error] https://cloud.githubusercontent.com/assets/8363615/17356099/a5505032-5955-11e6-88c0-9398454169ba.png
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/aegif/CmisSync/issues/678#issuecomment-237155447, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGFBgaImx8rREemenEy9zJE6l0G20T2ks5qcDf3gaJpZM4IiONr .
I try new tests without using the watcher however my bug is not resolve...
I follow the code and my bug come when i passe on the function : request.ConnectionAsyncResult.InternalWaitForCompletion() (in ~\AppData\Local\Temp\SymbolCache\src\Source\01055.00\Source\ndp\fx\src\net\System\Net_Connection.cs)
So I mack some search with google and i found this articles. http://www.codeproject.com/Articles/884036/Timeouts-When-Making-Web-Requests-in-NET?msg=5016553.
I agree with the conclusion : "we forgot to close (or dispose) the first response". Someone can help me to solve this issue ?
For information i think the new bug https://github.com/aegif/CmisSync/issues/722 have the same cause.
My last .NET logs:
System.Net Information: 0 : [5296] Associating Connection#6925935 with HttpWebRequest#37626701
DateTime=2016-08-31T09:36:35.9374245Z
Callstack= à System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
à System.Environment.get_StackTrace()
à System.Diagnostics.TraceEventCache.get_Callstack()
à System.Diagnostics.TraceListener.WriteFooter(TraceEventCache eventCache)
à System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)
à System.Net.Logging.PrintLine(TraceSource traceSource, TraceEventType eventType, Int32 id, String msg)
à System.Net.Connection.SubmitRequest(HttpWebRequest request, Boolean forcedsubmit)
à System.Net.ServicePoint.SubmitRequest(HttpWebRequest request, String connName)
à System.Net.HttpWebRequest.SubmitRequest(ServicePoint servicePoint)
à System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
à System.Net.HttpWebRequest.GetRequestStream()
à DotCMIS.Binding.Impl.HttpUtils.Invoke(UrlBuilder url, String method, String contentType, Output writer, BindingSession session, Nullable1 offset, Nullable
1 length, IDictionary2 headers) dans D:\dev\Git\cmissync\CmisSync\Extras\OpenDataSpaceDotCMIS\DotCMIS\binding\http.cs:ligne 263 à DotCMIS.Binding.Impl.HttpUtils.InvokePUT(UrlBuilder url, String contentType, IDictionary
2 headers, Output writer, BindingSession session) dans D:\dev\Git\cmissync\CmisSync\Extras\OpenDataSpaceDotCMIS\DotCMIS\binding\http.cs:ligne 103
à DotCMIS.Binding.AtomPub.ObjectService.SetContentStream(String repositoryId, String& objectId, Nullable1 overwriteFlag, String& changeToken, IContentStream contentStream, IExtensionsData extension) dans D:\dev\Git\cmissync\CmisSync\Extras\OpenDataSpaceDotCMIS\DotCMIS\binding\atompub\atompub.cs:ligne 2147 à DotCMIS.Client.Impl.Document.SetContentStream(IContentStream contentStream, Boolean overwrite, Boolean refresh) dans D:\dev\Git\cmissync\CmisSync\Extras\OpenDataSpaceDotCMIS\DotCMIS\client\client-objects.cs:ligne 907 à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.UpdateFile(String localFilePath, IDocument remoteFile) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\SynchronizedFolder.cs:ligne 1264 à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.UpdateFile(String filePath, IFolder remoteFolder) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\SynchronizedFolder.cs:ligne 1353 à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CheckLocalFile(String filePath, IFolder remoteFolder, IList
1 remoteFiles) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\CrawlStrategy.cs:ligne 603
à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CheckLocalFiles(String localFolder, IFolder remoteFolder, IList`1 remoteFiles) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\CrawlStrategy.cs:ligne 493
à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.CrawlSync(IFolder remoteFolder, String remotePath, String localFolder) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\CrawlStrategy.cs:ligne 100
à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.Sync(Boolean syncFull) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\SynchronizedFolder.cs:ligne 438
à CmisSync.Lib.Sync.CmisRepo.SynchronizedFolder.SyncInNotBackground(Boolean syncFull) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\SynchronizedFolder.cs:ligne 506
à CmisSync.Lib.Sync.CmisRepo.SyncInNotBackground(Boolean syncFull) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\CmisRepo.cs:ligne 129
à CmisSync.Lib.Sync.CmisRepo.SyncInNotBackground() dans D:\dev\Git\cmissync\CmisSync\CmisSync.Lib\Sync\CmisRepo.cs:ligne 143
à CmisSync.Console.CmisSyncOnce.Sync() dans D:\dev\Git\cmissync\CmisSync\CmisSync.Console\CmisSyncOnce.cs:ligne 86
à CmisSync.Console.CmisSyncOnce.Main(String[] args) dans D:\dev\Git\cmissync\CmisSync\CmisSync.Console\CmisSyncOnce.cs:ligne 57
I update CmisSync\Extras\OpenDataSpaceDotCMIS\DotCMIS\binding\http.cs (L255) with the following code and my first test is ok. I will make more tests and if it is ok i send a pull request.
//desibel Expect100Continue //(do nothing the first time, need more test for valid this line) conn.ServicePoint.Expect100Continue = false; //set connection limit to 10 //(may be 2 is ok or may be we need to foud a parameter for no limite.) conn.ServicePoint.ConnectionLimit = 10;
Thanks for the investigation!
You said #722 might be linked, I think I have fixed it yesterday so you might be interested in trying it :-)