Hi,
This is v7.1.2 - I have run into a recurring bug in the Sync Editor. If I simulate any sync project, something goes wrong with the Z order of the popups and dialogs, for example the splash screen for the report appears but I can't click on anything and won't see the report until after I have twice tried to kill the synchronization project editor process.
The first attempt to kill the process creates a modal confirmation to close the sync editor. This is unclickable, unfocusable and is stuck behind the splash screen. The second attempt closes the modal dialog, and once that's done the splash screen disappears and the sync report window opens as normal.
I've done this probably 20 times without any noticeable issue but yesterday I was working on a mature sync project which has been saved successfully on many occasions in the past, and this time the sync editor terminated completely on the first attempt (without putting up the confirmation popup).
Since restarting the sync editor, I cannot save or commit the sync project I was working on, due to the following errors:
[810023] Error during execution of statement: update DPRProjectionStartInfo set UID_DPRRootObjConnectionInfo = '47d44cff-baec-49b9-9b4b-95821496f364', xdateupdated = GetUTCDate(), xuserupdated = N'viadmin' where (DPRProjectionStartInfo.UID_DPRProjectionStartInfo = 'CCC-D8DD3EEBEF981947B9C167D7E7A47E90') and (isnull(DPRProjectionStartInfo.UID_DPRRootObjConnectionInfo, '') = '')
at VI.DB.Entities.UnitOfWorkImpl.<CommitAsync>d__41.MoveNext()
[810143] Database error 547: The UPDATE statement conflicted with the FOREIGN KEY constraint "DPR_RFRL2497".
The conflict occurred in database "OneIM712", table "dbo.DPRRootObjConnectionInfo", column 'UID_DPRRootObjConnectionInfo'.
The statement has been terminated.
There is no object with this UID_DPRProjectionStartInfo value shown in this error.
There is also no object with the UID_DPRRootObjConnectionInfo shown in this error.
Is there any way to fix this without completely scrapping and rebuilding restarting the sync project? Because I now can't even roll back to the last successfully saved version of the sync project, and rebuilding it completely will take a couple of weeks.
Crash report:
2017-10-01 10:50:35 ObjectLog Old state: Loaded, New state: Loaded, PermissionBased
2017-10-01 10:50:35 ObjectLog Old state: Loaded, New state: Loaded, PermissionBased
2017-10-01 10:50:35 ObjectLog Session variable: Removing ProjectorContext.
2017-10-01 10:50:35 ObjectLog DPRProjectionStartInfo: Getting collection, load type: Bulk
2017-10-01 10:50:35 SqlLog (1 ms) - select BulkLevel, DebugMode, Description, DisplayName, LastStart, LoadPartitionedThreshold, MaintenanceRetryCycles, MaintenanceType, Name, NameFormat, PartitionSize, ProjectionDirection, RevisionHandling, SerializationBag, UID_DPRProjectionConfig, UID_DPRProjectionStartInfo, UID_DPRRootObjConnectionInfo, UID_DPRShell, UID_DPRSystemVariableSet, UID_QBMClrType, UseSingleProcessContextExec, XDateInserted, XDateUpdated, XObjectKey, XTouched, XUserInserted, XUserUpdated from DPRProjectionStartInfo where (DPRProjectionStartInfo.UID_DPRShell = 'CCC-CEB4000E09C6F24DAE216DEC136D1B48') order by DisplayName
2017-10-01 10:50:35 ObjectLog Collection: Run statement and fetch data done in 2ms.
2017-10-01 10:50:35 ObjectLog Getting collection done in 2ms.
2017-10-01 10:50:35 ObjectLog Old state: Loaded, New state: Loaded, PermissionBased
2017-10-01 10:50:35 ObjectLog Old state: Loaded, New state: Loaded, PermissionBased
2017-10-01 10:50:35 ObjectLog DPRProjectionStartInfo.UID_DPRRootObjConnectionInfo = c6904b08-ffe8-448e-8718-05d3815e2cda
2017-10-01 10:50:35 ObjectLog DB sink: Putting entity 'CCC-2783FFB4BD19844E81335F3E1FE77E12' of table 'DPRProjectionStartInfo' with state Loaded, PermissionBased into database queue (level 0)
2017-10-01 10:50:35 ObjectLog Begin transaction in read/write entity
2017-10-01 10:50:35 ObjectLog Delayed Logic: OnSaving for CCC-2783FFB4BD19844E81335F3E1FE77E12
2017-10-01 10:50:35 ObjectLog Initializing logic...
2017-10-01 10:50:35 ObjectLog DPRProjectionStartInfo: Initializing Customizer
2017-10-01 10:50:35 ObjectLog Action on SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _ProductionLevel
2017-10-01 10:50:35 ObjectLog Result: SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Action on SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _NormalGuidsAllowed
2017-10-01 10:50:35 ObjectLog Result: SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Executing OnLoaded...
2017-10-01 10:50:35 ObjectLog Customizer OnLoaded
2017-10-01 10:50:35 ObjectLog Action on SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _ProductionLevel
2017-10-01 10:50:35 ObjectLog Result: SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Action on SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _NormalGuidsAllowed
2017-10-01 10:50:35 ObjectLog Result: SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Fast path, because there are no colliding changes from Init or OnLoaded
2017-10-01 10:50:35 ObjectLog Applying logic changes from init and loaded...
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Applying entity changes...
2017-10-01 10:50:35 ObjectLog Check and execute column format Single Line with c6904b08-ffe8-448e-8718-05d3815e2cda
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Calling OnSaving logic...
2017-10-01 10:50:35 ObjectLog Applying changes...
2017-10-01 10:50:35 ObjectLog Delayed Logic: OnSaved for CCC-2783FFB4BD19844E81335F3E1FE77E12
2017-10-01 10:50:35 ObjectLog Commit transaction in read/write entity
2017-10-01 10:50:35 ObjectLog Old state: Loaded, PermissionBased, New state: Loaded, Saved, PermissionBased
2017-10-01 10:50:35 ObjectLog DPRProjectionStartInfo.UID_DPRRootObjConnectionInfo = 47d44cff-baec-49b9-9b4b-95821496f364
2017-10-01 10:50:35 ObjectLog DB sink: Putting entity 'CCC-D8DD3EEBEF981947B9C167D7E7A47E90' of table 'DPRProjectionStartInfo' with state Loaded, PermissionBased into database queue (level 0)
2017-10-01 10:50:35 ObjectLog Begin transaction in read/write entity
2017-10-01 10:50:35 ObjectLog Delayed Logic: OnSaving for CCC-D8DD3EEBEF981947B9C167D7E7A47E90
2017-10-01 10:50:35 ObjectLog Initializing logic...
2017-10-01 10:50:35 ObjectLog DPRProjectionStartInfo: Initializing Customizer
2017-10-01 10:50:35 ObjectLog Action on SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _ProductionLevel
2017-10-01 10:50:35 ObjectLog Result: SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Action on SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _NormalGuidsAllowed
2017-10-01 10:50:35 ObjectLog Result: SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Executing OnLoaded...
2017-10-01 10:50:35 ObjectLog Customizer OnLoaded
2017-10-01 10:50:35 ObjectLog Action on SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _ProductionLevel
2017-10-01 10:50:35 ObjectLog Result: SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Action on SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _NormalGuidsAllowed
2017-10-01 10:50:35 ObjectLog Result: SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
2017-10-01 10:50:35 ObjectLog Fast path, because there are no colliding changes from Init or OnLoaded
2017-10-01 10:50:35 ObjectLog Applying logic changes from init and loaded...
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Applying entity changes...
2017-10-01 10:50:35 ObjectLog Check and execute column format Single Line with 47d44cff-baec-49b9-9b4b-95821496f364
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Customizer SetValueAsync
2017-10-01 10:50:35 ObjectLog Calling OnSaving logic...
2017-10-01 10:50:35 ObjectLog Applying changes...
2017-10-01 10:50:35 ObjectLog Db Operations Queue: Operation Update on <Key><T>DPRProjectionStartInfo</T><P>CCC-D8DD3EEBEF981947B9C167D7E7A47E90</P></Key> added to database queue.
2017-10-01 10:50:35 ObjectLog Delayed Logic: OnSaved for CCC-D8DD3EEBEF981947B9C167D7E7A47E90
2017-10-01 10:50:35 ObjectLog Commit transaction in read/write entity
2017-10-01 10:50:35 ObjectLog Old state: Loaded, PermissionBased, New state: Loaded, Saved, PermissionBased
2017-10-01 10:50:35 ObjectLog DB sink: Flushing database queue
2017-10-01 10:50:35 ObjectLog Db Operations Queue: Flush triggered from outside.
2017-10-01 10:50:35 ObjectLog Flushing 1 operations
2017-10-01 10:50:35 SqlLog Setting DB context data to: user = viadmin, id = 247c8e73-68b2-4060-80ea-c28eb74e8185, level = 0
2017-10-01 10:50:35 SqlLog (2 ms) - update DPRProjectionStartInfo set UID_DPRRootObjConnectionInfo = '47d44cff-baec-49b9-9b4b-95821496f364', xdateupdated = GetUTCDate(), xuserupdated = N'viadmin' where (DPRProjectionStartInfo.UID_DPRProjectionStartInfo = 'CCC-D8DD3EEBEF981947B9C167D7E7A47E90') and (isnull(DPRProjectionStartInfo.UID_DPRRootObjConnectionInfo, '') = '')
2017-10-01 10:50:35 ObjectLog Session: Rollback Transaction
2017-10-01 10:50:35 SqlLog Resetting DB context data.
2017-10-01 10:50:35 SqlLog (5 ms) - ROLLBACK TRANSACTION
2017-10-01 10:50:35 SqlLog (3166 ms) - Physical Transaction
2017-10-01 10:50:35 SqlLog (3166 ms) - Pinned physical connection
2017-10-01 10:50:35 StopWatch Save to database... done in 3.17s.
2017-10-01 10:50:35 VI.FormBase.ExceptionMgr One or more errors occurred.