MPF 0.80 - "Set of Futures is empty"

213 views
Skip to first unread message

Johannes Falk Renström

unread,
Jun 3, 2024, 1:30:54 PM6/3/24
to MPF Users
Hi friends!

I'm a big noob and completely at a loss here.

I've followed the instructions for adding the attract slide using Godot, but i can't get MPF to start anymore (running on a physical machine)

I use the "mpf -x"-command from the project folder (used "mpf both" before whilst on mpf 0.56), but i get the same error while using the "mpf"-command.

The godot window succesfully shows "Mission Pinball: Connected to MPF" but MPF itself throws this error and crashes:

C:\Users\pinball>cd C:\Users\pinball\Desktop\cobra

C:\Users\pinball\Desktop\cobra>mpf -x
Shutting down...
Event: ======'shutdown'====== Args={}
Connected BCP to 'local_display' localhost:5050
BCH: Initial count: 0
State: idle
BCH: Initial count: 0
State: idle
BCH: Initial count: 0
State: idle
Event: ======'init_phase_3'====== Args={}
Event: ======'init_phase_4'====== Args={}
Exception in callback Util.raise_exceptions(<Task finishe...unt_stable'")>) at c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\utility_functions.py:790
handle: <Handle Util.raise_exceptions(<Task finishe...unt_stable'")>) at c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\utility_functions.py:790>
Traceback (most recent call last):
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\utility_functions.py", line 798, in raise_exceptions
    future.result()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\ball_controller.py", line 90, in _add_new_balls_to_playfield
    self.num_balls_known = await self._count_all_balls_in_devices()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\ball_controller.py", line 129, in _count_all_balls_in_devices
    futures.append(asyncio.ensure_future(device.ball_count_handler.counter.wait_for_count_stable()))
AttributeError: 'NoneType' object has no attribute 'wait_for_count_stable'
Task exception was never retrieved
future: <Task finished name='Task-178' coro=<wait() done, defined at c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py:373> exception=AssertionError('Set of Futures is empty.')>
Traceback (most recent call last):
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 411, in wait
    return await _wait(fs, timeout, return_when, loop)
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 501, in _wait
    assert fs, 'Set of Futures is empty.'
AssertionError: Set of Futures is empty.
Event: ======'machine_var_audits_events_game_ended'====== Args={'value': 3, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_events_game_started'====== Args={'value': 12, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_player_score'====== Args={'value': {'average': 3394.5, 'top': [10210, 6764, 4730, 1042], 'total': 4}, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_shots_my_first_shot'====== Args={'value': 6, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_shots_spinner_shot'====== Args={'value': 435847, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_ball_launch'====== Args={'value': 23, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_bumper_lower'====== Args={'value': 15, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_bumper_upper'====== Args={'value': 21, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_creature'====== Args={'value': 0, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_drop2_left'====== Args={'value': 7, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_drop2_middle'====== Args={'value': 7, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_drop2_right'====== Args={'value': 6, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_drop_left'====== Args={'value': 8, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_drop_middle'====== Args={'value': 7, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_drop_right'====== Args={'value': 8, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_inlane_left'====== Args={'value': 9, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_inlane_right'====== Args={'value': 9, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_launch_button'====== Args={'value': 37, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_left_eos'====== Args={'value': 38, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_left_flipper'====== Args={'value': 38, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_left_orbit_bottom'====== Args={'value': 1, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_left_orbit_top'====== Args={'value': 2, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_legolas_standup'====== Args={'value': 0, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_mid_left_target'====== Args={'value': 1, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_mid_right_target'====== Args={'value': 3, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_mid_scoop'====== Args={'value': 0, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_middle_switch'====== Args={'value': 1, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_outlane_left'====== Args={'value': 4, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_outlane_right'====== Args={'value': 8, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_right_eos'====== Args={'value': 36, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_right_flipper'====== Args={'value': 36, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_right_orbit_bottom'====== Args={'value': 2, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_right_orbit_top'====== Args={'value': 2, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_rollover_left'====== Args={'value': 1, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_rollover_right'====== Args={'value': 4, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_sling_left'====== Args={'value': 2, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_sling_right'====== Args={'value': 7, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_spinner_mid'====== Args={'value': 116, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_standup_left_orbit'====== Args={'value': 0, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_standup_left_outlane'====== Args={'value': 0, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_start_button'====== Args={'value': 1, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_subway_entry'====== Args={'value': 0, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough1'====== Args={'value': 16, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough2'====== Args={'value': 12, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough3'====== Args={'value': 12, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough4'====== Args={'value': 12, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough5'====== Args={'value': 12, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough6'====== Args={'value': 12, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough7'====== Args={'value': 12, 'prev_value': None, 'change': True}
Event: ======'machine_var_audits_switches_s_trough_jam'====== Args={'value': 20, 'prev_value': None, 'change': True}
Event: ======'init_phase_5'====== Args={}
Event: ======'init_done'====== Args={}
Event: ======'machine_reset_phase_1'====== Args={}
Event: ======'machine_reset_phase_2'====== Args={}
Event: ======'machine_reset_phase_3'====== Args={}
All targets are already up. Will not reset bank.
All targets are already up. Will not reset bank.
Event: ======'reset_complete'====== Args={}
Event: ======'mode_attract_will_start'====== Args={}
Event: ======'mode_attract_starting'====== Args={}
Will not start because machine is shutting down.
Task was destroyed but it is pending!
task: <Task pending name='Task-181' coro=<IocpProactor.accept.<locals>.accept_coro() running at c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\windows_events.py:566> wait_for=<_OverlappedFuture cancelled>>
Shutdown because of an exception:
Runtime Exception
Traceback (most recent call last):
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 793, in _run_loop
    raise self._exception['exception']
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 411, in wait
    return await _wait(fs, timeout, return_when, loop)
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 501, in _wait
    assert fs, 'Set of Futures is empty.'
AssertionError: Set of Futures is empty.
Please install the crash_reporter feature to use the MPF crash reporter.
MPF run loop ended.





Am i doing something that's obviously faulty here, or any ideas on how i can move forward? All help would be incredibly appreciated!

connected to mpf.PNG

Anthony van Winkle

unread,
Jun 3, 2024, 1:46:30 PM6/3/24
to MPF Users
Hey Johannes!

I'll admit that error is not very helpful, but teasing through the logs I see that it's having trouble getting a ball count. Possibly there is a ball device that isn't configured properly, because the crash is when it's asking that ball device how many balls it has in it and the ball device doesn't know how to calculate that.

First question, did you complete the migration of your game from 0.56 to 0.57 before moving to 0.80? If not, that's definitely a thing to do. MPF 0.57 had some major config changes that will need to be accounted for. And to reduce the risk of errors, try running this on a 0.57 virtual environment and see if it produces the same issue. If so, almost certainly a config issue. If it works fine on 0.57, then I definitely broke something!

It looks like GMC is working as expected, so we can set that aside for now by running MPF with the -b option to bypass a media controller and run directly. With this option, you won't have to start up GMC just to see MPF crash, MPF will boot up and crash all on its own :) And then add -vV to get verbose logs, and let's see what we can see!

Johannes Falk Renström

unread,
Jun 3, 2024, 2:02:18 PM6/3/24
to MPF Users
I think i've gone through the steps of migrating correctly from 0.56 to 0.57, but i will have to see what happens when i try to run the code in an virtual 0.57 environment.

This is what it throws at me with the modified launch options:

C:\Users\pinball\Desktop\cobra>mpf -b -vV

Shutting down...
Event: ======'shutdown'====== Args={}
no running event loop

Traceback (most recent call last):
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\commands\game.py", line 240, in __init__
    self.machine.run()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 689, in run
    self._run_loop()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 789, in _run_loop
    self._crash_shutdown()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 734, in _crash_shutdown
    self._do_stop()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 724, in _do_stop
    self.events.process_event_queue()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\events.py", line 842, in process_event_queue
    self._process_queue_event(event=event[0],
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\events.py", line 783, in _process_queue_event
    task = asyncio.create_task(self._run_handlers_sequential(event, callback, kwargs))
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 360, in create_task
    loop = events.get_running_loop()
RuntimeError: no running event loop
sys:1: RuntimeWarning: coroutine 'EventManager._run_handlers_sequential' was never awaited
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Task was destroyed but it is pending!
task: <Task pending name='Task-1' coro=<MachineController.initialize() running at c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py:262> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x0000026D35951B50>()]>>

Never had any issues with my balldevices before, all my code is very primitive so far:

#config_version=6
ball_devices:
  bd_trough:
    ball_switches: s_trough1, s_trough2, s_trough3, s_trough4, s_trough5, s_trough5, s_trough6, s_trough7, s_trough_jam
    eject_coil: c_trough_eject
    tags: trough, home, drain
    jam_switch: s_trough_jam
    eject_coil_jam_pulse: 15ms
    eject_targets: bd_plunger
    debug: true
  bd_plunger:
    ball_switches: s_ball_launch
    eject_coil: c_plunger
    player_controlled_eject_event: s_launch_button_active
    eject_timeouts: 3s
  bd_creature:
    ball_switches: s_creature
    eject_coil: c_creature
    eject_timeouts: 1s
  bd_scoop:
    ball_switches: s_mid_scoop
    eject_coil: c_scoop_eject
    eject_timeouts: 1s

Thank you so much for your swift reply!

Johannes Falk Renström

unread,
Jun 3, 2024, 4:00:02 PM6/3/24
to MPF Users
So it seems that i had the "Virtual Mode"(x)" ticked in Godot, now MPF isn't crashing anymore, but i get stuck on "WAITING FOR MEDIA CONTROLLER LOCALHOST: 5050" instead, without getting the view of the switches etc that i'm used to:

connected.PNG

Any ideas?

Anthony van Winkle

unread,
Jun 3, 2024, 4:33:46 PM6/3/24
to MPF Users
Hmmm. The toggles in GMC will have no effect because you're not spawning MPF from within GMC. The fact that GMC thinks its connected but the MPF window does not... that suggests that there's another MPF process somewhere that snagged the connection. Best bet is to close everything down and try again :)

Running MPF with the -t option will hide the UI display and show the raw logs, which will help see what's going on behind the scenes. And running it with the -b option will skip the BCP connection, so you can get MPF booted faster and see what issues its presenting. If it boots up fine and you see "Starting the main run loop", then everything is working and you can remove the -b option to see if the issue is somehow connected to GMC. And of course running with -vV for verbose logging, please attach the complete log file and perhaps we can find a clue!

Johannes Falk Renström

unread,
Jun 4, 2024, 4:47:10 AM6/4/24
to MPF Users
Oh, i see. This is what what the log says when running "mpf -b -vV":

2024-06-04 10:39:40,800 : INFO : root : Loading config.
2024-06-04 10:39:40,817 : INFO : YamlMultifileConfigLoader : Machine config file #1: config.yaml
2024-06-04 10:39:40,817 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\76144d706b978e517391d71dba829756.mpf_cache
2024-06-04 10:39:41,003 : DEBUG : YamlMultifileConfigLoader : Loading mode attract from c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\modes\attract\config\attract.yaml
2024-06-04 10:39:41,003 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\e2457fe5f6541a29f6129a6cc2a32ea2.mpf_cache
2024-06-04 10:39:41,012 : DEBUG : YamlMultifileConfigLoader : Loading mode game from c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\modes\game\config\game.yaml
2024-06-04 10:39:41,012 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\13c5adb91de6704b462f31fd710492e3.mpf_cache
2024-06-04 10:39:41,024 : DEBUG : YamlMultifileConfigLoader : Loading mode attract from c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\modes\attract\config\attract.yaml
2024-06-04 10:39:41,024 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\e2457fe5f6541a29f6129a6cc2a32ea2.mpf_cache
2024-06-04 10:39:41,024 : INFO : Machine : Mission Pinball Framework Core Engine v0.80.0.dev1
2024-06-04 10:39:41,024 : INFO : Machine : Command line arguments: {'no_load_cache': False, 'create_config_cache': True, 'bcp': False, 'configfile': ['config.yaml'], 'force_assets_load': False, 'platform_integration_test': False, 'jsonlogging': False, 'logfile': 'logs\\2024-06-04-10-39-40-mpf-DESKTOP-LM0KOFJ.log', 'pause': False, 'production': False, 'text_ui': True, 'loglevel': 10, 'consoleloglevel': 10, 'force_platform': None, 'syslog_address': None, 'mc_file_name': None, 'no_sound': False, 'full_logfile_path': 'C:\\Users\\pinball\\Desktop\\cobra\\logs\\2024-06-04-10-39-40-mpf-DESKTOP-LM0KOFJ.log'}
2024-06-04 10:39:41,024 : INFO : Machine : MPF path: c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf
2024-06-04 10:39:41,024 : INFO : Machine : Machine path: C:\Users\pinball\Desktop\cobra
2024-06-04 10:39:41,024 : INFO : Machine : Platform: win32
2024-06-04 10:39:41,024 : INFO : Machine : Python executable location: c:\users\pinball\appdata\local\programs\python\python39\python.exe
2024-06-04 10:39:41,024 : INFO : Machine : Python version: 3.9.0 (64-bit)
2024-06-04 10:39:41,024 : DEBUG : asyncio : Using proactor: IocpProactor
2024-06-04 10:39:41,024 : INFO : Machine : Initializing MPF...
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110A7D4A00>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB146C0>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB14790>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Blur: <asciimatics.widgets.layout.Layout object at 0x000002110AB2F700>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Blur: <mpf.core.text_ui.MpfLayout object at 0x000002110AB31270>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB14BA0>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB14AD0>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB14C70>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB14A00>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB14930>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x000002110AB14860>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Blur: <asciimatics.widgets.layout.Layout object at 0x000002110AB2F7C0>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Focus: <asciimatics.widgets.layout.Layout object at 0x000002110AB2F700>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Focus: <mpf.core.text_ui.MpfLayout object at 0x000002110AB31270>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Focus: <asciimatics.widgets.layout.Layout object at 0x000002110AB2F7C0>
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.frame : Cloning: Test
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,298 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,306 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-06-04 10:39:41,461 : INFO : OPP : Connecting to com3 at 115200bps
2024-06-04 10:39:41,475 : DEBUG : OPP : Sending EOM command to port 'com3'
2024-06-04 10:39:41,475 : DEBUG : OPP : Got ID response:  0xff
2024-06-04 10:39:41,491 : DEBUG : OPP : Sending inventory command:  0xf0 0xff
2024-06-04 10:39:41,491 : DEBUG : OPP : Sending get Gen2 Cfg command:  0x20 0x0d 0x00 0x00 0x00 0x00 0x60 0xff
2024-06-04 10:39:41,503 : DEBUG : OPPSolenoid 32 on 1 : Creating OPP Solenoid at hardware address: 0x20
2024-06-04 10:39:41,503 : DEBUG : OPPInputCard 32 on 1 : Creating OPP Input at hardware address: 0x20
2024-06-04 10:39:41,503 : DEBUG : OPPNeopixel 32 on 1 : Creating OPP Neopixel card at hardware address: 0x20
2024-06-04 10:39:41,503 : DEBUG : OPP : Sending get version command:  0x20 0x02 0x00 0x00 0x00 0x00 0x50 0xff
2024-06-04 10:39:41,503 : DEBUG : OPP : Getting initial inputs states for 1
2024-06-04 10:39:41,503 : INFO : OPP : Init of OPP board 1 done
2024-06-04 10:39:41,503 : INFO : OPP : Connecting to com6 at 115200bps
2024-06-04 10:39:41,518 : DEBUG : OPP : Sending EOM command to port 'com6'
2024-06-04 10:39:41,518 : DEBUG : OPP : Got ID response:  0xff
2024-06-04 10:39:41,526 : DEBUG : OPP : Sending inventory command:  0xf0 0xff
2024-06-04 10:39:41,528 : DEBUG : OPP : Sending get Gen2 Cfg command:  0x20 0x0d 0x00 0x00 0x00 0x00 0x60 0xff
2024-06-04 10:39:41,528 : DEBUG : OPPSolenoid 32 on 0 : Creating OPP Solenoid at hardware address: 0x20
2024-06-04 10:39:41,528 : DEBUG : OPPInputCard 32 on 0 : Creating OPP Input at hardware address: 0x20
2024-06-04 10:39:41,528 : DEBUG : OPPNeopixel 32 on 0 : Creating OPP Neopixel card at hardware address: 0x20
2024-06-04 10:39:41,528 : DEBUG : OPP : Sending get version command:  0x20 0x02 0x00 0x00 0x00 0x00 0x50 0xff
2024-06-04 10:39:41,528 : DEBUG : OPP : Getting initial inputs states for 0
2024-06-04 10:39:41,545 : INFO : OPP : Init of OPP board 0 done
2024-06-04 10:39:41,545 : INFO : OPP : Connecting to com7 at 115200bps
2024-06-04 10:39:41,556 : DEBUG : OPP : Sending EOM command to port 'com7'
2024-06-04 10:39:41,556 : DEBUG : OPP : Got ID response:  0xff
2024-06-04 10:39:41,564 : DEBUG : OPP : Sending inventory command:  0xf0 0xff
2024-06-04 10:39:41,564 : DEBUG : OPP : Sending get Gen2 Cfg command:  0x20 0x0d 0x00 0x00 0x00 0x00 0x60 0xff
2024-06-04 10:39:41,564 : DEBUG : OPPSolenoid 32 on 3 : Creating OPP Solenoid at hardware address: 0x20
2024-06-04 10:39:41,564 : DEBUG : OPPInputCard 32 on 3 : Creating OPP Input at hardware address: 0x20
2024-06-04 10:39:41,564 : DEBUG : OPPNeopixel 32 on 3 : Creating OPP Neopixel card at hardware address: 0x20
2024-06-04 10:39:41,564 : DEBUG : OPP : Sending get version command:  0x20 0x02 0x00 0x00 0x00 0x00 0x50 0xff
2024-06-04 10:39:41,564 : DEBUG : OPP : Getting initial inputs states for 3
2024-06-04 10:39:41,572 : DEBUG : OPP : Waiting for another 1 cards
2024-06-04 10:39:41,572 : DEBUG : OPP : Waiting for another 1 cards
2024-06-04 10:39:41,572 : INFO : OPP : Init of OPP board 3 done
2024-06-04 10:39:41,572 : INFO : EventManager : Event: ======'machine_var_credits_string'====== Args={'value': 'FREE PLAY', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,612 : DEBUG : YAML File Interface : Loading file: C:\Users\pinball\Desktop\cobra\data/machine_vars.yaml
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_master_volume'====== Args={'value': 0.5, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_player1_score'====== Args={'value': 6764, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_mpf_version'====== Args={'value': 'Mission Pinball Framework v0.80.0.dev1', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_mpf_extended_version'====== Args={'value': 'Mission Pinball Framework v0.80.0.dev1, Config version:6, Show version: 6, BCP version:1.1', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_python_version'====== Args={'value': '3.9.0', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_platform'====== Args={'value': 'Windows-10-10.0.19041-SP0', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_platform_system'====== Args={'value': 'Windows', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_platform_release'====== Args={'value': '10', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_platform_version'====== Args={'value': '10.0.19041', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_platform_machine'====== Args={'value': 'AMD64', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'machine_var_log_file_path'====== Args={'value': 'C:\\Users\\pinball\\Desktop\\cobra\\logs\\2024-06-04-10-39-40-mpf-DESKTOP-LM0KOFJ.log', 'prev_value': None, 'change': True}
2024-06-04 10:39:41,621 : INFO : EventManager : Event: ======'init_phase_1'====== Args={}
2024-06-04 10:39:41,629 : DEBUG : ModeController : Loaded mode game
2024-06-04 10:39:41,637 : DEBUG : ModeController : Loaded mode attract
2024-06-04 10:39:41,653 : DEBUG : ball_device.bd_trough : Configuring device with settings: '{'ball_switches': 's_trough1, s_trough2, s_trough3, s_trough4, s_trough5, s_trough6, s_trough7, s_trough_jam', 'eject_coil': 'c_trough_eject', 'tags': ['trough', 'home', 'drain'], 'jam_switch': 's_trough_jam', 'eject_coil_jam_pulse': '15ms', 'eject_targets': [<ball_device.bd_plunger>], 'debug': True, 'label': '%', 'console_log': 'full', 'file_log': 'full', 'entrance_events': {}, 'idle_missing_ball_timeout': 5.0, 'confirm_eject_type': 'target', 'captures_from': <playfield.playfield>, 'eject_timeouts': [], 'ball_missing_timeouts': [], 'ball_missing_target': <playfield.playfield>, 'confirm_eject_switch': None, 'confirm_eject_event': None, 'max_eject_attempts': 0, 'request_ball_events': {}, 'eject_events': {}, 'eject_all_events': {}, 'mechanical_eject': False, 'player_controlled_eject_event': None, 'ball_search_order': 200, 'auto_fire_on_unexpected_ball': True, 'target_on_unexpected_ball': None}'
2024-06-04 10:39:41,661 : INFO : EventManager : Event: ======'drop_target_bank_vuk_bank_up'====== Args={}
2024-06-04 10:39:41,661 : INFO : EventManager : Event: ======'drop_target_bank_vuk_bank2_up'====== Args={}
2024-06-04 10:39:41,661 : INFO : EventManager : Event: ======'init_phase_2'====== Args={}
2024-06-04 10:39:41,677 : INFO : SwitchController : Found active switch: ('0-0-26', <Platform.OPP>) <switch.s_trough1>
2024-06-04 10:39:41,677 : DEBUG : ball_device.bd_trough : SC: Counted 1 balls. Active switches: [<switch.s_trough1>]. Old: None
2024-06-04 10:39:41,677 : DEBUG : ball_device.bd_trough : SC: New count 1 last: None
2024-06-04 10:39:41,677 : INFO : ball_device.bd_trough : BCH: Initial count: 1
2024-06-04 10:39:41,677 : INFO : ball_device.bd_trough : State: idle
2024-06-04 10:39:41,677 : DEBUG : ball_device.bd_trough : Waiting for eject request.
2024-06-04 10:39:41,677 : INFO : ball_device.bd_plunger : BCH: Initial count: 0
2024-06-04 10:39:41,677 : INFO : ball_device.bd_plunger : State: idle
2024-06-04 10:39:41,677 : INFO : ball_device.bd_creature : BCH: Initial count: 0
2024-06-04 10:39:41,677 : INFO : ball_device.bd_creature : State: idle
2024-06-04 10:39:41,677 : INFO : ball_device.bd_scoop : BCH: Initial count: 0
2024-06-04 10:39:41,677 : INFO : ball_device.bd_scoop : State: idle
2024-06-04 10:39:41,677 : DEBUG : YAML File Interface : Loading file: C:\Users\pinball\Desktop\cobra\data/audits.yaml
2024-06-04 10:39:41,717 : DEBUG : Machine : "info_lights:" section not found in machine configuration, so the InfoLights will not be used.
2024-06-04 10:39:41,717 : DEBUG : Machine : "switch_player:" section not found in machine configuration, so the SwitchPlayer will not be used.
2024-06-04 10:39:41,726 : DEBUG : Machine : "twitch_client:" section not found in machine configuration, so the TwitchBot will not be used.
2024-06-04 10:39:41,726 : DEBUG : Machine : "virtual_segment_display_connector:" section not found in machine configuration, so the VirtualSegmentDisplayConnector will not be used.
2024-06-04 10:39:41,726 : INFO : EventManager : Event: ======'init_phase_3'====== Args={}
2024-06-04 10:39:41,726 : DEBUG : ShowController : Loading show: flash
2024-06-04 10:39:41,726 : DEBUG : ShowController : Loading show: on
2024-06-04 10:39:41,726 : DEBUG : ShowController : Loading show: off
2024-06-04 10:39:41,726 : DEBUG : ShowController : Loading show: led_color
2024-06-04 10:39:41,726 : DEBUG : ShowController : Loading show: bl_color
2024-06-04 10:39:41,726 : DEBUG : ShowController : Loading show: flash_color
2024-06-04 10:39:41,726 : INFO : EventManager : Event: ======'init_phase_4'====== Args={}
2024-06-04 10:39:41,726 : DEBUG : ball_device.bd_trough : SC: Counted 1 balls. Active switches: [<switch.s_trough1>]. Old: 1
2024-06-04 10:39:41,726 : INFO : BallController : Initial balls found: 1
2024-06-04 10:39:41,734 : ERROR : asyncio : Task exception was never retrieved
future: <Task finished name='Task-175' coro=<wait() done, defined at c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py:373> exception=AssertionError('Set of Futures is empty.')>

Traceback (most recent call last):
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 411, in wait
    return await _wait(fs, timeout, return_when, loop)
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 501, in _wait
    assert fs, 'Set of Futures is empty.'
AssertionError: Set of Futures is empty.
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_events_game_ended'====== Args={'value': 3, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_events_game_started'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_player_score'====== Args={'value': {'average': 3394.5, 'top': [10210, 6764, 4730, 1042], 'total': 4}, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_shots_my_first_shot'====== Args={'value': 6, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_shots_spinner_shot'====== Args={'value': 435847, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_ball_launch'====== Args={'value': 23, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_bumper_lower'====== Args={'value': 15, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_bumper_upper'====== Args={'value': 21, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_creature'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop2_left'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop2_middle'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop2_right'====== Args={'value': 6, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop_left'====== Args={'value': 8, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop_middle'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop_right'====== Args={'value': 8, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_inlane_left'====== Args={'value': 9, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_inlane_right'====== Args={'value': 9, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_launch_button'====== Args={'value': 37, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_eos'====== Args={'value': 38, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_flipper'====== Args={'value': 38, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_orbit_bottom'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_orbit_top'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_legolas_standup'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_mid_left_target'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_mid_right_target'====== Args={'value': 3, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_mid_scoop'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_middle_switch'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_outlane_left'====== Args={'value': 4, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_outlane_right'====== Args={'value': 8, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_eos'====== Args={'value': 36, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_flipper'====== Args={'value': 36, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_orbit_bottom'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_orbit_top'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_rollover_left'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_rollover_right'====== Args={'value': 4, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_sling_left'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_sling_right'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_spinner_mid'====== Args={'value': 116, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_standup_left_orbit'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_standup_left_outlane'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_start_button'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_subway_entry'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough1'====== Args={'value': 16, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,751 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough2'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,759 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough3'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,759 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough4'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,759 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough5'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,759 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough6'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,759 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough7'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,759 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough_jam'====== Args={'value': 20, 'prev_value': None, 'change': True}
2024-06-04 10:39:41,759 : INFO : EventManager : Event: ======'init_phase_5'====== Args={}
2024-06-04 10:39:41,818 : INFO : EventManager : Event: ======'init_done'====== Args={}
2024-06-04 10:39:41,826 : INFO : Machine : Starting the main run loop.
2024-06-04 10:39:41,826 : INFO : EventManager : Event: ======'machine_reset_phase_1'====== Args={}
2024-06-04 10:39:41,826 : INFO : Machine : Shutting down...
2024-06-04 10:39:41,826 : INFO : EventManager : Event: ======'shutdown'====== Args={}
2024-06-04 10:39:41,826 : ERROR : root : no running event loop

Traceback (most recent call last):
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\commands\game.py", line 240, in __init__
    self.machine.run()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 689, in run
    self._run_loop()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 789, in _run_loop
    self._crash_shutdown()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 734, in _crash_shutdown
    self._do_stop()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\machine.py", line 724, in _do_stop
    self.events.process_event_queue()
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\events.py", line 842, in process_event_queue
    self._process_queue_event(event=event[0],
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\site-packages\mpf\core\events.py", line 783, in _process_queue_event
    task = asyncio.create_task(self._run_handlers_sequential(event, callback, kwargs))
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 360, in create_task
    loop = events.get_running_loop()
RuntimeError: no running event loop

Looks like its correctly identifying the ball in the through atleast, when i move the ball to the shooter lane instead and run the same thing it states " BCH: Initial count: 1". 

I'm pretty clueless as where to go from here so any help would be incredibly appreciated.

Anthony van Winkle

unread,
Jun 5, 2024, 4:40:24 PM6/5/24
to MPF Users
That's interesting, and definitely confusing. Part of the challenge is that the error is happening deep in the low-level python code and isn't being caught anywhere in MPF, so there's no indication about why the certain step is failing. I'll add some more logging and checks to the ball count startup flows, won't fix the issue but will get us a step closer!

Johannes Falk Renström

unread,
Jul 15, 2024, 7:43:19 AM7/15/24
to MPF Users
Hey again!

I re-installed everything - this time using the local repository method (i'm guessing this would have added the extended logging you mentioned?) - but i still can't find what's causing this error for me.

My logs look like this now:

2024-07-15 13:37:28,161 : INFO : root : Loading config.
2024-07-15 13:37:28,169 : INFO : YamlMultifileConfigLoader : Machine config file #1: config.yaml
2024-07-15 13:37:28,169 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\54ed47298e3cf2df3fabcba808bcddae.mpf_cache
2024-07-15 13:37:28,335 : DEBUG : YamlMultifileConfigLoader : Loading mode attract from c:\users\pinball\desktop\cobra\mpf\mpf\modes\attract\config\attract.yaml
2024-07-15 13:37:28,335 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\e5310ddaaf739b7e0ea310aa14143760.mpf_cache
2024-07-15 13:37:28,335 : DEBUG : YamlMultifileConfigLoader : Loading mode game from c:\users\pinball\desktop\cobra\mpf\mpf\modes\game\config\game.yaml
2024-07-15 13:37:28,335 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\deebc703dddd2b04c7614cf7f8c81d30.mpf_cache
2024-07-15 13:37:28,335 : DEBUG : YamlMultifileConfigLoader : Loading mode attract from c:\users\pinball\desktop\cobra\mpf\mpf\modes\attract\config\attract.yaml
2024-07-15 13:37:28,343 : INFO : ConfigProcessor : Loading config from cache: C:\Users\pinball\AppData\Local\Temp\e5310ddaaf739b7e0ea310aa14143760.mpf_cache
2024-07-15 13:37:28,344 : INFO : Machine : Mission Pinball Framework Core Engine v0.80.0.dev3
2024-07-15 13:37:28,344 : INFO : Machine : Command line arguments: {'no_load_cache': False, 'create_config_cache': True, 'bcp': False, 'configfile': ['config.yaml'], 'force_assets_load': False, 'platform_integration_test': False, 'jsonlogging': False, 'logfile': 'logs\\2024-07-15-13-37-28-mpf-DESKTOP-LM0KOFJ.log', 'pause': False, 'production': False, 'text_ui': True, 'loglevel': 10, 'consoleloglevel': 10, 'force_platform': None, 'syslog_address': None, 'mc_file_name': None, 'no_sound': False, 'full_logfile_path': 'C:\\Users\\pinball\\Desktop\\cobra\\logs\\2024-07-15-13-37-28-mpf-DESKTOP-LM0KOFJ.log'}
2024-07-15 13:37:28,344 : INFO : Machine : MPF path: c:\users\pinball\desktop\cobra\mpf\mpf
2024-07-15 13:37:28,344 : INFO : Machine : Machine path: C:\Users\pinball\Desktop\cobra
2024-07-15 13:37:28,344 : INFO : Machine : Platform: win32
2024-07-15 13:37:28,344 : INFO : Machine : Python executable location: c:\users\pinball\appdata\local\programs\python\python39\python.exe
2024-07-15 13:37:28,344 : INFO : Machine : Python version: 3.9.0 (64-bit)
2024-07-15 13:37:28,347 : DEBUG : asyncio : Using proactor: IocpProactor
2024-07-15 13:37:28,347 : INFO : Machine : Initializing MPF...
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA49345F0>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C751E0>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C752B0>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Blur: <asciimatics.widgets.layout.Layout object at 0x0000028BA4C709A0>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Blur: <mpf.core.text_ui.MpfLayout object at 0x0000028BA4C6E510>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C756C0>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C755F0>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C75790>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C75520>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C75450>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.widget : Widget blur: <asciimatics.widgets.label.Label object at 0x0000028BA4C75380>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Blur: <asciimatics.widgets.layout.Layout object at 0x0000028BA4C70A60>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Focus: <asciimatics.widgets.layout.Layout object at 0x0000028BA4C709A0>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Focus: <mpf.core.text_ui.MpfLayout object at 0x0000028BA4C6E510>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Focus: <asciimatics.widgets.layout.Layout object at 0x0000028BA4C70A60>
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.frame : Cloning: Test
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,507 : DEBUG : asciimatics.widgets.layout : Updating: None
2024-07-15 13:37:28,647 : INFO : OPP : Connecting to com3 at 115200bps
2024-07-15 13:37:28,655 : DEBUG : OPP : Sending EOM command to port 'com3'
2024-07-15 13:37:28,655 : DEBUG : OPP : Got ID response:  0xff
2024-07-15 13:37:28,667 : DEBUG : OPP : Sending inventory command:  0xf0 0xff
2024-07-15 13:37:28,667 : DEBUG : OPP : Sending get Gen2 Cfg command:  0x20 0x0d 0x00 0x00 0x00 0x00 0x60 0xff
2024-07-15 13:37:28,681 : DEBUG : OPPSolenoid 32 on 1 : Creating OPP Solenoid at hardware address: 0x20
2024-07-15 13:37:28,681 : DEBUG : OPPInputCard 32 on 1 : Creating OPP Input at hardware address: 0x20
2024-07-15 13:37:28,681 : DEBUG : OPPNeopixel 32 on 1 : Creating OPP Neopixel card at hardware address: 0x20
2024-07-15 13:37:28,681 : DEBUG : OPP : Sending get version command:  0x20 0x02 0x00 0x00 0x00 0x00 0x50 0xff
2024-07-15 13:37:28,681 : DEBUG : OPP : Getting initial inputs states for 1
2024-07-15 13:37:28,698 : INFO : OPP : Init of OPP board 1 done
2024-07-15 13:37:28,698 : INFO : OPP : Connecting to com6 at 115200bps
2024-07-15 13:37:28,705 : DEBUG : OPP : Sending EOM command to port 'com6'
2024-07-15 13:37:28,713 : DEBUG : OPP : Got ID response:  0xff
2024-07-15 13:37:28,713 : DEBUG : OPP : Sending inventory command:  0xf0 0xff
2024-07-15 13:37:28,717 : DEBUG : OPP : Sending get Gen2 Cfg command:  0x20 0x0d 0x00 0x00 0x00 0x00 0x60 0xff
2024-07-15 13:37:28,717 : DEBUG : OPPSolenoid 32 on 0 : Creating OPP Solenoid at hardware address: 0x20
2024-07-15 13:37:28,717 : DEBUG : OPPInputCard 32 on 0 : Creating OPP Input at hardware address: 0x20
2024-07-15 13:37:28,717 : DEBUG : OPPNeopixel 32 on 0 : Creating OPP Neopixel card at hardware address: 0x20
2024-07-15 13:37:28,717 : DEBUG : OPP : Sending get version command:  0x20 0x02 0x00 0x00 0x00 0x00 0x50 0xff
2024-07-15 13:37:28,732 : DEBUG : OPP : Getting initial inputs states for 0
2024-07-15 13:37:28,735 : INFO : OPP : Init of OPP board 0 done
2024-07-15 13:37:28,735 : INFO : OPP : Connecting to com7 at 115200bps
2024-07-15 13:37:28,744 : DEBUG : OPP : Sending EOM command to port 'com7'
2024-07-15 13:37:28,744 : DEBUG : OPP : Got ID response:  0xff
2024-07-15 13:37:28,752 : DEBUG : OPP : Sending inventory command:  0xf0 0xff
2024-07-15 13:37:28,776 : DEBUG : OPP : Sending get Gen2 Cfg command:  0x20 0x0d 0x00 0x00 0x00 0x00 0x60 0xff
2024-07-15 13:37:28,792 : DEBUG : OPPSolenoid 32 on 3 : Creating OPP Solenoid at hardware address: 0x20
2024-07-15 13:37:28,792 : DEBUG : OPPInputCard 32 on 3 : Creating OPP Input at hardware address: 0x20
2024-07-15 13:37:28,792 : DEBUG : OPPNeopixel 32 on 3 : Creating OPP Neopixel card at hardware address: 0x20
2024-07-15 13:37:28,792 : DEBUG : OPP : Sending get version command:  0x20 0x02 0x00 0x00 0x00 0x00 0x50 0xff
2024-07-15 13:37:28,795 : DEBUG : OPP : Getting initial inputs states for 3
2024-07-15 13:37:28,795 : DEBUG : OPP : Waiting for another 1 cards
2024-07-15 13:37:28,795 : DEBUG : OPP : Waiting for another 1 cards
2024-07-15 13:37:28,795 : INFO : OPP : Init of OPP board 3 done
2024-07-15 13:37:28,795 : INFO : EventManager : Event: ======'machine_var_credits_string'====== Args={'value': 'FREE PLAY', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,844 : DEBUG : YAML File Interface : Loading file: C:\Users\pinball\Desktop\cobra\data/machine_vars.yaml
2024-07-15 13:37:28,844 : INFO : EventManager : Event: ======'machine_var_master_volume'====== Args={'value': 0.5, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,844 : INFO : EventManager : Event: ======'machine_var_player1_score'====== Args={'value': 6764, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,844 : INFO : EventManager : Event: ======'machine_var_mpf_version'====== Args={'value': 'Mission Pinball Framework v0.80.0.dev3', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_mpf_extended_version'====== Args={'value': 'Mission Pinball Framework v0.80.0.dev3, Config version:6, Show version: 6, BCP version:1.1', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_python_version'====== Args={'value': '3.9.0', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_platform'====== Args={'value': 'Windows-10-10.0.19041-SP0', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_platform_system'====== Args={'value': 'Windows', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_platform_release'====== Args={'value': '10', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_platform_version'====== Args={'value': '10.0.19041', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_platform_machine'====== Args={'value': 'AMD64', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'machine_var_log_file_path'====== Args={'value': 'C:\\Users\\pinball\\Desktop\\cobra\\logs\\2024-07-15-13-37-28-mpf-DESKTOP-LM0KOFJ.log', 'prev_value': None, 'change': True}
2024-07-15 13:37:28,852 : INFO : EventManager : Event: ======'init_phase_1'====== Args={}
2024-07-15 13:37:28,852 : DEBUG : ModeController : Loaded mode game
2024-07-15 13:37:28,852 : DEBUG : ModeController : Loaded mode attract
2024-07-15 13:37:28,877 : DEBUG : ball_device.bd_trough : Configuring device with settings: '{'ball_switches': 's_trough1, s_trough2, s_trough3, s_trough4, s_trough5, s_trough6, s_trough7, s_trough_jam', 'eject_coil': 'c_trough_eject', 'tags': ['trough', 'home', 'drain'], 'jam_switch': 's_trough_jam', 'eject_coil_jam_pulse': '15ms', 'eject_targets': [<ball_device.bd_plunger>], 'debug': True, 'label': '%', 'console_log': 'full', 'file_log': 'full', 'entrance_events': {}, 'idle_missing_ball_timeout': 5.0, 'confirm_eject_type': 'target', 'captures_from': <playfield.playfield>, 'eject_timeouts': [], 'ball_missing_timeouts': [], 'ball_missing_target': <playfield.playfield>, 'confirm_eject_switch': None, 'confirm_eject_event': None, 'max_eject_attempts': 0, 'request_ball_events': {}, 'eject_events': {}, 'eject_all_events': {}, 'mechanical_eject': False, 'player_controlled_eject_event': None, 'ball_search_order': 200, 'auto_fire_on_unexpected_ball': True, 'target_on_unexpected_ball': None}'
2024-07-15 13:37:28,893 : INFO : EventManager : Event: ======'drop_target_bank_vuk_bank_up'====== Args={}
2024-07-15 13:37:28,893 : INFO : EventManager : Event: ======'drop_target_bank_vuk_bank2_up'====== Args={}
2024-07-15 13:37:28,893 : INFO : EventManager : Event: ======'init_phase_2'====== Args={}
2024-07-15 13:37:28,901 : INFO : SwitchController : Found active switch: ('0-0-26', <Platform.OPP>) <switch.s_trough1>
2024-07-15 13:37:28,901 : DEBUG : ball_device.bd_trough : SC: Counted 1 balls. Active switches: [<switch.s_trough1>]. Old: None
2024-07-15 13:37:28,901 : DEBUG : ball_device.bd_trough : SC: New count 1 last: None
2024-07-15 13:37:28,901 : INFO : ball_device.bd_trough : BCH: Initial count: 1
2024-07-15 13:37:28,901 : INFO : ball_device.bd_trough : State: idle
2024-07-15 13:37:28,901 : DEBUG : ball_device.bd_trough : Waiting for eject request.
2024-07-15 13:37:28,909 : INFO : ball_device.bd_plunger : BCH: Initial count: 0
2024-07-15 13:37:28,909 : INFO : ball_device.bd_plunger : State: idle
2024-07-15 13:37:28,909 : INFO : ball_device.bd_creature : BCH: Initial count: 0
2024-07-15 13:37:28,909 : INFO : ball_device.bd_creature : State: idle
2024-07-15 13:37:28,909 : INFO : ball_device.bd_scoop : BCH: Initial count: 0
2024-07-15 13:37:28,909 : INFO : ball_device.bd_scoop : State: idle
2024-07-15 13:37:28,918 : DEBUG : YAML File Interface : Loading file: C:\Users\pinball\Desktop\cobra\data/audits.yaml
2024-07-15 13:37:28,919 : DEBUG : Machine : "info_lights:" section not found in machine configuration, so the InfoLights will not be used.
2024-07-15 13:37:28,927 : DEBUG : Machine : "switch_player:" section not found in machine configuration, so the SwitchPlayer will not be used.
2024-07-15 13:37:28,927 : DEBUG : Machine : "twitch_client:" section not found in machine configuration, so the TwitchBot will not be used.
2024-07-15 13:37:28,927 : DEBUG : Machine : "virtual_segment_display_connector:" section not found in machine configuration, so the VirtualSegmentDisplayConnector will not be used.
2024-07-15 13:37:28,927 : INFO : EventManager : Event: ======'init_phase_3'====== Args={}
2024-07-15 13:37:28,927 : DEBUG : ShowController : Loading show: flash
2024-07-15 13:37:28,927 : DEBUG : ShowController : Loading show: on
2024-07-15 13:37:28,927 : DEBUG : ShowController : Loading show: off
2024-07-15 13:37:28,927 : DEBUG : ShowController : Loading show: led_color
2024-07-15 13:37:28,935 : DEBUG : ShowController : Loading show: bl_color
2024-07-15 13:37:28,935 : DEBUG : ShowController : Loading show: flash_color
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'init_phase_4'====== Args={}
2024-07-15 13:37:28,935 : DEBUG : ball_device.bd_trough : SC: Counted 1 balls. Active switches: [<switch.s_trough1>]. Old: 1
2024-07-15 13:37:28,935 : INFO : BallController : Initial balls found: 1
2024-07-15 13:37:28,935 : ERROR : asyncio : Task exception was never retrieved

future: <Task finished name='Task-175' coro=<wait() done, defined at c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py:373> exception=AssertionError('Set of Futures is empty.')>
Traceback (most recent call last):
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 411, in wait
    return await _wait(fs, timeout, return_when, loop)
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 501, in _wait
    assert fs, 'Set of Futures is empty.'
AssertionError: Set of Futures is empty.
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_events_game_ended'====== Args={'value': 3, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_events_game_started'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_player_score'====== Args={'value': {'average': 3394.5, 'top': [10210, 6764, 4730, 1042], 'total': 4}, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_shots_my_first_shot'====== Args={'value': 6, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_shots_spinner_shot'====== Args={'value': 435847, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_ball_launch'====== Args={'value': 23, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_bumper_lower'====== Args={'value': 15, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_bumper_upper'====== Args={'value': 21, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_creature'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop2_left'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop2_middle'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop2_right'====== Args={'value': 6, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop_left'====== Args={'value': 8, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop_middle'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_drop_right'====== Args={'value': 8, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_inlane_left'====== Args={'value': 9, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,935 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_inlane_right'====== Args={'value': 9, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_launch_button'====== Args={'value': 37, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_eos'====== Args={'value': 38, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_flipper'====== Args={'value': 38, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_orbit_bottom'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_left_orbit_top'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_legolas_standup'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_mid_left_target'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_mid_right_target'====== Args={'value': 3, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_mid_scoop'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_middle_switch'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_outlane_left'====== Args={'value': 4, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_outlane_right'====== Args={'value': 8, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_eos'====== Args={'value': 36, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_flipper'====== Args={'value': 36, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_orbit_bottom'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_right_orbit_top'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_rollover_left'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_rollover_right'====== Args={'value': 4, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_sling_left'====== Args={'value': 2, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_sling_right'====== Args={'value': 7, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_spinner_mid'====== Args={'value': 116, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_standup_left_orbit'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_standup_left_outlane'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_start_button'====== Args={'value': 1, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_subway_entry'====== Args={'value': 0, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough1'====== Args={'value': 16, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough2'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough3'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough4'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough5'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough6'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough7'====== Args={'value': 12, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_trough_jam'====== Args={'value': 20, 'prev_value': None, 'change': True}
2024-07-15 13:37:28,943 : INFO : EventManager : Event: ======'init_phase_5'====== Args={}
2024-07-15 13:37:29,001 : INFO : EventManager : Event: ======'init_done'====== Args={}
2024-07-15 13:37:29,001 : INFO : Machine : Starting the main run loop.
2024-07-15 13:37:29,001 : INFO : EventManager : Event: ======'machine_reset_phase_1'====== Args={}
2024-07-15 13:37:29,009 : INFO : Machine : Shutting down...
2024-07-15 13:37:29,009 : INFO : EventManager : Event: ======'shutdown'====== Args={}
2024-07-15 13:37:29,009 : ERROR : root : no running event loop

Traceback (most recent call last):
  File "c:\users\pinball\desktop\cobra\mpf\mpf\commands\game.py", line 240, in __init__
    self.machine.run()
  File "c:\users\pinball\desktop\cobra\mpf\mpf\core\machine.py", line 689, in run
    self._run_loop()
  File "c:\users\pinball\desktop\cobra\mpf\mpf\core\machine.py", line 789, in _run_loop
    self._crash_shutdown()
  File "c:\users\pinball\desktop\cobra\mpf\mpf\core\machine.py", line 734, in _crash_shutdown
    self._do_stop()
  File "c:\users\pinball\desktop\cobra\mpf\mpf\core\machine.py", line 724, in _do_stop
    self.events.process_event_queue()
  File "c:\users\pinball\desktop\cobra\mpf\mpf\core\events.py", line 842, in process_event_queue
    self._process_queue_event(event=event[0],
  File "c:\users\pinball\desktop\cobra\mpf\mpf\core\events.py", line 783, in _process_queue_event

    task = asyncio.create_task(self._run_handlers_sequential(event, callback, kwargs))
  File "c:\users\pinball\appdata\local\programs\python\python39\lib\asyncio\tasks.py", line 360, in create_task
    loop = events.get_running_loop()
RuntimeError: no running event loop

I'm quite clueless as to where to go from here 😢

Johannes Falk Renström

unread,
Jul 20, 2024, 4:53:15 AM7/20/24
to MPF Users
SOLVED: Updating from Python 3.9 to 3.12 magically solved my issues!

Super huge thanks for all the help though Anthony, and sorry for just barging in here without a proper introduction demanding help. 🤓

My name is Johannes, i'm currently situated in Stockholm, Sweden, and i've slowly been working on a Brian Eddy-esque pinball for the past 2 years. I've now reached the point of needing more proper code, altough i'm a complete noob when it comes to programming, hence; i find myself in this group.

The mess project currently looks like this:

barebones2.PNG
cabinet.PNG

Again, thank you and everyone else involved with the MPF project!
Reply all
Reply to author
Forward
0 new messages