Thanks Randy for your time and help, but I think I'm gonna give up trying Houdini 4. I've enabled the DEBUG messages and there's no error that could give me any further hints :/
cat picochess.log | grep engine
2025-08-17 19:28:23.621 DEBUG engine - startup: setting engine with options {'Hash': '16', 'Threads': '1', 'Strength': '0', 'UCI_LimitStrength': 'true'}
2025-08-17 19:28:23.728 DEBUG engine - startup: Loaded engine [Houdini 4 Pro x64]
2025-08-17 19:28:23.731 DEBUG engine - startup: Supported options [OptionMap({'Tactical Mode': Option(name='Tactical Mode', type='check', default=False, min=None, max=None, var=[]), 'Hash': Option(name='Hash', type='spin', default=128, min=4, max=262144, var=[]), 'Clear Hash': Option(name='Clear Hash', type='button', default='', min=None, max=None, var=[]), 'Threads': Option(name='Threads', type='spin', default=4, min=1, max=32, var=[]), 'Split Depth': Option(name='Split Depth', type='spin', default=10, min=8, max=99, var=[]), 'Ponder': Option(name='Ponder', type='check', default=False, min=None, max=None, var=[]), 'Contempt': Option(name='Contempt', type='spin', default=1, min=0, max=2, var=[]), 'Analysis Contempt': Option(name='Analysis Contempt', type='check', default=False, min=None, max=None, var=[]), 'MultiPV': Option(name='MultiPV', type='spin', default=1, min=1, max=64, var=[]), 'MultiPV_cp': Option(name='MultiPV_cp', type='spin', default=0, min=0, max=999, var=[]), 'SyzygyPath': Option(name='SyzygyPath', type='string', default='<empty>', min=None, max=None, var=[]), 'EGTB Probe Depth': Option(name='EGTB Probe Depth', type='spin', default=10, min=2, max=99, var=[]), 'GaviotaTbPath': Option(name='GaviotaTbPath', type='string', default='<empty>', min=None, max=None, var=[]), 'GaviotaTbCache': Option(name='GaviotaTbCache', type='spin', default=64, min=4, max=1024, var=[]), 'NalimovPath': Option(name='NalimovPath', type='string', default='<empty>', min=None, max=None, var=[]), 'NalimovCache': Option(name='NalimovCache', type='spin', default=32, min=4, max=1024, var=[]), 'Mate Search': Option(name='Mate Search', type='spin', default=0, min=0, max=99, var=[]), 'Numa Offset': Option(name='Numa Offset', type='spin', default=0, min=0, max=63, var=[]), 'Numa': Option(name='Numa', type='check', default=True, min=None, max=None, var=[]), 'Strength': Option(name='Strength', type='spin', default=100, min=0, max=100, var=[]), 'UCI_LimitStrength': Option(name='UCI_LimitStrength', type='check', default=False, min=None, max=None, var=[]), 'UCI_Elo': Option(name='UCI_Elo', type='spin', default=3000, min=1200, max=3000, var=[]), 'UCI_Chess960': Option(name='UCI_Chess960', type='check', default=False, min=None, max=None, var=[]), 'Never Clear Hash': Option(name='Never Clear Hash', type='check', default=False, min=None, max=None, var=[]), 'Hash File': Option(name='Hash File', type='string', default='<empty>', min=None, max=None, var=[]), 'Save Hash to File': Option(name='Save Hash to File', type='button', default='', min=None, max=None, var=[]), 'Load Hash from File': Option(name='Load Hash from File', type='button', default='', min=None, max=None, var=[]), 'Learning File': Option(name='Learning File', type='string', default='<empty>', min=None, max=None, var=[]), 'Learning Threshold': Option(name='Learning Threshold', type='spin', default=10, min=-100, max=200, var=[]), 'Learning': Option(name='Learning', type='check', default=False, min=None, max=None, var=[]), 'FiftyMoveDistance': Option(name='FiftyMoveDistance', type='spin', default=50, min=5, max=50, var=[])})]
2025-08-17 19:28:27.705 DEBUG picochess - get_comment_file: molli comment file: /opt/picochess/engines/aarch64/windows64/houdini4_comments_en.txt
2025-08-17 19:28:38.664 INFO picochess - stop_search_and_clock: engine already waiting
2025-08-17 19:28:39.325 DEBUG engine - go: molli: timedict: {'wtime': '920000', 'btime': '910000', 'winc': '10000', 'binc': '10000', 'async_callback': <bound method UciEngine.callback of <uci.engine.UciEngine object at 0x7f8c123790>>}
2025-08-17 19:28:46.388 ERROR engine - callback: Engine terminated
2025-08-17 19:28:46.389 INFO engine - callback: res: None
2025-08-17 19:28:46.391 INFO engine - callback: event best_move not fired
Cheers,
Michael