Jump to content


Photo

Access Violation when comparing databases


  • Please log in to reply
10 replies to this topic

#1 Mark_RM7

Mark_RM7

    New Member

  • Members
  • Pip
  • 4 posts

Posted 23 October 2018 - 04:21 PM

I am just starting out with RM7, but have hit an early snag.  Whenever I run a database compare with my modest tree of around 800 individuals and associated families, it stops before completing with an Access Violation error.

 

The tree was created as a GEDCOM import from Family Historian.  I have run all four database tools, and no errors were reported.  To familiarise myself with how the compare function worked, I copied the database file and made a couple of minor changes to one copy.  If I try the same on a trivial three person tree entered from scratch, it works fine, so it is related somehow to the data file.

 

Exactly the same on two different Windows 10 PCs (version 1803, 4GB/8GB RAM, both Intel i5 based).  I even tried installing the program on an old XP system, and saw exactly the same problem.

 

If I can't sort this, it will be a showstopper, so any ideas please..?

 

Thanks.



#2 zhangrau

zhangrau

    Advanced Member

  • Members
  • PipPipPip
  • 1521 posts

Posted 23 October 2018 - 04:50 PM

Access Violations in Windows are notoriously difficult to diagnose. It could be a programming bug, or a bad hard drive, or a bad piece of RAM.

 

You mentioned having 4 & 8 GB RAM in your PCs. I have a much larger database, and some RM tasks (rebuilding indices, publishing books, etc.) were slower on my new 8 GB laptop than on my previous 12 GB laptop. I upgraded to 16 GB. Nice! A definite improvement.



#3 Mark_RM7

Mark_RM7

    New Member

  • Members
  • Pip
  • 4 posts

Posted 23 October 2018 - 05:50 PM

Won't be hardware, as it is the same on three independent systems with two very different operating system versions.  Software somewhere (bug in exe, something in the database it doesn't like?).  Must admit, it's not a great start with RootsMagic - Family Historian runs flawlessly on all my systems, and even Family Tree Maker only crashed now and again!!!  

 

Just out of curiosity, I imported an old backup copy of the database as it was saved within Family Tree Maker 2012 when I was still using that as my main program.  I saved the database as a RootsMagic file, closed RM, and made a Windows copy of the database file (so content should have been identical).  When I loaded one and compared it with the other, the comparison ran to completion ok, but reported a couple of dozen individuals with apparent differences!  I don't understand that at all.......



#4 Jerry Bryan

Jerry Bryan

    Advanced Member

  • Members
  • PipPipPip
  • 3609 posts

Posted 23 October 2018 - 08:48 PM

Just out of curiosity, I imported an old backup copy of the database as it was saved within Family Tree Maker 2012 when I was still using that as my main program.  I saved the database as a RootsMagic file, closed RM, and made a Windows copy of the database file (so content should have been identical).  When I loaded one and compared it with the other, the comparison ran to completion ok, but reported a couple of dozen individuals with apparent differences!  I don't understand that at all.......

 

RM's Compare doesn't compare quite how you might expect. Here is one example. Suppose you have John Doe born 1819 and another John Doe born 1820. If you do a Tools>Merge>Duplicate Search Merge it will suggest that perhaps the two different John Doe's are the same person and perhaps they should be merged. That's not what you are doing, but the Compare feature appears to utilize some similar logic. John Doe born in 1819 in the first copy of your database appears as a possible match to John Doe born 1820 in the second copy of your database and vice versa. Or at least that's how it appears to work. I'm sort of trying to reverse engineer the compare process in my head from the behavior of the program and obviously without being able to see the source code of the program I can't be 100% sure what it is doing.

 

The very first thing I tried when RM's Compare feature came out was to compare my database against a copy of itself, and the results were not very encouraging or useful. I have been pretty suspicious of the Compare feature ever since.

 

On your Access Violation problem, you might try opening a trouble ticket with the RM HelpDesk. If you do, you should attach a copy of a backup file for each of your two databases that create the problem when you run the Compare. But to be very honest with you, I would much prefer that the RM developers spend their time right now getting RM8 out the door rather than spending time fixing the Compare feature in RM7.

 

Jerry



#5 genealogy4primm@earthlink.

genealogy4primm@earthlink.

    Advanced Member

  • Members
  • PipPipPip
  • 70 posts

Posted 23 October 2018 - 09:24 PM

Won't be hardware, as it is the same on three independent systems with two very different operating system versions.  Software somewhere (bug in exe, something in the database it doesn't like?).  Must admit, it's not a great start with RootsMagic - Family Historian runs flawlessly on all my systems, and even Family Tree Maker only crashed now and again!!!  

 

Just out of curiosity, I imported an old backup copy of the database as it was saved within Family Tree Maker 2012 when I was still using that as my main program.  I saved the database as a RootsMagic file, closed RM, and made a Windows copy of the database file (so content should have been identical).  When I loaded one and compared it with the other, the comparison ran to completion ok, but reported a couple of dozen individuals with apparent differences!  I don't understand that at all.......

1) Access violation could be related to AV, Firewall, or Anti-Malware software not allowing RM the 'access' it needs. Could also be a hardware driver that is causing issues, including RAM memory, cache memory, failing hard drive. Some things that have worked in the past for others:
-Set RM program to be "Run as Administrator"
-Set exceptions to allow RM to access the various web services for the AV, firewall, and anti-Malware, if any of those are installed and said RM web services are enabled.
-Place the database file on the same hard drive as the OS (typically C:\ drive) in the C:\Users\(username)\MyDocuments folder if not already using the main hard drive. The read-write speed of older computer when using multiple or external hard drives might be causing a latency issue (time out) resulting in the access violation. Same would go for using a USB/memory stick as the 'device' to load the database from. RM performs better if database file changes do not have to navigate the buss and motherboard to hard drive and another device then back again.
-Make a new GEDCOM file from Family Historian (if possible). When Import of that new file into RM is complete the may be a file generated (*.LST) indicating what was not imported. That could have clues to why the File > Compare is not working.
-Upgrade to at least 16 GB RAM

Advanced Member

  • photo-thumb-8274.jpg?_r=0
  • Support
  • bullet_black.pngbullet_black.pngbullet_black.png
  • 7966 posts

Posted 19 September 2018 - 04:27 PM

Access Violations errors can have many causes. I am going to give you a list of things to try and rule out the issue, after you have restarted your computer.

 

  1. In RootsMagic go to File>Database Tools and run all options there in consecutive order. If any issues are found run them a second time. Check if that resolved the error.
  2. Run your anti-virus software program. Do a full scan. Windows 7 or later versions will have Windows Defender installed and should run that. If you don't have an anti-virus program then download Microsoft Security Essentials (free).
  3. Download and install CCleaner (free) and run both the Cleaner and Registry tools. You do want it to fix the registry problems. When given the option to save a restore point please do so, just in case you need it. You can download CCleaner from here - http://download.cnet.com/CCleaner/
  4. Download and install Malwarebytes (free) and do a full scan of your computer. You will want to remove any bugs found. You can download Malwarebytes from here - http://download.cnet...4-10804572.html

There is no need to purchase the full version of CCleaner or Malwarebytes. The free versions will work just fine.

 

After doing that shut down your computer and restart it. Then open RootsMagic and see if the issues have been resolved.

 

Please note that its best to disconnect from the internet when you run your anti-virus and anti-malware programs. That is because these bugs are getting very sophisticated and "call" home when you try to remove them.

2) The File > Compare Files may pick up people with minimal data entered and no linked family as potential duplicates. So any Person Records that are very similar with no linked family could cause the File > Compare algorithm to see them as a potential Match. This may even occur when there are several children listed under one parent set with just surname and no Facts or similar ambiguous Fact data, if any.



#6 Renee Zamora

Renee Zamora

    Advanced Member

  • Support
  • PipPipPip
  • 8492 posts

Posted 24 October 2018 - 02:50 PM

Make sure you don't have both databases open inside RM when you try to the compare. Only have one of them open in RM. The one you are comparing against needs to be closed. 


Renee
RootsMagic

#7 Mark_RM7

Mark_RM7

    New Member

  • Members
  • Pip
  • 4 posts

Posted 25 October 2018 - 02:08 PM

Thanks for your helpful comments and suggestions.  I’ve worked out what was happening, and it appears to be a bug in RootsMagic.

 

I was convinced it was much more likely to be software related rather than hardware, given how the behaviour was so consistent on several independent computers with different hardware, operating system versions and user privileges.  This is how I sorted it, for the benefit of any other users who come across similar problems:

 

Firstly, I modified my source GEDCOM file to contain only details of individuals, with no other records included.  Importing this into two separate databases crashed the compare process when compared against each other in either direction.  This led me to suspect it was something in the Individuals data.

 

I manually edited the GEDCOM file to give me separate files for the first 50% and last 50% of the records and repeated the import process with each of these files separately.  One pair worked fine, but the other crashed again with the same error.

 

Repeating this chopping on the “bad” GEDCOM file enabled me to iterate towards a block of about a dozen records that crashed the compare.  This was small enough to examine the GEDCOM extract line by line, and I noticed that one individual did not have a name.  This was correct, as a marriage record gave the groom as a widower, but I had no information regarding his first marriage.  Family Historian, where my data originated, permits this addition of an unknown individual (the first wife) without having to define a dummy placeholder name.

 

Adding a dummy name to the original GEDCOM file (1 NAME _Unknown) enabled the comparison to run to completion once I had imported the file, so it was the lack of a name that caused the routine to crash, presumably because there was no error trap built into the code for this situation.

 

I checked RootsMagic carefully after inputting the “faulty” GEDCOM, and it appears that the program imported the record but did not allow me to correct it after import.  No error was flagged, and the database integrity check showed no error.  There was no unnamed person shown in the Index panel.  The groom was correctly shown in his Family tab as having two spouses, but when clicking the “2” button, only the named second spouse was shown.  The program therefore seemed to be aware of the unnamed person, but there did not appear to be any direct way to display her details for later editing (for example, when I find out who she was!), or to delete the entry (I did find a work-around, by adding a dummy child, which makes the spouse visible, editing the spouse, then deleting the non-existent child, but that’s horribly clunky). 

 

This behaviour within RootsMagic is inconsistent.  It seems to insist on having a name everywhere else, but accepts a GEDCOM input without one.    If naming individuals is fundamental to how the data are stored, it should flag this when the original import is made.  It should also be able to trap the error when comparing databases without crashing.

 

There were also some oddities in the reported comparison output, with individuals not showing as equivalent even when a lot of facts were recorded, but I can live with a few false positives as long as it reliably finds those that really are different.



#8 TomH

TomH

    Advanced Member

  • Members
  • PipPipPip
  • 6268 posts

Posted 25 October 2018 - 02:17 PM

Nice bit of sleuthing. I investigated a related problem (maybe the same one) a few years ago but not from the perspective of database compare crashing. See Phantom Spouses - Unnamed and childless


Tom user of RM7550 FTM2017 Ancestry.ca FamilySearch.org FindMyPast.com
SQLite_Tools_For_Roots_Magic_in_PR_Celti wiki, exploiting the database in special ways >>> RMtrix-tiny.png app, a bundle of RootsMagic utilities.


#9 Renee Zamora

Renee Zamora

    Advanced Member

  • Support
  • PipPipPip
  • 8492 posts

Posted 25 October 2018 - 03:00 PM

It would be good to open a support ticket with a copy of the GEDCOM for testing. 

 

https://support.root...us/requests/new


Renee
RootsMagic

#10 Mark_RM7

Mark_RM7

    New Member

  • Members
  • Pip
  • 4 posts

Posted 25 October 2018 - 03:57 PM

Done, with the trivial GEDCOM file noted below, which documents the marriage of John Smith (widower) to Mary Jones (spinster) and is sufficient to cause all the problems noted above as there is no dummy placeholder name for John's unknown first wife, which would be required if entering the same data directly within RootsMagic.

 

0 HEAD
0 @I1@ INDI
1 NAME John /Smith/
1 SEX M
1 FAMS @F2@
1 FAMS @F1@
0 @I2@ INDI
1 NAME Mary /Jones/
1 SEX F
1 FAMS @F1@
0 @I3@ INDI
1 SEX F
1 FAMS @F2@
0 @F1@ FAM
1 HUSB @I1@
1 WIFE @I2@
0 @F2@ FAM
1 HUSB @I1@
1 WIFE @I3@
0 TRLR


#11 kbens0n

kbens0n

    Advanced Member

  • Members
  • PipPipPip
  • 3459 posts

Posted 26 October 2018 - 09:21 AM

Done, with the trivial GEDCOM file noted below, which documents the marriage of John Smith (widower) to Mary Jones (spinster) and is sufficient to cause all the problems noted above as there is no dummy placeholder name for John's unknown first wife, which would be required if entering the same data directly within RootsMagic.


Confirming that I get the same Access Violation when comparing copies.

---
--- "GENEALOGY, n. An account of one's descent from an ancestor who did not particularly care to trace his own." - Ambrose Bierce
--- "The trouble ain't what people don't know, it's what they know that ain't so." - Josh Billings
---Ô¿Ô---
K e V i N