PsychoPy 1.85.3b doesn't work on multi users macOS 10.11.6 configuration

With an iMac, macOS 10.11.6 configured for multi users.

I install PsychoPy standalone mac 1.85.3b with an administrator user. I then launch PsychoPy and it start fine.

If I quit the admin session and then open a session for another user (admin or not), when I try to launch PsychoPy, I get an error dialog with the message “PsychoPy2 Error”.

The console log contains the following lines.

19/09/2017 09:22:23,772 PsychoPy2[890]: ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/8c/2nyb7npj3tj6_gx2xgbf59jc0000gr/T/org.psychopy.PsychoPy2.savedState
19/09/2017 09:22:23,772 PsychoPy2[890]: 2017-09-19 09:22:23.772 PsychoPy2[890:13380] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/8c/2nyb7npj3tj6_gx2xgbf59jc0000gr/T/org.psychopy.PsychoPy2.savedState
19/09/2017 09:22:24,778 storeassetd[873]: multibyte ASN1 identifiers are  not supported.
19/09/2017 09:22:24,994 storeassetd[873]: multibyte ASN1 identifiers are  not supported.
19/09/2017 09:22:25,651 storeassetd[873]: multibyte ASN1 identifiers are  not supported.
19/09/2017 09:22:25,707 storeassetd[873]: multibyte ASN1 identifiers are  not supported.
19/09/2017 09:22:36,887 PsychoPy2[890]: Traceback (most recent call last):
19/09/2017 09:22:36,887 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/__boot__.py", line 381, in <module>
19/09/2017 09:22:36,887 PsychoPy2[890]:     _run()
19/09/2017 09:22:36,887 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/__boot__.py", line 362, in _run
19/09/2017 09:22:36,887 PsychoPy2[890]:     exec(compile(source, path, 'exec'), globals(), globals())
19/09/2017 09:22:36,887 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/psychopyApp.py", line 62, in <module>
19/09/2017 09:22:36,887 PsychoPy2[890]:     app = PsychoPyApp(0, showSplash=showSplash)
19/09/2017 09:22:36,888 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/app/_psychopyApp.py", line 124, in __init__
19/09/2017 09:22:36,888 PsychoPy2[890]:     self.onInit(**kwargs)
19/09/2017 09:22:36,888 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/app/_psychopyApp.py", line 270, in onInit
19/09/2017 09:22:36,888 PsychoPy2[890]:     self.showCoder(fileList=scripts)
19/09/2017 09:22:36,888 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/app/_psychopyApp.py", line 432, in showCoder
19/09/2017 09:22:36,888 PsychoPy2[890]:     files=fileList, app=self)
19/09/2017 09:22:36,888 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/app/coder/coder.py", line 1432, in __init__
19/09/2017 09:22:36,888 PsychoPy2[890]:     self.outputWindow.write(_translate('Welcome to PsychoPy2!') + '\n')
19/09/2017 09:22:36,888 PsychoPy2[890]:   File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/app/stdOutRich.py", line 43, in write
19/09/2017 09:22:36,888 PsychoPy2[890]:     inStr = inStr.decode()
19/09/2017 09:22:36,888 PsychoPy2[890]: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 10: ordinal not in range(128)
19/09/2017 09:22:36,912 PsychoPy2[890]: PsychoPy2 Error
19/09/2017 09:22:36,912 PsychoPy2[890]: 2017-09-19 09:22:36.912 PsychoPy2[890:13380] PsychoPy2 Error
19/09/2017 09:22:38,837 PsychoPy2[890]: Error in atexit._run_exitfuncs:
19/09/2017 09:22:38,837 PsychoPy2[890]: Traceback (most recent call last):
19/09/2017 09:22:38,837 PsychoPy2[890]:   File "atexit.pyc", line 24, in _run_exitfuncs
19/09/2017 09:22:38,837 PsychoPy2[890]: PyAssertionError: C++ assertion "GetEventHandler() == this" failed at /BUILD/wxPython-src-3.0.1.1/src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed
19/09/2017 09:22:38,853 PsychoPy2[890]: Error in sys.exitfunc:
19/09/2017 09:22:38,853 PsychoPy2[890]: Traceback (most recent call last):
19/09/2017 09:22:38,853 PsychoPy2[890]:   File "atexit.pyc", line 24, in _run_exitfuncs
19/09/2017 09:22:38,853 PsychoPy2[890]: wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at /BUILD/wxPython-src-3.0.1.1/src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed
19/09/2017 09:22:38,950 Console[938]: Failed to connect (_consoleX) outlet from (NSApplication) to (ConsoleX): missing setter or instance variable

When I come back to the account that was used for the installation, when I launch PsychoPy, the system log has the following when PsychoPy is launched.

19/09/2017 09:34:33,164 PsychoPy2[1190]: WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.6 instead of 10.11.6. This is not a bug in Gestalt -- it is a documented limitation. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.
Call location:
19/09/2017 09:34:33,164 PsychoPy2[1190]: 0   CarbonCore                          0x00007fff88d8c6df ___Gestalt_SystemVersion_block_invoke + 113
19/09/2017 09:34:33,164 PsychoPy2[1190]: 1   libdispatch.dylib                   0x00007fff8a63940b _dispatch_client_callout + 8
19/09/2017 09:34:33,164 PsychoPy2[1190]: 2   libdispatch.dylib                   0x00007fff8a639303 dispatch_once_f + 67
19/09/2017 09:34:33,164 PsychoPy2[1190]: 3   CarbonCore                          0x00007fff88d18fbc _Gestalt_SystemVersion + 987
19/09/2017 09:34:33,164 PsychoPy2[1190]: 4   CarbonCore                          0x00007fff88d187d0 Gestalt + 139
19/09/2017 09:34:33,164 PsychoPy2[1190]: 5   libwx_osx_cocoau-3.0.0.1.0.dylib    0x0000000107f8de9f _Z19UMAGetSystemVersionv + 31
19/09/2017 09:34:33,164 PsychoPy2[1190]: 6   libwx_osx_cocoau-3.0.0.1.0.dylib    0x00000001080053de _ZNK8wxWindow21MacHasScrollBarCornerEv + 350
19/09/2017 09:34:35,598 launchservicesd[80]: SecTaskLoadEntitlements failed error=22
19/09/2017 09:34:35,608 launchservicesd[80]: SecTaskLoadEntitlements failed error=22
19/09/2017 09:34:35,618 launchservicesd[80]: SecTaskLoadEntitlements failed error=22
19/09/2017 09:34:36,153 python[1229]: WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.6 instead of 10.11.6. This is not a bug in Gestalt -- it is a documented limitation. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.
Call location:
19/09/2017 09:34:36,187 python[1229]: 0   CarbonCore                          0x00007fff88d8c6df ___Gestalt_SystemVersion_block_invoke + 113
19/09/2017 09:34:36,188 python[1229]: 1   libdispatch.dylib                   0x00007fff8a63940b _dispatch_client_callout + 8
19/09/2017 09:34:36,188 python[1229]: 2   libdispatch.dylib                   0x00007fff8a639303 dispatch_once_f + 67
19/09/2017 09:34:36,188 python[1229]: 3   CarbonCore                          0x00007fff88d18fbc _Gestalt_SystemVersion + 987
19/09/2017 09:34:36,188 python[1229]: 4   CarbonCore                          0x00007fff88d187d0 Gestalt + 139
19/09/2017 09:34:36,188 python[1229]: 5   QtCore                              0x000000010760e1ce _ZN19QProcessEnvironment17systemEnvironmentEv + 31744
19/09/2017 09:34:36,188 python[1229]: 6   QtCore                              0x00000001075f3c64 _ZN9QSettingsC1ERK7QStringS2_P7QObject + 34
19/09/2017 09:34:38,000 kernel[0]: ignored is_io_service_close(0x1000003e6,IOHIDParamUserClient)
19/09/2017 09:34:38,000 kernel[0]: ignored is_io_service_close(0x1000003e6,IOHIDParamUserClient)
19/09/2017 09:34:38,000 kernel[0]: ignored is_io_service_close(0x1000003e6,IOHIDParamUserClient)
19/09/2017 09:34:48,672 launchservicesd[80]: SecTaskLoadEntitlements failed error=22
19/09/2017 09:34:48,681 launchservicesd[80]: SecTaskLoadEntitlements failed error=22

I have no such problème with the previous 1.85.2 version.

What can prevent the operation of PsychoPy in multiuser mode?

I don’t think this has anything to do with “multi-user mode”. I think it’s just a problem with printing unicode characters (that possibly only shows up if your locale is set to something non-english?).

It looks like we’ve accidentally released files from version 1.86 (which still has some bugs) as a part of 1.85.3. I’ll build a new release tomorrow with this issue fixed!

You could try 1.85.4 and see if this fixes your issue.

Getting the following crash with 1.85.4:

default	12:17:00.614159 -0400	kernel	[PsychoPy2 pid:4527 mux-aware] starting, non-mux-aware app count 0, switch-state 0 IG FBs 1 EG FBs 0:0 power-state 6 3D idle HDA idle
default	12:17:00.778996 -0400	PsychoPy2	Traceback (most recent call last):
default	12:17:00.779039 -0400	PsychoPy2	  File "/Applications/PsychoPy2.app/Contents/Resources/__boot__.py", line 381, in <module>
default	12:17:00.779071 -0400	PsychoPy2	    _run()
default	12:17:00.779126 -0400	PsychoPy2	  File "/Applications/PsychoPy2.app/Contents/Resources/__boot__.py", line 362, in _run
default	12:17:00.779164 -0400	PsychoPy2	    exec(compile(source, path, 'exec'), globals(), globals())
default	12:17:00.779194 -0400	PsychoPy2	  File "/Applications/PsychoPy2.app/Contents/Resources/psychopyApp.py", line 62, in <module>
default	12:17:00.779221 -0400	PsychoPy2	    app = PsychoPyApp(0, showSplash=showSplash)
default	12:17:00.779253 -0400	PsychoPy2	  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/app/_psychopyApp.py", line 118, in __init__
default	12:17:00.779280 -0400	PsychoPy2	    self.onInit(**kwargs)
default	12:17:00.779309 -0400	PsychoPy2	  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/app/_psychopyApp.py", line 163, in onInit
default	12:17:00.779337 -0400	PsychoPy2	    from psychopy.compatibility import checkCompatibility
default	12:17:00.779372 -0400	PsychoPy2	  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/compatibility.py", line 4, in <module>
default	12:17:00.779402 -0400	PsychoPy2	    import psychopy.data
default	12:17:00.779433 -0400	PsychoPy2	  File "/Users/lpzjwp/code/psychopy/git/psychopy/data/__init__.py", line 6, in <module>
default	12:17:00.779463 -0400	PsychoPy2	  File "/Users/lpzjwp/code/psychopy/git/psychopy/data/base.py", line 9, in <module>
default	12:17:00.779496 -0400	PsychoPy2	  File "past/__init__.pyc", line 88, in <module>
default	12:17:00.779526 -0400	PsychoPy2	  File "past/translation/__init__.pyc", line 42, in <module>
default	12:17:00.779551 -0400	PsychoPy2	  File "lib2to3/refactor.pyc", line 27, in <module>
default	12:17:00.779606 -0400	PsychoPy2	  File "lib2to3/fixer_util.pyc", line 9, in <module>
default	12:17:00.779647 -0400	PsychoPy2	  File "lib2to3/pygram.pyc", line 32, in <module>
default	12:17:00.779677 -0400	PsychoPy2	  File "lib2to3/pgen2/driver.pyc", line 121, in load_grammar
default	12:17:00.779700 -0400	PsychoPy2	  File "lib2to3/pgen2/pgen.pyc", line 385, in generate_grammar
default	12:17:00.779725 -0400	PsychoPy2	  File "lib2to3/pgen2/pgen.pyc", line 15, in __init__
default	12:17:00.779749 -0400	PsychoPy2	IOError: [Errno 20] Not a directory: '/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/site-packages.zip/lib2to3/Grammar.txt'
default	12:17:00.790082 -0400	PsychoPy2	2017-09-20 12:17:00.789 PsychoPy2[4527:5977842] PsychoPy2 Error
error	12:17:00.809437 -0400	PsychoPy2	Detected missing constraints for <private>.  It cannot be placed because there are not enough constraints to fully define the size and origin. Add the missing constraints, or set translatesAutoresizingMaskIntoConstraints=YES and constraints will be generated for you. If this view is laid out manually on macOS 10.12 and later, you may choose to not call [super layout] from your override. Set a breakpoint on DETECTED_MISSING_CONSTRAINTS to debug. This error will only be logged once.

Could you add a standalone version please?

Yes, I was just having to fix the issue that @ariekahn noted (one of the libs hadn’t packaged correctly so I had to replace it).

It’s there now. Let me know if this one works! :slight_smile:

This one works as expected.

Thank you a lot.