A Non-Repeatable Access Violation Error and Loop

Windows 10, RM 8.2.7.0

The following scenario created an access violation error. Trying to shutdown RM then created the warning message about a previous access violation error. Repeated attempts to shutdown kept repeating the warning message without shutting down. Windows Task Manager was necessary to shut down RM.

  • I had just deleted my RM8 database and reloaded it from RM7, so it was a fresh copy of my RM8 database.
  • I created a new group containing 58 people.
  • I went to People List view and filtered the list by the new group. Performance was satisfactory because the group was very small. I have regularly reported very poor performance when filtering by large groups, but this was a very small group and there was no performance problem in applying the filter.
  • I removed two columns from People List view and added one new column.
  • I went to Settings => Display Settings to turn off High Contrast Grid Highlight.
  • Upon returning to the main People tab there immediately was an access violation error. I had taken no action to click on anything at all on the main people tab. It was still in People List view with same person highlighted. The access violation error occurred immediately after I clicked on the main People tab at the left side of the screen and without me taking any other action. It displayed People List view correctly and immediately displayed the error message for the access violation.
  • RM could not be shut down as described above.
  • After restarting RM, the same scenario worked correctly without causing an access violation error. I did not reboot my PC at any point in this process.

I have recently had the same “Access Violation” error happen to me with RM 9 v 9.0.3.0. I have a larger Database of @ 12,000 people. It also happened with scrolling through the Peoples List view to which I had added a separate column to view. I may scroll through the list looking at 50-100 people when suddenly the error occurs. Once the error occurs, then each successive person I select has the same error and in trying to close the database I get stuck in the loop. I reopened the database and ran through all of the file “Database Tools” in order, but still get the Access Violation error. I have contacted support and sent them my file. No remedy as yet. So is the common connection the added column??

What is the Access Violation error?

Since the recommendation is to run all the db tools in order frequently, why isn’t there a menu choice “Run all database tools”? It seems like the authors like to have users click multiple times when a single click would suffice.

Access Violation errors are all over the place. I constantly add and delete columns from People List view and doing so has never caused Access Violation errors in my use of RM8 and RM9. But I do get Access Violation errors regularly, usually from no known cause. In your interaction with the RM folks, did you submit your database to them since your situation is so repeatable. Access Violation errors are notoriously difficult to repeat.

An Access Violation error typically means that some computer code is using a pointer to some data somewhere in memory and that the pointer has become invalid or was never valid in the first place. A pointer can become invalid because the location of the data has changed. It’s like having a valid email address for somebody but they close that email account and get a new one. If you send an email to the old address that used to be valid, the message will bounce. Or you may have recorded the original email address incorrectly and your message using the incorrect address bounces even though the original account is still there.

RM has always suffered from Access Violation errors, and the problem seems to have become worse with the transition from RM7 to RM8. It’s hard to know all the causes. They can be simply from coding errors by the RM developers. Software is hard to write - really hard. But they can be from errors in programming tools being used by the RM developers, and they can be from subtle timing conditions when software is using multiple threads. RM is known to use multiple threads.

The timing problems are usually the hardest to identify and resolve. But I suspect that most of the errors from RM8 and RM9 are coming from bugs in the software tools and libraries which RM is using. But that’s just a guess, and I really don’t know why there seem to be so many Access Violation errors.

Yes writing software is hard and Access Violations are notoriously hard to catch. There is an open source program called “valgrind” that I find invaluable. I am very careful about allocating and freeing memory but it is embarrassing how many errors this program finds especially in multi-threaded code. There is a version available for MacOS and assuming the code base is the same between MacOS and Windows it could help find the problems.

There is nothing else attached to the Access Violation error. A second error I get is “Argument out of range” when scrolling through the People List. I will download another tree from Ancestry to see if it is RM or my data itself.