Ok I took an uncorrupted db to a more powerful machine, this is what I get and basically the same error on the pi when trying to run ver 3.x
At least the dump was able to get logged here.
Oct 6 18:01:09 flux weewx[894]: engine: Starting backfill of daily summaries
Oct 6 18:01:09 flux weewx[894]: engine: Caught unrecoverable exception in engine:
Oct 6 18:01:09 flux weewx[894]: **** unsupported operand type(s) for +=: 'float' and 'unicode'
Oct 6 18:01:09 flux weewx[894]: **** Traceback (most recent call last):
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/engine.py", line 836, in main
Oct 6 18:01:09 flux weewx[894]: **** engine = EngineClass(config_dict)
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/engine.py", line 75, in __init__
Oct 6 18:01:09 flux weewx[894]: **** self.loadServices(config_dict)
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/engine.py", line 136, in loadServices
Oct 6 18:01:09 flux weewx[894]: **** self.service_obj.append(weeutil.weeutil._get_object(svc)(self, config_dict))
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/engine.py", line 504, in __init__
Oct 6 18:01:09 flux weewx[894]: **** self.setup_database(config_dict)
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/engine.py", line 608, in setup_database
Oct 6 18:01:09 flux weewx[894]: **** nrecs, ndays = dbmanager.backfill_day_summary()
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/manager.py", line 1347, in backfill_day_summary
Oct 6 18:01:09 flux weewx[894]: **** _day_accum.addRecord(_rec)
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/accum.py", line 240, in addRecord
Oct 6 18:01:09 flux weewx[894]: **** func(self, record, obs_type, add_hilo)
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/accum.py", line 310, in add_value
Oct 6 18:01:09 flux weewx[894]: **** self[obs_type].addSum(val)
Oct 6 18:01:09 flux weewx[894]: **** File "/usr/share/weewx/weewx/accum.py", line 87, in addSum
Oct 6 18:01:09 flux weewx[894]: **** self.sum += val
Oct 6 18:01:09 flux weewx[894]: **** TypeError: unsupported operand type(s) for +=: 'float' and 'unicode'
Oct 6 18:01:09 flux weewx[894]: **** Exiting.
May try to track it down if find some time.