Iohub issues in OS X 10.10.5

I am trying to use iohub to communicate with Tobii eye tracker in OS X.

Unfortunately, during trial-and-error, I found that iohub itself doesn’t work properly.
Delaytest demo also shows an error message.
( I tried to go accessibility, and allow app to control the computer, but it didn’t work at all.)

“raise RuntimeError(“Error starting ioHub server: %s”%(self.iohub_status))”

I also tested iohub selectTracker in other computer with TOBII SDK 3.1.0, and got below error. PsychoPy 1.84.1, and OSX 10.7.8.

/var/folders/y4/wxm_rz8j48q7pxf8rnwgdpzm0000gn/T/org.psychopy.PsychoPy2.savedState
WARNING: ioHub DataStore could not be loaded. DataStore functionality will be disabled. Error:
<type ‘exceptions.ImportError’>
ImportError(‘dlopen(/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/tables/utilsextension.so, 2): Symbol not found: ___exp10\n Referenced from: /Applications/PsychoPy2.app/Contents/MacOS/…/Frameworks/libhdf5.10.dylib\n Expected in: /usr/lib/libSystem.B.dylib\n in /Applications/PsychoPy2.app/Contents/MacOS/…/Frameworks/libhdf5.10.dylib’,)
[’ File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/iohub/init.py”, line 69, in \n import datastore\n’,
’ File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/iohub/datastore/init.py”, line 16, in \n import tables\n’,
’ File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/tables/init.py”, line 82, in \n from tables.utilsextension import (\n’]
2016-09-29 15:11:39.445 python[9344:507] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/y4/wxm_rz8j48q7pxf8rnwgdpzm0000gn/T/org.psychopy.PsychoPy2.savedState
WARNING: ioHub DataStore could not be loaded. DataStore functionality will be disabled. Error:
<type ‘exceptions.ImportError’>
ImportError(‘dlopen(/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/tables/utilsextension.so, 2): Symbol not found: ___exp10\n Referenced from: /Applications/PsychoPy2.app/Contents/MacOS/…/Frameworks/libhdf5.10.dylib\n Expected in: /usr/lib/libSystem.B.dylib\n in /Applications/PsychoPy2.app/Contents/MacOS/…/Frameworks/libhdf5.10.dylib’,)
[’ File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/iohub/init.py”, line 69, in \n import datastore\n’,
’ File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/iohub/datastore/init.py”, line 16, in \n import tables\n’,
’ File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/tables/init.py”, line 82, in \n from tables.utilsextension import (\n’]
Fatal Python error: Interpreter not initialized (version mismatch?)
Traceback (most recent call last):
File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/demos/coder/iohub/eyetracking/selectTracker/run.py”, line 284, in
main(configurationDirectory)
File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/demos/coder/iohub/eyetracking/selectTracker/run.py”, line 273, in main
runtime=ExperimentRuntime(configurationDirectory, “experiment_config.yaml”)
File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/iohub/client/init.py”, line 1603, in init
self.hub = self._initalizeConfiguration()
File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/iohub/client/init.py”, line 1855, in _initalizeConfiguration
self.hub = ioHubConnection(None, ioHubConfigAbsPath)
File “/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/iohub/client/init.py”, line 287, in init
raise RuntimeError(“Error starting ioHub server: %s”%(self.iohub_status))
RuntimeError: Error starting ioHub server: ioHub startup timed out. iohub Server startup Failed. startup_read:

and tested different machine with 10.9, and got same error…

Yes, I see this error too for the iohubDelayTest demo. Actually I don’t have the issue with importing tables but I get:

Welcome to PsychoPy2!
v1.84.2
e
##### Running: /Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/demos/coder/iohub/ioHubDelayTest/run.py #####
2016-09-29 15:44:29.516 Python[18977:7245340] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/xg/wxzk3dr51zd8h9npcgjlm8f00000gq/T/org.python.python.savedState
2016-09-29 15:44:33.067 Python[19017:7245475] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/xg/wxzk3dr51zd8h9npcgjlm8f00000gq/T/org.python.python.savedState
Error during device creation ....
<type 'exceptions.TypeError'>
TypeError("'NoneType' object has no attribute '__getitem__'",)
['  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/server.py", line 591, in createNewMonitoredDevice\n    device_instance_and_config=self.addDeviceToMonitor(device_class_name,deviceConfig)\n',
 '  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/server.py", line 781, in addDeviceToMonitor\n    deviceInstance=DeviceClass(dconfig=device_config)\n',
 '  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/devices/display/__init__.py", line 62, in __init__\n    self._addRuntimeInfoToDisplayConfig()\n',
 '  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/devices/display/__init__.py", line 506, in _addRuntimeInfoToDisplayConfig\n    self._createPsychopyCalibrationFile()\n',
 '  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/devices/display/__init__.py", line 660, in _createPsychopyCalibrationFile\n    psychoMonitor.setSizePix(list(self.getPixelResolution()))\n',
 '  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/devices/display/__init__.py", line 193, in getPixelResolution\n    return self.getConfiguration()[\'runtime_info\'][\'pixel_resolution\']\n']
Error during device creation ....
<class 'psychopy.iohub.util.exception_tools.ioHubError'>
ioHubError:
Args: ('Error during device creation ....',)

['  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/server.py", line 520, in __init__\n    self.createNewMonitoredDevice(device_class_name,deviceConfig)\n',
 '  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/server.py", line 603, in createNewMonitoredDevice\n    raise ioHubError("Error during device creation ....")\n']
<class 'psychopy.iohub.util.exception_tools.ioHubError'>
ioHubError:
Args: ('Error during device creation ....',)

['  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/launchHubProcess.py", line 35, in run\n    s = ioServer(rootScriptPathDir, ioHubConfig)\n',
 '  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/server.py", line 524, in __init__\n    raise ioHubError("Error during device creation ....")\n']
Closing remaining open files:/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/demos/coder/iohub/ioHubDelayTest/events.hdf5...done
Traceback (most recent call last):
  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/demos/coder/iohub/ioHubDelayTest/run.py", line 268, in <module>
    runtime=ExperimentRuntime(module_directory(ExperimentRuntime.run), "experiment_config.yaml")
  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/client/__init__.py", line 1603, in __init__
    self.hub = self._initalizeConfiguration()
  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/client/__init__.py", line 1855, in _initalizeConfiguration
    self.hub = ioHubConnection(None, ioHubConfigAbsPath)
  File "/Users/lpzjwp/code/psychopy/git/psychopy/iohub/client/__init__.py", line 287, in __init__
    raise RuntimeError("Error starting ioHub server: %s"%(self.iohub_status))
RuntimeError: Error starting ioHub server: ioHub startup timed out. iohub Server startup Failed. startup_read: 

I don’t get an error running simple.py demo for iohub.

Hopefully @sol can shed some light or it will be slower for me to dig around.

1 Like

When I install macports,python through macports, and compile psychopy and put it to site-packages directory in macports implemented python, the iohub eye tracker selecting example works properly : )

I think the problem comes from SDK dylib, since it referencing absolute path of python, and trying to execute it, in standalone version of Psychopy.

1 Like

I have been in trouble with the same problem.
I tested several standalone versions (1.83.04, 1.84.02, 1.85.1) on OS X 10.9 to 10.12, but none of the combinations worked well.
There are no problems with Windows versions.

I hope it will be resolved asap.