muchimi / JoystickGremlinEx

Modified version of Joystick Gremlin to add features I wanted to have but were difficult to do as just a plugin, plus I wanted to run this as 64 bit and on a more current version of Python/QT.
GNU General Public License v3.0
37 stars 6 forks source link

ERROR Uncaught exception: AttributeError: RecursionError: #9

Closed samkatakouzinos closed 7 months ago

samkatakouzinos commented 1 year ago

G'day. I'm keen on this version and have it along side with the previous authors version.
Having an issue where this version gets exceptions, where the previous author version works.

Hopefully the log can assist.

user.log ``` logtalk 2023-09-26 01:14:53 DEBUG -------------------------------------------------------------------------------- 2023-09-26 01:14:53 DEBUG 2023-09-26 01:14 2023-09-26 01:14:53 DEBUG Starting Joystick Gremlin R13.3 2023-09-26 01:14:53 DEBUG -------------------------------------------------------------------------------- 2023-09-26 01:14:53 INFO Initializing joystick devices 2023-09-26 01:14:53 DEBUG 11 joysticks detected 2023-09-26 01:14:53 DEBUG Added: name=vJoy Device guid={60C97400-1AFC-11EE-8002-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=SimXperience AccuForce guid={60CCCF60-1AFC-11EE-8011-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=vJoy Device guid={60CA1040-1AFC-11EE-8005-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=vJoy Device guid={60CE7D10-1AFC-11EE-8019-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=VRS DirectForce Pro Pedals guid={60CCF670-1AFC-11EE-8014-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=FANATEC CSL Elite Pedals LC guid={60CD92B0-1AFC-11EE-8015-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=G27 Racing Wheel guid={60CE2EF0-1AFC-11EE-8017-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=vJoy Device guid={60CE7D10-1AFC-11EE-801B-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=vJoy Device guid={60CEA420-1AFC-11EE-801D-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=vJoy Device guid={60CEA420-1AFC-11EE-801F-444553540000} 2023-09-26 01:14:53 DEBUG Added: name=vJoy Device guid={12048880-484E-11EE-8002-444553540000} 2023-09-26 01:14:53 DEBUG vJoy guid={60C97400-1AFC-11EE-8002-444553540000}: (8, 105, 0) 2023-09-26 01:14:53 DEBUG vJoy guid={60CA1040-1AFC-11EE-8005-444553540000}: (8, 106, 0) 2023-09-26 01:14:53 DEBUG vJoy guid={60CE7D10-1AFC-11EE-8019-444553540000}: (8, 107, 0) 2023-09-26 01:14:53 DEBUG vJoy guid={60CE7D10-1AFC-11EE-801B-444553540000}: (8, 101, 0) 2023-09-26 01:14:53 DEBUG vJoy guid={60CEA420-1AFC-11EE-801D-444553540000}: (8, 102, 0) 2023-09-26 01:14:53 DEBUG vJoy guid={60CEA420-1AFC-11EE-801F-444553540000}: (8, 103, 0) 2023-09-26 01:14:53 DEBUG vJoy guid={12048880-484E-11EE-8002-444553540000}: (8, 104, 0) 2023-09-26 01:14:53 DEBUG vjoy id 1: (8, 101, 0) - MATCH 2023-09-26 01:14:53 DEBUG vjoy id 2: (8, 102, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 3: (8, 103, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 4: (8, 104, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 5: (8, 105, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 6: (8, 106, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 7: (8, 107, 0) - MATCH 2023-09-26 01:14:54 INFO Initializing joystick devices 2023-09-26 01:14:54 DEBUG 11 joysticks detected 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60C97400-1AFC-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=SimXperience AccuForce guid={60CCCF60-1AFC-11EE-8011-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CA1040-1AFC-11EE-8005-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CE7D10-1AFC-11EE-8019-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=VRS DirectForce Pro Pedals guid={60CCF670-1AFC-11EE-8014-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=FANATEC CSL Elite Pedals LC guid={60CD92B0-1AFC-11EE-8015-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=G27 Racing Wheel guid={60CE2EF0-1AFC-11EE-8017-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CE7D10-1AFC-11EE-801B-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CEA420-1AFC-11EE-801D-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CEA420-1AFC-11EE-801F-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={12048880-484E-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60C97400-1AFC-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=SimXperience AccuForce guid={60CCCF60-1AFC-11EE-8011-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CA1040-1AFC-11EE-8005-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CE7D10-1AFC-11EE-8019-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=VRS DirectForce Pro Pedals guid={60CCF670-1AFC-11EE-8014-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=FANATEC CSL Elite Pedals LC guid={60CD92B0-1AFC-11EE-8015-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=G27 Racing Wheel guid={60CE2EF0-1AFC-11EE-8017-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CE7D10-1AFC-11EE-801B-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CEA420-1AFC-11EE-801D-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CEA420-1AFC-11EE-801F-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={12048880-484E-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG vJoy guid={60C97400-1AFC-11EE-8002-444553540000}: (8, 105, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CA1040-1AFC-11EE-8005-444553540000}: (8, 106, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CE7D10-1AFC-11EE-8019-444553540000}: (8, 107, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CE7D10-1AFC-11EE-801B-444553540000}: (8, 101, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CEA420-1AFC-11EE-801D-444553540000}: (8, 102, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CEA420-1AFC-11EE-801F-444553540000}: (8, 103, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={12048880-484E-11EE-8002-444553540000}: (8, 104, 0) 2023-09-26 01:14:54 DEBUG vjoy id 1: (8, 101, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 2: (8, 102, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 3: (8, 103, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 4: (8, 104, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 5: (8, 105, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 6: (8, 106, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 7: (8, 107, 0) - MATCH 2023-09-26 01:14:54 INFO Checking vJoy installation 2023-09-26 01:14:54 INFO Initializing plugins 2023-09-26 01:14:54 DEBUG Loaded: cycle-modes 2023-09-26 01:14:54 DEBUG Loaded: description 2023-09-26 01:14:54 DEBUG Loaded: macro 2023-09-26 01:14:54 DEBUG Loaded: map-to-keyboard 2023-09-26 01:14:54 DEBUG Loaded: map-to-mouse 2023-09-26 01:14:54 DEBUG Loaded: map_to_mouse_ex 2023-09-26 01:14:54 INFO Initializing joystick devices 2023-09-26 01:14:54 DEBUG 11 joysticks detected 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60C97400-1AFC-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=SimXperience AccuForce guid={60CCCF60-1AFC-11EE-8011-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CA1040-1AFC-11EE-8005-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CE7D10-1AFC-11EE-8019-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=VRS DirectForce Pro Pedals guid={60CCF670-1AFC-11EE-8014-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=FANATEC CSL Elite Pedals LC guid={60CD92B0-1AFC-11EE-8015-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=G27 Racing Wheel guid={60CE2EF0-1AFC-11EE-8017-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CE7D10-1AFC-11EE-801B-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CEA420-1AFC-11EE-801D-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={60CEA420-1AFC-11EE-801F-444553540000} 2023-09-26 01:14:54 DEBUG Added: name=vJoy Device guid={12048880-484E-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60C97400-1AFC-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=SimXperience AccuForce guid={60CCCF60-1AFC-11EE-8011-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CA1040-1AFC-11EE-8005-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CE7D10-1AFC-11EE-8019-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=VRS DirectForce Pro Pedals guid={60CCF670-1AFC-11EE-8014-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=FANATEC CSL Elite Pedals LC guid={60CD92B0-1AFC-11EE-8015-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=G27 Racing Wheel guid={60CE2EF0-1AFC-11EE-8017-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CE7D10-1AFC-11EE-801B-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CEA420-1AFC-11EE-801D-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={60CEA420-1AFC-11EE-801F-444553540000} 2023-09-26 01:14:54 DEBUG Removed: name=vJoy Device guid={12048880-484E-11EE-8002-444553540000} 2023-09-26 01:14:54 DEBUG vJoy guid={60C97400-1AFC-11EE-8002-444553540000}: (8, 105, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CA1040-1AFC-11EE-8005-444553540000}: (8, 106, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CE7D10-1AFC-11EE-8019-444553540000}: (8, 107, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CE7D10-1AFC-11EE-801B-444553540000}: (8, 101, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CEA420-1AFC-11EE-801D-444553540000}: (8, 102, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={60CEA420-1AFC-11EE-801F-444553540000}: (8, 103, 0) 2023-09-26 01:14:54 DEBUG vJoy guid={12048880-484E-11EE-8002-444553540000}: (8, 104, 0) 2023-09-26 01:14:54 DEBUG vjoy id 1: (8, 101, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 2: (8, 102, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 3: (8, 103, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 4: (8, 104, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 5: (8, 105, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 6: (8, 106, 0) - MATCH 2023-09-26 01:14:54 DEBUG vjoy id 7: (8, 107, 0) - MATCH 2023-09-26 01:14:54 DEBUG Loaded: VjoyRemap 2023-09-26 01:14:54 DEBUG Loaded: noop 2023-09-26 01:14:54 DEBUG Loaded: pause 2023-09-26 01:14:54 DEBUG Loaded: play-sound 2023-09-26 01:14:54 DEBUG Loaded: previous-mode 2023-09-26 01:14:54 DEBUG Loaded: remap 2023-09-26 01:14:54 DEBUG Loaded: response-curve 2023-09-26 01:14:54 DEBUG Loaded: resume 2023-09-26 01:14:54 DEBUG Loaded: split-axis 2023-09-26 01:14:54 DEBUG Loaded: switch-mode 2023-09-26 01:14:54 DEBUG Loaded: temporary-mode-switch 2023-09-26 01:14:55 DEBUG Loaded: text-to-speech 2023-09-26 01:14:55 DEBUG Loaded: toggle-pause 2023-09-26 01:14:55 DEBUG Loaded: basic 2023-09-26 01:14:55 DEBUG Loaded: chain 2023-09-26 01:14:55 DEBUG Loaded: double_tap 2023-09-26 01:14:55 DEBUG Loaded: hat_buttons 2023-09-26 01:14:55 DEBUG Loaded: smart_toggle 2023-09-26 01:14:55 DEBUG Loaded: tempo 2023-09-26 01:14:55 DEBUG Gremlin RPC client started... 2023-09-26 01:14:55 INFO Gremlin UI created 2023-09-26 01:14:55 INFO Gremlin UI launching 2023-09-26 01:15:01 DEBUG Gremlin RPC client stopped. 2023-09-26 01:15:31 ERROR Uncaught exception: Traceback (most recent call last): File "gremlin\ui\common.py", line 695, in _execute_callback File "D:\fs\fs0\p\f\joystick.gremlin\.extras\JoystickGremlinEx\joystick_gremlin.10.40.3ex\action_plugins\macro\__init__.py", line 677, in _modify_vjoy self._vjoy_ui() File "D:\fs\fs0\p\f\joystick.gremlin\.extras\JoystickGremlinEx\joystick_gremlin.10.40.3ex\action_plugins\macro\__init__.py", line 392, in _vjoy_ui self.ui_elements["vjoy_selector"] = gremlin.ui.common.VJoySelector( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "gremlin\ui\common.py", line 758, in __init__ File "gremlin\ui\common.py", line 561, in __init__ File "gremlin\ui\common.py", line 673, in _create_input_dropdown File "gremlin\common.py", line 182, in input_to_ui_string File "enum.py", line 717, in __call__ File "enum.py", line 1106, in __new__ RecursionError: maximum recursion depth exceeded while calling a Python object 2023-09-26 01:15:31 ERROR Uncaught exception: Traceback (most recent call last): File "gremlin\ui\device_tab.py", line 445, in input_item_selected_cb File "gremlin\ui\device_tab.py", line 56, in __init__ File "gremlin\ui\device_tab.py", line 122, in _create_dropdowns File "gremlin\ui\common.py", line 810, in __init__ File "gremlin\ui\common.py", line 829, in _valid_action_list RecursionError: maximum recursion depth exceeded 2023-09-26 01:15:31 ERROR Uncaught exception: Traceback (most recent call last): File "joystick_gremlin.py", line 860, in _joystick_input_selection File "joystick_gremlin.py", line 838, in _process_joystick_input_selection File "joystick_gremlin.py", line 1355, in _should_process_input File "gremlin\input_devices.py", line 1707, in should_process File "gremlin\input_devices.py", line 1746, in _process_axis File "gremlin\event_handler.py", line 99, in __eq__ File "gremlin\event_handler.py", line 122, in __hash__ File "dill\__init__.py", line 215, in __hash__ RecursionError: maximum recursion depth exceeded while calling a Python object 2023-09-26 01:15:42 INFO Gremlin UI terminated 2023-09-26 01:15:42 INFO Terminating Gremlin ```
muchimi commented 1 year ago

Hi - can you describe what you were doing at the time and verify this is with the latest update from last week? Or did you just load and it went sideways without you doing anything? The log file is helpful - I'm thinking probably yet another QT6 behavior change as I've had recursive stack overflows before so this is something probably very simple. I'll look at it.

samkatakouzinos commented 1 year ago

It's when I press and hold a button on my steering wheel. It runs a macro to press and release repeatedly a vJoy button.

I'll also note that the app acts frozen for a little while before the pop-up dialogs do their thing.

joystick_gremlin_M7zqsytLpc

muchimi commented 10 months ago

Hi, I'm going to look into this. In the meantime, I recommend using VJOYREMAP as opposed to just REMAP to see if that fixes it as most of my work has been on vjoyremap, not the base (original) remap.

muchimi commented 7 months ago

I have discovered a race condition when multiple axes are moved concurrently and axis focus is turned on. Doesn't seem to be an issue with buttons, but axes are causing a crash. I'm digging into this further, the current workaround is to not have auto-axis focus enabled in the options. Looks QT related.

muchimi commented 7 months ago

Bug fix in 13.40.7ex