makehumancommunity / mpfb2

MPFB2 is a free and open source human generator for Blender
http://static.makehumancommunity.org/mpfb.html
Other
322 stars 39 forks source link

Bug encountered upon plugin activation: bpy.types.LOR_UL_settings_list subtype could not be generated #189

Closed RedAISkye closed 5 months ago

RedAISkye commented 6 months ago

Describe the bug I encounter a bug when trying to activate the plugin MakeHuman: mpfb.

Checklist

Screenshots / logs

Modules Installed (MH_Community) from 'D:\\Downloads\\makehuman-plugin-for-blender-latest.zip' into 'C:\\Users\\RedAISkye\\AppData\\Roaming\\Blender Foundation\\Blender\\4.1\\scripts\\addons'
Loading MH community plug-in v 1.1.0
Loading sync plug-in
C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\MH_Community\mh_sync\expression_transfer.py:57: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if self.exprFilter is not "":
sync plug-in loaded
Loading kinect Sensor plug-in
kinect Sensor plug-in loaded
MH community plug-in load complete
C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\makehuman.default.settings.json
addon_utils.disable: mpfb not loaded
Modules Installed (mpfb) from 'D:\\Downloads\\mpfb2-latest.zip' into 'C:\\Users\\RedAISkye\\AppData\\Roaming\\Blender Foundation\\Blender\\4.1\\scripts\\addons'
Could not read preference mpfb_user_data

Initializing MPFB log service. Logs can be found in C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\logs

Log config does not exist. Creating empty template.
Will rewrite log config C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\config\log_levels.json
[INFO ] mpfb.init ..............................: Build info 20240525
[INFO ] services.locationservice ...............: mh_user_dir is not explicitly set but autodiscovery is disabled
[INFO ] services.locationservice ...............: Creating relevant directory: C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\data
[INFO ] services.locationservice ...............: Creating relevant directory: C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\cache
[INFO ] services.uiservice .....................: Rebuilding the list of available importer presets (for presets panel)
[INFO ] services.uiservice .....................: Rebuilding the list of available importer presets (for importer panel)ERROR (bpy.rna): C:\Users\blender\git\blender-v410\blender.git\source\blender\python\intern\bpy_rna.cc:7582 pyrna_srna_Subtype: failed to register 'LOR_UL_settings_list'
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Exception in module register(): C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\__init__.py
Traceback (most recent call last):
  File "E:\Games\Steam\steamapps\common\Blender\4.1\scripts\modules\addon_utils.py", line 444, in enable
    mod.register()
  File "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\__init__.py", line 113, in register
    import mpfb.ui
  File "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\ui\__init__.py", line 12, in <module>
    from mpfb.ui.model import *
  File "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\ui\model\__init__.py", line 11, in <module>
    from .modelpanel import MPFB_PT_Model_Panel
  File "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\ui\model\modelpanel.py", line 64, in <module>
    from ._macrosubpanel import MPFB_PT_Macro_Sub_Panel
  File "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\ui\model\_macrosubpanel.py", line 9, in <module>
    from mpfb.services.humanservice import HumanService
  File "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\services\humanservice.py", line 11, in <module>
    from mpfb.services.nodeservice import NodeService
  File "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\mpfb\services\nodeservice.py", line 88, in <module>
    obj = getattr(bpy.types, subc)
          ^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: bpy.types.LOR_UL_settings_list subtype could not be generated, this is a bug!

Platform and versions

joepal1976 commented 6 months ago

Tricky... I can't replicate the problem on a clean install of blender 4.1 on windows 11, making this somewhat hard to debug.

Only thing I can think of is if your installation of mpfb 1 ("MH Community") causes some problems. Maybe you could try to deactivate it temporarily and see if mpfb 2 installs better then?

If that does not help, I'll make a new build with some additional debugging enabled in the area where the problem arises to see if we can figure out what happens.

RedAISkye commented 6 months ago

Only thing I can think of is if your installation of mpfb 1 ("MH Community") causes some problems. Maybe you could try to deactivate it temporarily and see if mpfb 2 installs better then?

I already removed that but the bug still persists.

I also tried to remove all generated data from the plugin and reinstall, it didn't help.

joepal1976 commented 6 months ago

This is just me adding note to self while thinking:

The term "LOR" does not occur in the mpfb source code. This must be a class registered by something else. From the point of view of MPFB it obviously doesn't make sense to treat a broken class with this name as a terminal failure.

joepal1976 commented 6 months ago

@RedAISkye : I've now pushed a build where the error should be logged instead of causing a terminal failure. Can you try the build with today's date from here? https://files2.makehumancommunity.org/plugins/

Also, if you can think of any other addon you might have which might define something called "LOR..." that'd be helpful info.

RedAISkye commented 6 months ago

@RedAISkye : I've now pushed a build where the error should be logged instead of causing a terminal failure. Can you try the build with today's date from here? https://files2.makehumancommunity.org/plugins/

The plugin activated now with the following log.

addon_utils.disable: mpfb not loaded
Modules Installed (mpfb) from 'C:\\Users\\RedAISkye\\Downloads\\mpfb2-20240526.zip' into 'C:\\Users\\RedAISkye\\AppData\\Roaming\\Blender Foundation\\Blender\\4.1\\scripts\\addons'
Could not read preference mpfb_user_data

Initializing MPFB log service. Logs can be found in C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\logs

Log config does not exist. Creating empty template.
Will rewrite log config C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\config\log_levels.json
[INFO ] mpfb.init ..............................: Build info 20240526
[INFO ] services.locationservice ...............: mh_user_dir is not explicitly set but autodiscovery is disabled
[INFO ] services.locationservice ...............: Creating relevant directory: C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\data
[INFO ] services.locationservice ...............: Creating relevant directory: C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\mpfb\cache
[INFO ] services.uiservice .....................: Rebuilding the list of available importer presets (for presets panel)
[INFO ] services.uiservice .....................: Rebuilding the list of available importer presets (for importer panel)ERROR (bpy.rna): C:\Users\blender\git\blender-v410\blender.git\source\blender\python\intern\bpy_rna.cc:7582 pyrna_srna_Subtype: failed to register 'LOR_UL_settings_list'
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
[ERROR] services.nodeservice ...................: An unexpected error occurred while listing shader classes ('LOR_UL_settings_list', RuntimeError('bpy.types.LOR_UL_settings_list subtype could not be generated, this is a bug!'))
[INFO ] mpfb.init ..............................: MPFB initialization has finished.
[INFO ] services.locationservice ...............: mh_user_data explicitly set to C:\Users\RedAISkye\Documents\makehuman\v1py3\data
Writing userprefs: "C:\Users\RedAISkye\AppData\Roaming\Blender Foundation\Blender\4.1\config\userpref.blend" ok
Info: Preferences saved
joepal1976 commented 6 months ago

That's good to hear.

As "LOR_UL_settings_list" isn't something from MPFB, I'll consider this a good enough fix for now. At least unless you find something which is obviously broken when playing around with it.

I'll leave the issue open for a few days in case you find something which might be related.

joepal1976 commented 5 months ago

Closing as fixed