Running out of memory during downloads from FamilySearch

When I download large numbers of people from FamilySearch, meaning a couple of hundred, I very often see that RM 8 runs out of memory, and stops the download, which must then be cancelled.

I also often see other errors like access violations, and in those situations, it often happens that RM 8 tries to send an error report, which triggers another access violation, so that the only way out is to shut down the program with the task manager.

There is clear trigger for this error, other than that it happens some time during the download process.

Has any equivalent error been registered as a bug?

welcome to access violations (which cannot be reported via the report button), a new main feature of RM8.

Your problem sounds similar to one I experience on the mac if I try to upload anything but a tiny tree with media to Ancestry. That gives “you are not logged in to ancestry” errors and then promptly retries but never succeeds. Only works if media are not uploaded.

On Windows, run the Task Manager and monitor resource utilisation while running RM. Next time you see an out-of-memory error, check how much RAM is taken by RM. It will probably be around 2GB which is the Windows limit for 32-bit applications. For some operations, RM8 appears to have a memory runaway or leak problem and its consumption of RAM grows until the operation is completed or Windows says “enough!”. Has been commonly reported for TreeShare operations with large trees, on the order of 15000 people. Not sure about FamilySearch.

Do file your report through the Support Request form on the website.

The problem I see is, that there’s not much to report, when I have no scenario, like when such a memory leak happens. I have worked with leak detection tools in the past, but I have no idea whether RootsMagic did anything with the automatic reports that were sent earlier, and I also don’t know how to figure out whether these types of issues are known already, like I can do that for other software packages.

And just when I thought that I couldn’t reproduce anything, I got a Thread creation error, and saw a memory use of 1.2 GB.

This is most likely an issue with running RM8 in VirtualBox.

… and another Thread error when clicking Done, to close the FamilySearch import window.

Yes, but why would it go wrong in VirtualBox? It’s a VM with 4 GB RAM, and it’s not like it always goes wrong. I run RM 8 in that, because my main program is Gramps running in Linux.

… and it does go wrong on real hardware too, even with 16 GB RAM on my other PC.

Sounds like You should be in contact with RootsMagic support if You can produce screenshots of error screens from running natively on Windows. As more users download large numbers of folks from FamilySearch, perhaps they’ll also report such problems.

Looks like it, yes, and that will be a nice task for tomorrow.

I just got another on real hardware, same PC, after reboot into Windows 10, 8 GB RAM. First picture clipped for privacy. Second shows what happens when I try to close the import window after the error, and that one repeats until I kill the program with the task manager.

2021-11-27 (1)
The Dutch text in the 2nd translates to: The entry is invalid.

Support is no option, because I’m running RootsMagic Essentials.

On mbp 13 16 GB ram RM8 uses an incredible 6 to 8% of CPU but RAM use is moderate 300MB.

Importing a FTM gedcom bombed twice with access violation errors and 25% cpu but did work the 3rd time.

uploading with media for 370 people to ancestry failed as usual with 500mb ram and 10% cpu.

RM8 does not seem to be hogging memory but is using a huge excess of the CPU presumably from violating Apple program rules and sandboxing as shown by it’s non-standard behavior.

In most cases, I also see that amount of RAM used, like 300 MB, but sometimes, there is a real runaway effect, where it goes up to 1.2 GB, in which case the program runs out of some resource, which can be memory, or threads, something for which I know that it’s difficult to debug. It’s often a case of giving it some big task, like downloading 10 generations of descendants from FamilySearch. That’s more difficult than ancestors, because many people had more children than ancestors, so that the load is sort of exponential.

I also have GEDCOMs that are a sure way to crash the program, but as a non-paying user, I see no easy means to make a report for those, and I have no plans to become a paying user, because RootsMagic is not my main program, and does not speak my language.

I just ran another download, with version 8.1.7, and the phenomenon is still there, on a real laptop, not virtualbox, with 8 GB RAM. I get an Out of Memory error, with the option to send a report, and when I send that, the error is repeated. And to me that sounds sort of logical, because when the program runs out of memory, there is no memory to build an error report either. And with that in mind, I click Don’s Send, but that doesn’t help much either, although after several clicks, I see the download window again. And when I click Done on that, I get another classic: Thread Error.

Taks manager tells me that RM has less than 240 MB in use, so that doesn’t look that big. And again, the task manager is the only way to kill the program.

I often use RM to download data from FamilySearch, which I then import into Gramps. But with errors like this, it may be easier to use Ancestral Quest or Legacy, because they never crash in the same process.

I like RM more, because of its user interface, but I don’t understand how this error can continue to occur. I noticed this during the public beta, and that’s about a year ago now.

Supposedly fixed in 8.1.8

  • Fixed: Downloading large FamilySearch trees could give an “out of memory” error

I recently used 8.1.8 on Mac OS 12.4 creating a new DB using FS import. I was successful but it was close. It looks like RM used more than 3.5MB of Virtual Memory for each person downloaded - 438,340MB/120106 people=3.64MB

438GB of virtual memory in use?! At what point is much of that released? Whay os a typical value when that database is in normal use (not downloading)?

I’m unfamiliar with MacOS but I wonder about the design of the import process if it has to tie up so much cumulative VM until completion.

I do not know the details of MacOS VM but I do not believe RM used the address space (or maybe it cleared the memory so MacOS could compress it rather than paging it out). The reason I say that is the iMac had only 16GM of RAM so 400GB+ would have been paged out. That’s all most 1/2 GB. The Disk statistics showed just over 1TB read and 1TB written. I think there would be big difference between read and write if the VM was paged out. The Page Ins stat was low - just a few thousands.

I did not see the VM released, hence my belief it was leaked.

Note: the import ran for almost 3 1/2 days and consumed more than 213 hours of CPU.

After clicking Done, I went off and did other things. Not sure how long it took but in the end RM failed with the “Your system has run out of application memory” error.

If you look at the screen shot I uploaded you will see the line above the Virtual Memory Size reads Real Memory Size: 5.77GB.

Somewhere down the road I plan to rerun the import and try to get more details on how the VM was allocated/used.

I will sample memory sizes when I am doing other tasks and post back in a few days.