MWorks client error

Hi Chris,

I’ve been observing an error where MWClient crashes as soon as I open Eye Window when I’m connected to a remote MWServer. This started to happen a few days ago, before that the Eye Window would open fine.

The following is the full error message:
‘’’

Translated Report (Full Report Below)

Process: MWClient [41626]
Path: /Applications/MWClient.app/Contents/MacOS/MWClient
Identifier: org.mworks-project.MWClient
Version: 0.13 (2024.05.01)
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501

Date/Time: 2024-08-12 17:15:14.1548 -0400
OS Version: macOS 14.6.1 (23G93)
Report Version: 12
Bridge OS Version: 8.6 (21P6074)
Anonymous UUID: C49BD9B4-C7C5-7E02-55AC-0EFA23ACAEF2

Sleep/Wake UUID: C87A4F72-98A0-4D6B-9A01-DD1922FAB852

Time Awake Since Boot: 140000 seconds
Time Since Wake: 1642 seconds

System Integrity Protection: enabled

Crashed Thread: 0

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: MWClient [41626]

Application Specific Information:
abort() called

Kernel Triage:
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter

Thread 0 Crashed:
0 libsystem_kernel.dylib 0x7ff80442ddb6 __pthread_kill + 10
1 libsystem_pthread.dylib 0x7ff804466ebd pthread_kill + 262
2 libsystem_c.dylib 0x7ff80438ca79 abort + 126
3 libc++abi.dylib 0x7ff80441f922 abort_message + 241
4 libc++abi.dylib 0x7ff80441212a demangling_terminate_handler() + 266
5 libobjc.A.dylib 0x7ff8040aeb4a _objc_terminate() + 96
6 libc++abi.dylib 0x7ff80441ed7b std::__terminate(void ()()) + 6
7 libc++abi.dylib 0x7ff80441ed36 std::terminate() + 54
8 libdispatch.dylib 0x7ff8042c5dd0 _dispatch_client_callout + 28
9 libdispatch.dylib 0x7ff8042d2d3c _dispatch_lane_barrier_sync_invoke_and_complete + 60
10 MWorksEyeWindow 0x104fe15a0 -[MWTimePlotView drawRect:] + 368
11 AppKit 0x7ff807cfe19c _NSViewDrawRect + 121
12 AppKit 0x7ff8087b8f27 -[NSView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:] + 1848
13 AppKit 0x7ff807cfda5a -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 747
14 AppKit 0x7ff8082d8110 -[NSViewBackingLayer drawInContext:] + 64
15 AppKit 0x7ff807fefda1 0x7ff807b73000 + 4705697
16 AppKit 0x7ff808010600 0x7ff807b73000 + 4838912
17 AppKit 0x7ff807fc312d 0x7ff807b73000 + 4522285
18 AppKit 0x7ff80801010c 0x7ff807b73000 + 4837644
19 AppKit 0x7ff80800d816 0x7ff807b73000 + 4827158
20 AppKit 0x7ff807fef869 0x7ff807b73000 + 4704361
21 AppKit 0x7ff807fefdeb 0x7ff807b73000 + 4705771
22 AppKit 0x7ff8082d7d50 -[NSViewBackingLayer display] + 1763
23 QuartzCore 0x7ff80cb49361 CA::Layer::display_if_needed(CA::Transaction
) + 867
24 QuartzCore 0x7ff80cce1400 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 758
25 QuartzCore 0x7ff80cb2a1a9 CA::Transaction::commit() + 725
26 AppKit 0x7ff807d0ea7d __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 285
27 AppKit 0x7ff8087ff854 ___NSRunLoopObserverCreateWithHandler_block_invoke + 41
28 CoreFoundation 0x7ff804543586 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23
29 CoreFoundation 0x7ff8045434aa __CFRunLoopDoObservers + 493
30 CoreFoundation 0x7ff804542a2c __CFRunLoopRun + 850
31 CoreFoundation 0x7ff804542112 CFRunLoopRunSpecific + 557
32 HIToolbox 0x7ff80ef61a09 RunCurrentEventLoopInMode + 292
33 HIToolbox 0x7ff80ef61646 ReceiveNextEventCommon + 201
34 HIToolbox 0x7ff80ef61561 _BlockUntilNextEventMatchingListInModeWithFilter + 66
35 AppKit 0x7ff807bb2171 _DPSNextEvent + 880
36 AppKit 0x7ff8084c6af0 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1273
37 AppKit 0x7ff807ba3585 -[NSApplication run] + 603
38 AppKit 0x7ff807b774f3 NSApplicationMain + 816
39 MWClient 0x104af0fdf main + 111
40 dyld 0x7ff8040db345 start + 1909

Thread 1:
0 libsystem_kernel.dylib 0x7ff804429c3a __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x7ff8044676f3 _pthread_cond_wait + 1211
2 libc++.1.dylib 0x7ff8043a0d9b std::__1::condition_variable::__do_timed_wait(std::__1::unique_lockstd::__1::mutex&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) + 93
3 MWorksCore 0x1061bdb2d mw::Event::getNextEvent(long long) const + 125
4 MWorksCore 0x10622e44d mw::EventBufferReader::getNextEvent(long long) + 29
5 MWorksCore 0x1062888c8 mw::EventListener::service() + 88
6 MWorksCore 0x106288a02 void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, mw::EventListener::startListener()::$_0>>(void*) + 50
7 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
8 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 2:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x7ff80442708e mach_msg2_trap + 10
1 libsystem_kernel.dylib 0x7ff804435878 mach_msg2_internal + 84
2 libsystem_kernel.dylib 0x7ff80442e178 mach_msg_overwrite + 653
3 libsystem_kernel.dylib 0x7ff80442737d mach_msg + 19
4 CoreFoundation 0x7ff8045441c5 __CFRunLoopServiceMachPort + 143
5 CoreFoundation 0x7ff804542c35 __CFRunLoopRun + 1371
6 CoreFoundation 0x7ff804542112 CFRunLoopRunSpecific + 557
7 AppKit 0x7ff807d1029c _NSEventThread + 122
8 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
9 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 3:: /Reaper
0 libsystem_kernel.dylib 0x7ff80442bd6e kevent + 10
1 MWorksCore 0x1064b99d5 zmq::kqueue_t::loop() + 213 (kqueue.cpp:163)
2 MWorksCore 0x1064e9e1d thread_routine(void
) + 61 (thread.cpp:229)
3 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
4 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 4:: /0
0 libsystem_kernel.dylib 0x7ff80442bd6e kevent + 10
1 MWorksCore 0x1064b99d5 zmq::kqueue_t::loop() + 213 (kqueue.cpp:163)
2 MWorksCore 0x1064e9e1d thread_routine(void
) + 61 (thread.cpp:229)
3 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
4 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 5:
0 libsystem_kernel.dylib 0x7ff80442de5e poll + 10
1 MWorksCore 0x1064d72db zmq::signaler_t::wait(int) const + 59 (signaler.cpp:219)
2 MWorksCore 0x1064ba843 zmq::mailbox_t::recv(zmq::command_t*, int) + 67 (mailbox.cpp:54)
3 MWorksCore 0x1064d943f zmq::socket_base_t::process_commands(int, bool) + 47 (socket_base.cpp:1478)
4 MWorksCore 0x1064dc596 zmq::socket_base_t::recv(zmq::msg_t*, int) + 406 (socket_base.cpp:1363)
5 MWorksCore 0x1064f76a2 s_recvmsg(zmq::socket_base_t*, zmq_msg_t*, int) + 14 (zmq.cpp:471) [inlined]
6 MWorksCore 0x1064f76a2 zmq_msg_recv + 50 (zmq.cpp:622)
7 MWorksCore 0x10630b7dd mw::ZeroMQSocket::Message::recv(mw::ZeroMQSocket&, int) + 45
8 MWorksCore 0x10630c3d2 mw::ZeroMQSocket::recv(mworks_boost::shared_ptrmw::Event&) + 114
9 MWorksCore 0x1062f8ecf mw::ZeroMQIncomingConnectionBase::handleNextEvent() + 31
10 MWorksCore 0x1062f93c0 void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, mw::ZeroMQIncomingConnectionBase::startEventHandlerThread()::$_0>>(void*) + 64
11 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
12 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 6:
0 libsystem_kernel.dylib 0x7ff804429c3a __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x7ff8044676f3 _pthread_cond_wait + 1211
2 libc++.1.dylib 0x7ff8043a0d9b std::__1::condition_variable::__do_timed_wait(std::__1::unique_lockstd::__1::mutex&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) + 93
3 MWorksCore 0x1061bdb2d mw::Event::getNextEvent(long long) const + 125
4 MWorksCore 0x10622e44d mw::EventBufferReader::getNextEvent(long long) + 29
5 MWorksCore 0x1062f9226 mw::ZeroMQOutgoingConnectionBase::handleEvents() + 86
6 MWorksCore 0x1062f94a2 void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, mw::ZeroMQOutgoingConnectionBase::startEventHandlerThread()::$_1>>(void*) + 50
7 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
8 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 7:
0 libsystem_pthread.dylib 0x7ff804462ac0 start_wqthread + 0

Thread 8:
0 libsystem_pthread.dylib 0x7ff804462ac0 start_wqthread + 0

Thread 9:
0 libsystem_pthread.dylib 0x7ff804462ac0 start_wqthread + 0

Thread 10:
0 libsystem_pthread.dylib 0x7ff804462ac0 start_wqthread + 0

Thread 11:
0 libsystem_pthread.dylib 0x7ff804462ac0 start_wqthread + 0

Thread 12:
0 libsystem_kernel.dylib 0x7ff804429c3a __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x7ff8044676f3 _pthread_cond_wait + 1211
2 libc++.1.dylib 0x7ff8043a0d9b std::__1::condition_variable::__do_timed_wait(std::__1::unique_lockstd::__1::mutex&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) + 93
3 MWorksCore 0x1061bdb2d mw::Event::getNextEvent(long long) const + 125
4 MWorksCore 0x10622e44d mw::EventBufferReader::getNextEvent(long long) + 29
5 MWorksCore 0x1062888c8 mw::EventListener::service() + 88
6 MWorksCore 0x106288a02 void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, mw::EventListener::startListener()::$_0>>(void*) + 50
7 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
8 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 13:
0 libsystem_kernel.dylib 0x7ff80442de5e poll + 10
1 MWorksCore 0x1064d72db zmq::signaler_t::wait(int) const + 59 (signaler.cpp:219)
2 MWorksCore 0x1064ba843 zmq::mailbox_t::recv(zmq::command_t*, int) + 67 (mailbox.cpp:54)
3 MWorksCore 0x1064d948e zmq::socket_base_t::process_commands(int, bool) + 126 (socket_base.cpp:1488)
4 MWorksCore 0x1064dc596 zmq::socket_base_t::recv(zmq::msg_t*, int) + 406 (socket_base.cpp:1363)
5 MWorksCore 0x1064f76a2 s_recvmsg(zmq::socket_base_t*, zmq_msg_t*, int) + 14 (zmq.cpp:471) [inlined]
6 MWorksCore 0x1064f76a2 zmq_msg_recv + 50 (zmq.cpp:622)
7 MWorksCore 0x10630b7dd mw::ZeroMQSocket::Message::recv(mw::ZeroMQSocket&, int) + 45
8 MWorksCore 0x10630c3d2 mw::ZeroMQSocket::recv(mworks_boost::shared_ptrmw::Event&) + 114
9 MWorksCore 0x1062f8ecf mw::ZeroMQIncomingConnectionBase::handleNextEvent() + 31
10 MWorksCore 0x1062f93c0 void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, mw::ZeroMQIncomingConnectionBase::startEventHandlerThread()::$_0>>(void*) + 64
11 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
12 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 14:
0 libsystem_kernel.dylib 0x7ff804429c3a __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x7ff8044676f3 _pthread_cond_wait + 1211
2 libc++.1.dylib 0x7ff8043a0d9b std::__1::condition_variable::__do_timed_wait(std::__1::unique_lockstd::__1::mutex&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) + 93
3 MWorksCore 0x1061bdb2d mw::Event::getNextEvent(long long) const + 125
4 MWorksCore 0x10622e44d mw::EventBufferReader::getNextEvent(long long) + 29
5 MWorksCore 0x1062f9226 mw::ZeroMQOutgoingConnectionBase::handleEvents() + 86
6 MWorksCore 0x1062f94a2 void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, mw::ZeroMQOutgoingConnectionBase::startEventHandlerThread()::$_1>>(void*) + 50
7 libsystem_pthread.dylib 0x7ff80446718b _pthread_start + 99
8 libsystem_pthread.dylib 0x7ff804462ae3 thread_start + 15

Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000006 rcx: 0x00007ff7bb40b5c8 rdx: 0x0000000000000000
rdi: 0x0000000000000103 rsi: 0x0000000000000006 rbp: 0x00007ff7bb40b5f0 rsp: 0x00007ff7bb40b5c8
r8: 0x00007ff7bb40b490 r9: 0x00007ff7bb40b6f0 r10: 0x0000000000000000 r11: 0x0000000000000246
r12: 0x0000000000000103 r13: 0x0000003000000008 r14: 0x00007ff8479aadc0 r15: 0x0000000000000016
rip: 0x00007ff80442ddb6 rfl: 0x0000000000000246 cr2: 0x0000000000000000

Logical CPU: 0
Error Code: 0x02000148
Trap Number: 133

Binary Images:
0x10608e000 - 0x106095fff org.mworks-project.MWorksBehavioralWindow () <1f3d4218-58c7-3ec5-825b-51024fd5ba92> /Library/Application Support/MWorks//MWorksBehavioralWindow.bundle/Contents/MacOS/MWorksBehavioralWindow
0x1050c0000 - 0x1050ccfff Narrative (Narrative version 0.1.0) <962bb84f-ac2a-3d95-b296-d818c10aad0f> /Library/Application Support/MWorks//MWorksBehavioralWindow.bundle/Contents/Frameworks/Narrative.framework/Versions/A/Narrative
0x106075000 - 0x10607bfff org.mworks-project.ImageViewer (1.0) /Library/Application Support/MWorks/
/ImageViewer.bundle/Contents/MacOS/ImageViewer
0x106063000 - 0x106066fff org.mworks-project.MWorksRewardWindow (1.0) /Library/Application Support/MWorks//MWorksRewardWindow.bundle/Contents/MacOS/MWorksRewardWindow
0x104fd9000 - 0x104fe7fff edu.mit.dicarlolab.MWorksEyeWindow (
) <0a6db0b1-95b4-3abd-84e9-d7aad014319f> /Library/Application Support/MWorks//MWorksEyeWindow.bundle/Contents/MacOS/MWorksEyeWindow
0x104f89000 - 0x104f8ffff edu.mit.dicarlolab.CalibratorWindow (
) /Library/Application Support/MWorks//CalibratorWindow.bundle/Contents/MacOS/CalibratorWindow
0x104f6c000 - 0x104f75fff org.mworks-project.MWorksVariablesWindow (
) /Library/Application Support/MWorks//MWorksVariablesWindow.bundle/Contents/MacOS/MWorksVariablesWindow
0x104fa7000 - 0x104fadfff org.mworks-project.PythonBridgePlugin (1.0) /Library/Application Support/MWorks/
/PythonBridgePlugin.bundle/Contents/MacOS/PythonBridgePlugin
0x104db9000 - 0x104dc5fff libobjc-trampolines.dylib () /usr/lib/libobjc-trampolines.dylib
0x104bc7000 - 0x104bccfff org.mworks-project.LowPrioritySchedulerPlugin (
) /Library/Application Support/MWorks//LowPrioritySchedulerPlugin.bundle/Contents/MacOS/LowPrioritySchedulerPlugin
0x104bec000 - 0x104bfafff org.mworks-project.HighPrecisionClock (1.0) <658339dc-1322-3518-b61f-f2e78b22cc35> /Library/Application Support/MWorks/
/HighPrecisionClock.bundle/Contents/MacOS/HighPrecisionClock
0x105001000 - 0x10501afff org.mworks-project.MWorksCocoa () /Library/Application Support/MWorks//MWorksCocoa.framework/Versions/A/MWorksCocoa
0x10504e000 - 0x105077fff org.mworks-project.MWorksSwift (1.0) /Library/Application Support/MWorks//MWorksSwift.framework/Versions/A/MWorksSwift
0x106150000 - 0x1065bdfff org.mworks-project.MWorksCore (0.13) <2971b697-7a76-3ef7-b524-bc4c6212627e> /Library/Application Support/MWorks/
/MWorksCore.framework/Versions/A/MWorksCore
0x104af0000 - 0x104afdfff org.mworks-project.MWClient (0.13) /Applications/MWClient.app/Contents/MacOS/MWClient
0x7ff804426000 - 0x7ff804460ff7 libsystem_kernel.dylib () <54b50613-cc4b-3ace-a9ec-919ea83d5e5f> /usr/lib/system/libsystem_kernel.dylib
0x7ff804461000 - 0x7ff80446cff7 libsystem_pthread.dylib (
) /usr/lib/system/libsystem_pthread.dylib
0x7ff80430d000 - 0x7ff804394ff7 libsystem_c.dylib () /usr/lib/system/libsystem_c.dylib
0x7ff804410000 - 0x7ff804425fff libc++abi.dylib (
) /usr/lib/libc++abi.dylib
0x7ff804093000 - 0x7ff8040d4fc3 libobjc.A.dylib () /usr/lib/libobjc.A.dylib
0x7ff8042c3000 - 0x7ff804309ff1 libdispatch.dylib (
) /usr/lib/system/libdispatch.dylib
0x7ff807b73000 - 0x7ff808fa3ff7 com.apple.AppKit (6.9) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x7ff80cb28000 - 0x7ff80ceb2ffd com.apple.QuartzCore (1.11) /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x7ff8044c8000 - 0x7ff804962ffc com.apple.CoreFoundation (6.9) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7ff80ef33000 - 0x7ff80f1cdff3 com.apple.HIToolbox (2.1.1) <2aa738bf-9f72-3227-8bba-7eae7b9f080b> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x7ff8040d5000 - 0x7ff80416581f dyld () <18f658dd-20f3-324d-b7ac-8a9c60b574b3> /usr/lib/dyld
0x0 - 0xffffffffffffffff ??? (
) <00000000-0000-0000-0000-000000000000> ???
0x7ff804395000 - 0x7ff80440fff3 libc++.1.dylib (*) <69eca28c-bfb7-35bf-ad4f-1bece712d239> /usr/lib/libc++.1.dylib

External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 0
thread_create: 0
thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=563.1M resident=0K(0%) swapped_out_or_unallocated=563.1M(100%)
Writable regions: Total=660.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=660.1M(100%)


Model: MacBookPro15,2, BootROM 2022.140.5.0.0 (iBridge: 21.16.6074.0.0,0), 4 processors, Quad-Core Intel Core i5, 2.3 GHz, 8 GB, SMC
Graphics: Intel Iris Plus Graphics 655, Intel Iris Plus Graphics 655, Built-In
Display: Color LCD, 2560 x 1600 Retina, Main, MirrorOff, Online
Memory Module: BANK 0/ChannelA-DIMM0, 4 GB, LPDDR3, 2133 MHz, Samsung, K4E6E304EC-EGCG
Memory Module: BANK 2/ChannelB-DIMM0, 4 GB, LPDDR3, 2133 MHz, Samsung, K4E6E304EC-EGCG
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x7BF), wl0: Jul 10 2023 12:30:19 version 9.30.503.0.32.5.92 FWID 01-88a8883
AirPort:
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: T2Bus
USB Device: Touch Bar Backlight
USB Device: Touch Bar Display
USB Device: Apple Internal Keyboard / Trackpad
USB Device: Headset
USB Device: Ambient Light Sensor
USB Device: FaceTime HD Camera (Built-in)
USB Device: Apple T2 Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 47.5
Thunderbolt Bus: MacBook Pro, Apple Inc., 47.5

‘’’

Any tips to fix this would be appreciated. Thank you!

Hi Hokyung,

I’m currently away on vacation, but I can help you with this when I return (the week of August 19).

One quick thought: Are you running the same MWorks version on both the client and server machine? If not, that could be the cause of this problem. Mixing MWorks versions is not supported.

Cheers,
Chris

I see, yes I’ve been running different versions in the rig and on my laptop. I’ll see if updating the rig one is a possibility.

Hi Hokyung,

I’m seeing this crash, too, although not consistently. Let me investigate further and get back to you.

Cheers,
Chris

Hi Hokyung,

I’ve tracked the crashes I was seeing down to an issue in the fake monkey plugin. The bug has actually been present for longer than I’ve been working on MWorks, but, for whatever reason, it hasn’t caused problems until now. Luckily, the fix is very simple.

When MWClient crashed for you, were you also using a fake monkey? If so, I assume the issue I found was at fault. If not, then there must be some other issue that is producing the same (bad) result. Please let me know!

Thanks,
Chris

Hi Chris,

Thanks for looking into this.
I am not using the fake monkey plugin.
I will retry the experiment on Monday and let you know if I still see the same crash.

Best,
Hokyung Sung

Hi Hokyung,

OK, thanks for letting me know.

The problem in the fake monkey is that it sometimes produces NaN values for the eye positions, which leads to a crash in the eye window. Since you’re not using the fake monkey, some other component must be generating NaN’s, too.

Are you getting your eye position data from an EyeLink? Also, are you plotting only the eye signal, or are you plotting an auxiliary analog signal, too?

Thanks,
Chris

Yes, I’m using an EyeLink device for eye tracking. I’m only plotting an eye signal and two digital signals, both of which only take values of either 0 or 1.

Best,
Hokyung

Hi Hokyung,

Another question: From what parameters on the EyeLink device are you getting the eye positions? For example, are you using eye_rx and eye_ry?

Thanks,
Chris

eyelink eye_tracker (

pupil_rx = pupil_rx
pupil_ry = pupil_ry

)

linear_eye_calibrator eye_calibrator (
// standard_eye_calibrator eye_calibrator ( // use quadratic (9 parameters)
eyeh_raw = pupil_rx
eyev_raw = pupil_ry
eyeh_calibrated = eye_x_calibrated
eyev_calibrated = eye_y_calibrated
)

boxcar_filter_1d (
in1 = eye_x_calibrated
out1 = eye_x
width_samples = 5
)

boxcar_filter_1d (
in1 = eye_y_calibrated
out1 = eye_y
width_samples = 5
)

This is my setup that leads to eye_x and eye_y being monitored in the Eye Window.

Hi,

I just tried connecting again and the error seems to appear again. I also tried with mouse input, and the error persists so it does not seem to be only an Eyelink problem.

One thing – I noticed that when I first connect, I see many many warning messages for many (but not all) variables in the form of: “Invalid persistent value for variable “x””. I don’t recall this happening before I began to see the crash, though I might have just missed it then. I wonder if this is related at all.

Thanks,
Hokyung

Hi Hokyung,

I also tried with mouse input, and the error persists so it does not seem to be only an Eyelink problem.

I guess that’s good, because I have not been able to find any issues in the EyeLink plugin code that would cause it to output NaN or other non-finite eye position values.

I see many many warning messages for many (but not all) variables in the form of: “Invalid persistent value for variable “x””. I don’t recall this happening before I began to see the crash, though I might have just missed it then. I wonder if this is related at all.

This indicates that the versions of MWClient and MWServer that you’re using are mismatched. Specifically, MWServer must be version 0.11 or earlier, and MWClient must be 0.12 or later.

As I tried to say previously, mixing versions this way is never OK. You must use the same version for both MWServer and MWClient, even when they’re running on separate machines.

Chris