PHP fatal error when trying to view file properties, and unable to upgrade

Permalink
Am I posting this in the right area? I'm not much of a developer, but this seemed outside the scope of editing questions.

I'm running version 8.1.0, and am unable to view or edit properties in the file manager. The screen just hangs and I get the following error in my log:

PHP Fatal error: Call to a member function number() on null in /xxx/concrete/attributes/number/form.php on line 3

In the concrete/attributes/number/form.php file, I see:

<?php
    defined('C5_EXECUTE') or die("Access Denied.");
    print $form->number(
        $this->field('value'),
        $value,
        [
            'step' => 'any'
        ]
    );


I downloaded version 8.3.2 to see if there was anything different in that file, but it's the same.

Because it's probably related: I have been unable to successfully upgrade to any version past 8.1.0. I've tried the manual method (replacing the concrete folder, and now for version 8.3.2, also copying the composer.json and composer.lock files), but every time I try, I get a different error and end up having to restore my 8.1.0 site. It seems possible that something went wrong in the upgrade to 8.1.0 that is causing the file properties issue and also preventing further upgrades, but I'm not sure how to diagnose or fix that.

The most recent error, which appeared when trying to upgrade to 8.3.2, is:

An exception occurred while executing 'INSERT INTO SystemDatabaseMigrations (version) VALUES (?)' with params ["20170818000000"]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20170818000000' for key 'PRIMARY'

Can anyone help me figure out where to look for the problem?

Thanks!