Hello!
Sometimes it can happen that a user only sees some entries. In this case the offline cache is defective. After deleting and recreating it all entries are visible again.
In the application log of this user I can find these two lines a bunch of times a day:
Offline file - file has been deleted, will now recreate the file from scratch
Offline file - Database disk image is malformed, trying to delete the file: Path\to\offline.db
We are using RDM 10.1.9.0 with RDMS 2.2.21.0.
Best regards,
Andy
Hi,
Where the database cache is stored exactly? Do you know if it's a network drive or a shared folder?
David Hervieux
It is stored in the default path in LOCALAPPDATA
Hi,
again a user complained about this issue. Find the application log attached.
Best regards,
Andy
Hi Andy
When this occurs, can you check if a process from another RDM is running? I suspect that this sometimes occurs and there is contention when accessing the cache.
Maurice
Hi Maurice,
yes, I can check that if it happens again. But how can there be another RDM process? I tried to manually start it twice, then there is a second process for about a second but then it ends. RDM works normal after I did that.
Best regards,
Andy
The issue appeared again for a user. There was only one process for RDM running. After clearing up the cache I could find this new messages in the log, never saw them before:
24.03.2015 13:59:53, 10.1.9.0 - 32-bit, 1, System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
Parametername: index
bei System.ThrowHelper.ThrowArgumentOutOfRangeException()
bei System.Collections.Generic.List`1.RemoveAt(Int32 index)
bei System.Collections.Generic.List`1.Remove(T item)
bei Devolutions.RemoteDesktopManager.Business.DebugStopwatchManager.cb0aac59af60c51d7161165a47a2ad3ae(DebugStopwatch c84e8087bca95a5c8360dbc140f64f30d)
bei Devolutions.RemoteDesktopManager.Business.DebugStopwatch.Dispose()
bei Devolutions.RemoteDesktopManager.Managers.OfflineManager.c2003f33b05659ffe7ea3546ebd6ce300(BaseConnectionDataSource c7f28727fc7a5daa94ba08f688b2a5781, Boolean c0f381ad765fb6350e74d3bf32b4f4713)
bei Devolutions.RemoteDesktopManager.Managers.OfflineManager.Save(BaseConnectionDataSource dataSource)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.c17700cd39476a35b5d68da1c4cb61a28(BaseConnectionDataSource c01af917dca3518ff73ed69848f95f91a, Connection[] c50b46350a70ce17c145f8c929ee5883e)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.ca4799bebd8b706f34eea94a778843b55(BaseConnectionDataSource c01af917dca3518ff73ed69848f95f91a)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource connectionDataSource)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.RefreshConnections()
bei Devolutions.RemoteDesktopManager.Forms.FrmMainRibbonBase.RefreshAllConnectionView(Boolean saveState, Boolean checkOnline)
bei Devolutions.RemoteDesktopManager.Managers.MainFormManager.DoFirstLoad(IMainForm mainform)
bei Devolutions.RemoteDesktopManager.Forms.FrmMainRibbon.cae3b4c7c167cf0d9747ac4fee11ac00a(Object c19f185fd70cefc696ba148af1c4faf54, EventArgs cf1018bb83ec7debd818319fd3cb4844e)
bei System.Windows.Forms.Timer.OnTick(EventArgs e)
bei System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
24.03.2015 13:59:53, 10.1.9.0 - 32-bit, 2, System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
Parametername: index
bei System.ThrowHelper.ThrowArgumentOutOfRangeException()
bei System.Collections.Generic.List`1.RemoveAt(Int32 index)
bei System.Collections.Generic.List`1.Remove(T item)
bei Devolutions.RemoteDesktopManager.Business.DebugStopwatchManager.cb0aac59af60c51d7161165a47a2ad3ae(DebugStopwatch c84e8087bca95a5c8360dbc140f64f30d)
bei Devolutions.RemoteDesktopManager.Business.DebugStopwatch.Dispose()
bei Devolutions.RemoteDesktopManager.Managers.OfflineManager.c2003f33b05659ffe7ea3546ebd6ce300(BaseConnectionDataSource c7f28727fc7a5daa94ba08f688b2a5781, Boolean c0f381ad765fb6350e74d3bf32b4f4713)
bei Devolutions.RemoteDesktopManager.Managers.OfflineManager.Save(BaseConnectionDataSource dataSource)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.c17700cd39476a35b5d68da1c4cb61a28(BaseConnectionDataSource c01af917dca3518ff73ed69848f95f91a, Connection[] c50b46350a70ce17c145f8c929ee5883e)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.ca4799bebd8b706f34eea94a778843b55(BaseConnectionDataSource c01af917dca3518ff73ed69848f95f91a)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections(BaseConnectionDataSource connectionDataSource)
bei Devolutions.RemoteDesktopManager.Managers.ConnectionManager.RefreshConnections()
bei Devolutions.RemoteDesktopManager.Forms.FrmMainRibbonBase.RefreshAllConnectionView(Boolean saveState, Boolean checkOnline)
bei Devolutions.RemoteDesktopManager.Managers.MainFormManager.DoFirstLoad(IMainForm mainform)
bei Devolutions.RemoteDesktopManager.Forms.FrmMainRibbon.cae3b4c7c167cf0d9747ac4fee11ac00a(Object c19f185fd70cefc696ba148af1c4faf54, EventArgs cf1018bb83ec7debd818319fd3cb4844e)
bei System.Windows.Forms.Timer.OnTick(EventArgs e)
bei System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Another point is that this issue mostly happens for the same users.
Thank you for the logs they have been proven very helpful. I will resolve the issue. Should be in the next beta release.
Best regards,
Stéfane Lavergne
I've made a fix that should resolve the issue. It will be in the next beta build.
Best regards,
Stéfane Lavergne
Should it be in V 10.4.1.0 ?
Yes that's correct.
Stéfane Lavergne
Thank you! We will test it immediately.
Hello Stefane,
unfortunately the same issue appears again with V 10.4.1.0 and 10.5.0.0.
Can I somehow offer you more information to eliminate it?
Best regards,
Andy
edited by andybandy on 4/1/2015
Could you please double check the file version of the following files: (it should be v1.0.84.0)
System.Data.SQLite.dll
x86\SQLite.Interop.dll
x64\SQLite.Interop.dll
Back in v9.? we had issues with a version of SQLite (causing malformed file errors), could it be that for some reason that machine still has the other version of SQLite.
Best regards,
Stéfane Lavergne
This 3 files have version 1.0.84.0
That would have been too easy :-(
Ok so I re-read the entire thread and nothing else has jumped out that could help me. So let's try this, please:
- on the affected machine
- close RDM
- find and delete the offline.db file
- start RDM
- open Profiler (Help -> Profiler)
- CTRL + refresh (F5)
- the trace information should be normal, no crash or anything
- keep the profiler running
- provoke, if possible, the malformed issue
- CTRL + refresh
- send me the trace information via "Send Trace to Support" with "Attn: Stefane"
I hoping there is something in the trace to can pint point the issue. In the mean time I will add an option in the next build to force the offline cache on the main thread (not background). It will slow down the load but should stop this issue from happening in this particular case.
Best regards,
Stéfane Lavergne