Error codes appeared after downloading "latest version" and I can't open my database

I started using Gramps on December 3, 2025. I do not know which
version I downloaded and have been using. (Was that 5.1.5?)

I have since created and maintained a 900+ person family tree so far in 2026.
I recently saw on Gramps site that a “latest version 6.0.8” was available. Errors have prevented me from opening my family tree database after download.
I rebooted and thought problem was fixed because my family tree data appeared at that time.
Then errors returned after starting up on a different day. I downloaded 6.0.8
again but errors have remained.
I see that version 5.1.5 is referenced in the error details, and others have asked me why I downloaded 5.1.5 recently… I selected 6.0.8 on the Gramps site; I did not select 5.1.5! I am merely a user, not a programmer, so I probably can’t answer many questions. I just want to regain control of my database.

Popup Error Message 1:

NOTE: The REPAIR button is grayed out and I can’t select it.

Popup Error Message 2:

Error Details:

30115: ERROR: dbloader.py: line 111: unsupported pickle protocol: 5
Traceback (most recent call last):
File “C:\Program Files (x86)\GrampsAIO32-5.1.5\gramps\gui\dbloader.py”, line 206, in read_file
password=password)
File “C:\Program Files (x86)\GrampsAIO32-5.1.5\gramps\gen\db\generic.py”, line 651, in load
self.cmap_index = self._get_metadata(‘cmap_index’, 0)
File “C:\Program Files (x86)\GrampsAIO32-5.1.5\gramps\plugins\db\dbapi\dbapi.py”, line 319, in _get_metadata
return pickle.loads(row[0])
ValueError: unsupported pickle protocol: 5

121837: ERROR: dbloader.py: line 111: unsupported pickle protocol: 5
Traceback (most recent call last):
File “C:\Program Files (x86)\GrampsAIO32-5.1.5\gramps\gui\dbloader.py”, line 206, in read_file
password=password)
File “C:\Program Files (x86)\GrampsAIO32-5.1.5\gramps\gen\db\generic.py”, line 651, in load
self.cmap_index = self._get_metadata(‘cmap_index’, 0)
File “C:\Program Files (x86)\GrampsAIO32-5.1.5\gramps\plugins\db\dbapi\dbapi.py”, line 319, in _get_metadata
return pickle.loads(row[0])
ValueError: unsupported pickle protocol: 5

Yes, that is definitely the Gramps 5.1.5 version.

Try uninstalling it, and then installing Gramps 6. If you have further trouble, we can assist.

I would recommend installing the 6.1 beta. It is actually 6.0.9. It has the beta designation for a FamilySearch enhancement/integration. But that is currently locked up and unavailable.

After installing, create a new database and Import the last backup from your previous Gramps version. Once you are satisfied that the new database safely has your tree and you have access to it, then you can delete the old tree and rename the new tree as desired.

Let’s step back a bit.

If the data is in BSDDB, is not v6 a step too far? It would be better to do the BSDDB to SQLite in a 5.2 version (or 5.1.x if this is a 32-bit OS box). And make a backup.

It is only about 900 people. And this is a system WITHOUT A BACKUP and the recovery is about converting a BDSDB Database. So we have to protect that database from being damaged by ‘experiments’!

So it seems like the safest path is to install the 5.1.6 PortableApps version of Portable Gramps to
a USB FlashDrive, copy the database folder to the flash drive, convert the flash drive database to SQLite, make a backup. (5.1.6 was the final 32-bit MS-Windows OS version of Gramps.)

At that point a backup exists, you will be at a safe point.

After that, we can talk about upgrading to 6.x

The import of the most recent backup is not dependent on BSDDB or SQLite. I always use an import when making a major version leap.

Agreed. I was working from the supposition that no backup is available. The cited error report could never occur with 6.x and a .gramps or .gpkg file.

Hopefully @jtcotton has a backup created by the last version of Gramps. If the upgrade to 6.0.8 did a conversion of the 5.1.5 database, the conversion should have made a backup first stored in the user folder. Either C:\Users<~username>\AppData\Roaming\gramps or \Local\gramps.

Thank you all for reaching out…

So far (per emyoulation) I downloaded the 5.1.6 PortableApps version of Portable Gramps to
a USB FlashDrive.

I have 140 backup .gramps files since December 3 2025 on my laptop. One of the most recent (pre-problem) files is dated May 26 and is 267KB.

I will need some serious step-by-step handholding to proceed with actions to take from this point forward.

That you have backup files is WONDERFUL. It opens many options.

So we can proceed to the recovery process. I will assume that you want to try to recover the database first.

When you are sure your backup file is current, restoring a backup is the preferable approach. It is a quicker, easier process. Manual Recovery is fussy work.

Manual Recovery, conversion and repair

Begin by launching Gramps on the USB drive. (It will be very, VERY slow when launching the first time. Gramps compiles and caches all the modules on 1st launch. Successive launches are faster.)

After Gramps starts, go into Edit → Preferences and note the Family Tree Database path.
(You could copy that path and use it to open that same folder in the Windows explorer.)

Quit Gramps and start the problematic Gramps and do the same thing: find the Family Tree Database path
Like above, copy that path and use it to navigate a 2nd Windows explorer to that location.
(Change the Database backend: to from BSDDB to SQLite. This will save us a step in the actually recovery process.)

Quit Gramps and position the 2 Windows explorer windows side-by-side: internal C drive on the left, USB “D” drive on the right.

Copy the folders of the C: drive’s grampsdb folder to the D: drive’s grampsdb folder. (It should be 1 or more folders labeled with 8-letter hexadecimal names.)

{You can make this the redundant backup USB drive, by copying most recent backup (pre-problem) file – dated May 26 and 267KB. to the USB drive too. }

Now start Gramps on the USB drive again. Your Tree should now be listed in the Family Trees → Manage Family Trees… dialog. (For your peace of mind, look at the Last accessed dates. If it is close to 26 May, then that last backup would have been likely to have had all the data.)

Since you reset the Database backend to SQLite earlier, the Convert button should become undimmed when the listing for your Tree is selected. (That button is only available when the Preferences for the database backend is different than the saved Database Type.)

Click the Convert button.

The database should convert and be loadable without the BSDDB error message. If the Repair button becomes available, click it too.

At this point, the PortableGramps version should be fully functional

Make a backup (and rename the file to something more memorable and a date)

Make certain a copy of the backup is available on your C: drive and disconnect the USB drive.

Restoring a backup file

First, you want to upgrade to the newest version of Gramps that your computer and OS can support. If you are limited to a 32-bit MS Windows… then version 5.1.6 is it. Hopefully, you have a 64-bit OS. The About your PC will identfy

With Gramps not running, right-click on the Backup file and use the context menu to choose Gramps as the application for opening the backup file.

That’s it!

Gramps will launch, create a new database Tree file, name the Tree in the pattern of the backup, load the blank Tree, and import the backup data.

I have been away since the last posts here. I haven’t started with the Recovery, Conversion and Repair yet - I’m not confident in my ability to undertake this, but will proceed. I will likely be seeking additional help. The nagging question I have is… why can’t my original database be read/converted by updated versions of Gramps?

That is a great question! I think the answer is in the error message “unsupported pickle protocol”. This relates to some esoteric, low-level stuff in Python. But this is one of the reasons we moved away from “pickles” and now use JSON in Gramps 6.

In any event, if you still have trouble, I’d be glad to help. You can send your gramps file to doug.blank@gmail.com and I’ll have a look. 900 people is fairly small, so shouldn’t be an issue.

Thank you for the reply. I’m still not sure what I’m doing. I’ll send a database file to you.

John Cotton

Database loaded, exported to a .gramps file, and returned!

.gramps file received, Gramps 6.0.8 downloaded…

I now need guidance to associate the data file to the program.

Here is the file path of the downloaded 6.0.8:

For reference, here is the database Preference info of my previous version (5.1.5) screen:

Here is the version 6.0.8 Preferences screen – How do I import the “new” .gramps file into 6.0.8?

I appreciate all assistance provided!

Since you installed 6.0.8 on the same computer as 5.1.5, the database path will be the same.

You have been using c:\users\jtcot as your backup path, use it as you import location for the .gramps file @dsblank sent back to you.

In 6.0.8 go to the menu Family Trees open Manage Family Trees. You should see your old databases. Create a new family tree. For now, the name Family Tree 1 will suffice. It should have the SQLite database type. Select the new database and Load it.

The new database is ready for you to import the .gramps file. Menu >> Family Trees >> Import

Once you are satisfied that you have access to the new database and everything appears to be good, then you can go back to the File Manager and delete the old databases. Now you can rename the database from Family Tree 1 to your desired name.

Note, there is a known bug in 6.0.8. I suggest you make the change needed to fix the bug or download and replace the errant program file.