MWorks crashes when initiating streaming

Hi Chris,

This week MWClient has begun crashing intermittently when I begin recording. I have not been able to find any specific pattern in when the crashes do or do not occur. If a crash does occur, it’s always immediately after clicking the ‘stream’ button. Most of the time, I simply restart MWClient and everything works okay. Occasionally, however, it will crash a couple of times in a row.

I’ve attached text files three crash reports I’ve saved. As far as I can understand them, it appears the stream is attempting to access something out of bounds.

Do you have any suggestions for how I can avoid these crashes?

Thank you,
Brittany

Attachments:

Hi Brittany,

Thanks for sending along the crash reports. There’s definitely some sort of memory access error, but nothing in the logs suggests a particular source.

Most often, “mystery” crashes like this are caused by incompatibility between different MWorks components, such as

  • using MWClient from one MWorks release with MWServer from a different release
  • using a plugin compiled against one version of MWorks with a different version

Have you changed or upgraded any MWorks components recently? Have you added any custom plugins to your MWorks installation?

Chris

Hi Chris,

Thanks for getting back to me so quickly! We haven’t changed anything in
our setup since we started recording last year. I’ve restarted the machine
again, hopefully that will fix it. As long as it’s not something serious I
won’t worry then and continue with just restarting the sessions when it
crashes.

Brittany

Hi Chris,

Restarting has not helped, I’m still getting crashes several times per day.

On the machine where MWClient is crashing, can you please open Terminal.app, run the following command, and send me the output?

ls -lt /Library/Application\ Support/MWorks/Plugins/Core /Library/Application\ Support/MWorks/Plugins/Client /Library/Frameworks

Thanks,
Chris

Hi Chris,

Here’s the output:

Library/Application Support/MWorks/Plugins/Core:
total 968
-rw-r–r-- 1 stimulus admin 244549 Mar 29 2016
WhiteNoiseStimulusPlugin_20160329.zip
drwxr-xr-x 3 stimulus admin 102 Mar 29 2016
WhiteNoiseStimulusPlugin.bundle/
drwxr-xr-x 3 stimulus admin 102 Nov 19 2015
SnakesStimulusPlugin.bundle/
-rw-r–r-- 1 stimulus admin 134862 Oct 15 2015
DriftingGratingStimulusPlugin.bundle 2.zip
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
WhiteNoiseBackground.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
ZenSchedulerPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
ZenStateSystemPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 ITC18Plugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
LowPrioritySchedulerPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 MachClockPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 MouseInput.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 MovingDots.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 NIDAQPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 PR650.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 PythonPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 ServersideConduit.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 USBHID.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
BlackrockLEDDriver.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
CircleStimulusPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
DriftingGratingStimulusPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 Eyelink.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
GammaStimulusPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 HIDPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
HighPrecisionClock.bundle/
drwxrwxrwx 3 stimulus admin 102 Sep 14 2015 SerialPort.bundle/
-rwxrwxrwx 1 stimulus vnl 114240 Jul 2 2015
DriftingGratingStimulusPlugin.bundle.zip*
drwxrwxrwx 3 stimulus admin 102 Jun 22 2015 FakeMonkeyPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Jun 22 2015 MSSWGamepadPlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Jun 22 2015 NE500Plugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Jun 22 2015
MovieStimulusPlugin.bundle/

/Library/Frameworks:
total 24
drwxr-xr-x@ 6 stimulus wheel 204 Oct 5 2015 MWorksCore.framework/
drwxrwxrwx@ 6 stimulus wheel 204 Oct 5 2015
MWorksCore.framework_.framework/
drwxr-xr-x 8 root wheel 272 Aug 20 2015 iTunesLibrary.framework/
drwxr-xr-x@ 7 root wheel 238 Jun 26 2015 EPC.framework/
drwxr-xr-x@ 7 root wheel 238 Jun 26 2015 ITC.framework/
drwxrwxr-x 5 root admin 170 Jun 19 2015 nipalu.framework/
dr-xr-xr-x 7 root admin 238 Jun 19 2015 LabVIEW 12.0
Runtime.framework/
drwxrwxr-x 5 root admin 170 Jun 19 2015 NiSpyLog.framework/
dr-xr-xr-x 5 root admin 170 Jun 19 2015 nixerces.framework/
dr-xr-xr-x 7 root admin 238 Jun 19 2015 LabVIEW 13.0
Runtime.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 NI-RPC.framework/
drwxr-xr-x 7 root admin 238 Jun 19 2015 VISA.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 lib67xx.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 libDIO96.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 libESeries.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 libMSeries.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 libSSeries.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 libUSB-92xx.framework/
drwxr-xr-x 5 root admin 170 Jun 19 2015 libmiteDma.framework/
drwxr-xr-x 6 root admin 204 Jun 19 2015 nidaqmxbase.framework/
drwxr-xr-x 6 root admin 204 Jun 19 2015 nidaqmxbaselv.framework/
drwxr-xr-x 6 root wheel 204 Jun 18 2015 SDL.framework/
drwxr-xr-x 6 root wheel 204 Jun 18 2015 SDL_gfx.framework/
drwxr-xr-x 7 root wheel 238 Jun 18 2015 SDL_image.framework/
drwxr-xr-x 7 root wheel 238 Jun 18 2015 SDL_mixer.framework/
drwxr-xr-x 7 root wheel 238 Jun 18 2015 SDL_ttf.framework/
drwxr-xr-x 6 root wheel 204 Jun 18 2015 edfapi.framework/
drwxr-xr-x 6 root wheel 204 Jun 18 2015 eyelink_core.framework/
drwxr-xr-x 6 root wheel 204 Jun 18 2015
eyelink_core_graphics.framework/
drwxr-xr-x 6 root wheel 204 Jun 18 2015 MWorksCocoa.framework/
drwxr-xr-x 6 root wheel 204 Jun 18 2015
MWorksCore.framework.20151005.framework/
drwxrwxr-x 8 root admin 272 Nov 19 2013 R.framework/
drwxr-xr-x 6 root admin 204 Nov 19 2013 OSXFUSE.framework/
drwxr-xr-x 6 root wheel 204 Nov 19 2013 NyxAudioAnalysis.framework/
drwxr-xr-x 6 root wheel 204 Nov 19 2013 PluginManager.framework/
lrwxr-xr-x 1 root wheel 71 Nov 19 2013 AEProfiling.framework@ →
…/…/Applications/Motion.app/Contents/Frameworks/AEProfiling.framework
lrwxr-xr-x 1 root wheel 74 Nov 19 2013 AERegistration.framework@

…/…/Applications/Motion.app/Contents/Frameworks/AERegistration.framework
lrwxr-xr-x 1 root wheel 74 Nov 19 2013 AudioMixEngine.framework@

…/…/Applications/Motion.app/Contents/Frameworks/AudioMixEngine.framework

/Library/Application Support/MWorks/Plugins/Client:
total 0
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 CalibratorWindow.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 MWorksEyeWindow.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 MWorksMATLABWindow.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015 MWorksRewardWindow.bundle/
drwxrwxrwx 3 stimulus admin 102 Oct 5 2015
MWorksVariablesWindow.bundle/
drwxrwxrwx 3 stimulus admin 102 Jun 22 2015 PythonBridgePlugin.bundle/
drwxrwxrwx 3 stimulus admin 102 Jun 22 2015
MWorksBehavioralWindow.bundle/

Thanks. As you noted previously, it looks like no MWorks components have been changed recently. However, something must have changed. Have you updated other software recently (macOS, MATLAB, or anything else)?

If a crash does occur, it’s always immediately after clicking the ‘stream’ button.

Not that it’s likely to be relevant, but can I ask how you name your data files (i.e. what text do you enter in the “Begin streaming data to file” dialog)? Also, on the machine where you’re running MWServer, can you run the following command in Terminal, just to see how much space is available?

df -h ~/Documents/MWorks/Data

I’m grasping at straws here, as I really have no idea why MWClient would suddenly start crashing.

Thanks,
Chris

Hi Chris,

Here’s the output from the command:

Filesystem Size Used Avail Capacity iused ifree %iused Mounted
on
/dev/disk0s2 931Gi 293Gi 638Gi 32% 76764989 167215753 31% /

An example of our naming system is:

WU_RE_Gratings_20170505

We haven’t changed anything on this computer. We’re a bit paranoid about
not changing anything on our recording rigs once they’re working,
especially when we’re recording.

Thanks for the additional info. Unfortunately, it doesn’t shed any more light on the problem.

At this point, I don’t see a way forward in this investigation. I can’t replicate your setup myself, as you’re using an old version of MWorks and custom plugins. If you or someone else in your lab can induce a crash while MWClient is running in a debugger, then that might yield some insights (or not). Apart from that, I don’t have any more suggestions.

Chris

Hi Brittany,

After investigating a very similar issue, I think I’ve found and fixed this problem. The fix will be in tonight’s nightly build.

Cheers,
Chris

That’s great! Thank you Christopher!!