Video playback broken after PTB update to 3.0.11 (SVN Revision 4085)

In a bit of a panic here after finding out that movie playback in all of my existing experiments leads to Matlab crashing. I verified this with SimpleMovieDemo.m as well. The crash seems to occur with the Screen('OpenMovie') command. Here is my computing environment: PTB version 3.0.11, Matlab R2010a, mid2012 Macbook Air (standard config with 8GB of RAM) running OS 10.8.4. Below is the crash report. I tried reverting to previous PTB version with UpdatePsychtoolbox(PsychtoolboxRoot, 'PREV') and issue persists. Any insight into this matter would be greatly appreciated!--Jin


MATLAB crash file:/Users/jin/matlab_crash_dump.1345:


------------------------------------------------------------------------
Segmentation violation detected at Sun Aug 18 12:28:03 2013
------------------------------------------------------------------------

Configuration:
MATLAB Version: 7.10.0.499 (R2010a)
MATLAB License: 161051
Operating System: Darwin 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64
Window System: The X.Org Foundation (11300000), display /tmp/launch-QVQxAG/org.macosforg
Current Visual: 0x22 (class 4, depth 24)
Processor ID: x86 Family 6 Model 10 Stepping 9, GenuineIntel
Virtual Machine: Java 1.6.0_51-b11-457-11M4509 with Apple Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
Default Encoding: ISO-8859-1

Fault Count: 1

Register State:
rax = 046fc000 rbx = 28cc50f4
rcx = 0db15dc0 rdx = 2870cc38
rsi = 00000050 rdi = 046fc000
rbp = 0db15eb0 rsp = 0db15e98
r8 = 00002060 r9 = 0db15dc0
r10 = fffffff8 r11 = 00000000
r12 = 0db16560 r13 = 2276de08
r14 = 28cdfea8 r15 = 00000002
rip = 00000000 flg = 00010202
cs = 0000002b fs = 00000000
gs = 00000000

Stack Trace:
[0] 0x0000000000000000
[1] Screen.mexmaci64:PsychGSCreateMovie~ + 503 bytes
[2] Screen.mexmaci64:SCREENOpenMovie~ + 797 bytes
[3] Screen.mexmaci64:mexFunction~ + 502 bytes
[4] libmex.dylib:mexRunMexFile + 90 bytes
[5] libmex.dylib:Mfh_mex::runMexFileWithSignalProtection(int, mxArray_tag**, int, mxArray_tag**) + 137 bytes
[6] libmex.dylib:Mfh_mex::dispatch_file(int, mxArray_tag**, int, mxArray_tag**) + 276 bytes
[7] libmwm_dispatcher.dylib:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**) + 321 bytes
[8] libmwm_interpreter.dylib:ResolverFunctionDesc::CallFunction(int, mxArray_tag**, int, mxArray_tag**) + 866 bytes
[9] libmwm_interpreter.dylib:Resolver::CallMFunction(int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*) + 1061 bytes
[10] libmwm_interpreter.dylib:inResolveMFunctionCall(_m_function_desc*, int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*, inMarshalType*, int, mpsTypeSequenceNlhs const*, mxArray_tag* (*)(int)) + 490 bytes
[11] libmwm_interpreter.dylib:accelImpl::MFunctionCall(_accelOp**) + 239 bytes
[12] libmwm_interpreter.dylib:accelImpl::Exec() + 238 bytes
[13] libmwm_interpreter.dylib:accelCode::Call(inMarshalType*, int*) const + 91 bytes
[14] libmwm_interpreter.dylib:inJit::ExecuteHotSegment(_inJitAccelInfo*, opcodes*, int*, long*) + 1246 bytes
[15] libmwm_interpreter.dylib:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*) + 7466 bytes
[16] libmwm_interpreter.dylib:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 140 bytes
[17] libmwm_interpreter.dylib:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 265 bytes
[18] libmwm_interpreter.dylib:inExecuteMFunctionOrScript(Mfh_mp*, bool) + 916 bytes
[19] libmwm_interpreter.dylib:inRunMfile(int, mxArray_tag**, int, mxArray_tag**, Mfh_mp*, inWorkSpace_tag*) + 666 bytes
[20] libmwm_dispatcher.dylib:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**) + 321 bytes
[21] libmwm_interpreter.dylib:inDispatchFromStack(int, char const*, int, int) + 1030 bytes
[22] libmwm_interpreter.dylib:inCallFcnFromReference + 192 bytes
[23] libmwm_interpreter.dylib:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*) + 2407 bytes
[24] libmwm_interpreter.dylib:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 140 bytes
[25] libmwm_interpreter.dylib:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 265 bytes
[26] libmwm_interpreter.dylib:inExecuteMFunctionOrScript(Mfh_mp*, bool) + 916 bytes
[27] libmwm_interpreter.dylib:inRunMfile(int, mxArray_tag**, int, mxArray_tag**, Mfh_mp*, inWorkSpace_tag*) + 666 bytes
[28] libmwm_dispatcher.dylib:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**) + 321 bytes
[29] libmwm_interpreter.dylib:inEvalPcodeHeaderToWord(_memory_context*, int, mxArray_tag**, _pcodeheader*, Mfh_mp*, unsigned int) + 244 bytes
[30] libmwm_interpreter.dylib:inEvalStringWithIsVarFcn(_memory_context*, char const*, EvalType, int, mxArray_tag**, inDebugCheck, _pcodeheader*, int*, bool (*)(void*, char const*), void*, bool, bool) + 1714 bytes
[31] libmwm_interpreter.dylib:inEvalCmdWithLocalReturn(char const*, int*, bool, bool, bool (*)(void*, char const*)) + 145 bytes
[32] libmwbridge.dylib:evalCommandWithLongjmpSafety(char const*) + 94 bytes
[33] libmwbridge.dylib:mnParser + 740 bytes
[34] libmwmcr.dylib:mcrInstance::mnParser_on_interpreter_thread() + 41 bytes
[35] libmwmcr.dylib:boost::function0<void>::operator()() const + 38 bytes
[36] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::NoResultInvocationRequest::run() + 21 bytes
[37] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::invocation_request_handler(long) + 41 bytes
[38] libmwuix.dylib:uix_DispatchOrProcess(_XEvent*, _XtAppStruct*, int, bool) + 473 bytes
[39] libmwuix.dylib:uix_ppeHook::pollingDuringFcn(bool) + 40 bytes
[40] libuij.dylib:sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> std::for_each<__gnu_cxx::__normal_iterator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>**, std::vector<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*, std::allocator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> > >, sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> >(__gnu_cxx::__normal_iterator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>**, std::vector<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*, std::allocator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> > >, __gnu_cxx::__normal_iterator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>**, std::vector<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*, std::allocator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> > >, sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*>) + 61 bytes
[41] libuij.dylib:sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> sysq::ppe_for_each<sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> >(sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*>) + 160 bytes
[42] libuij.dylib:svWS_ProcessPendingEvents(int, int, bool) + 379 bytes
[43] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::process_events(boost::shared_ptr<mcr::runtime::InterpreterThread::Impl> const&) + 465 bytes
[44] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::run(boost::shared_ptr<mcr::runtime::InterpreterThread::Impl> const&, mcr::runtime::InterpreterThread::Impl::init_context*) + 386 bytes
[45] libmwmcr.dylib:run_init_and_handle_events(void*) + 60 bytes
[46] libsystem_c.dylib:_pthread_start~ + 327 bytes
[47] libsystem_c.dylib:thread_start~ + 13 bytes

This error was detected while a MEX-file was running. If the MEX-file
is not an official MathWorks function, please examine its source code
for errors. Please consult the External Interfaces Guide for information
on debugging MEX-files.

If this problem is reproducible, please submit a Service Request via:
http://www.mathworks.com/support/contact_us/ts/help_request_1.html

A technical support engineer might contact you with further information.

Thank you for your help. MATLAB may attempt to recover, but even if recovery appears successful,
we recommend that you save your workspace and restart MATLAB as soon as possible.
--- In psychtoolbox@yahoogroups.com, "jhstx5" <jhstx5@...> wrote:
>
> In a bit of a panic here after finding out that movie playback in all of my existing experiments leads to Matlab crashing. I verified this with SimpleMovieDemo.m as well. The crash seems to occur with the Screen('OpenMovie') command. Here is my computing environment: PTB version 3.0.11, Matlab R2010a, mid2012 Macbook Air (standard config with 8GB of RAM) running OS 10.8.4. Below is the crash report. I tried reverting to previous PTB version with UpdatePsychtoolbox(PsychtoolboxRoot, 'PREV') and issue persists. Any insight into this matter would be greatly appreciated!--Jin
>

The 'PREV' goes back one beta release. If you skipped multiple of them, you'd need to call UpdatePsychtoolbox(PsychtoolboxRoot, 'PREV') the corresponding number of times. Or if you noted down the revision number of your previous installation, you could enter that number instead of PREV, to go there directly.

The crash looks as if GStreamer isn't installed, although i don't know how it managed to get past the check for installation without detecting and reporting the problem properly.

Make sure you have GStreamer properly installed, by following the instructions in "help GStreamer" carefully and completely.

-mario

>
> MATLAB crash file:/Users/jin/matlab_crash_dump.1345:
>
>
> ------------------------------------------------------------------------
> Segmentation violation detected at Sun Aug 18 12:28:03 2013
> ------------------------------------------------------------------------
>
> Configuration:
> MATLAB Version: 7.10.0.499 (R2010a)
> MATLAB License: 161051
> Operating System: Darwin 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64
> Window System: The X.Org Foundation (11300000), display /tmp/launch-QVQxAG/org.macosforg
> Current Visual: 0x22 (class 4, depth 24)
> Processor ID: x86 Family 6 Model 10 Stepping 9, GenuineIntel
> Virtual Machine: Java 1.6.0_51-b11-457-11M4509 with Apple Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
> Default Encoding: ISO-8859-1
>
> Fault Count: 1
>
> Register State:
> rax = 046fc000 rbx = 28cc50f4
> rcx = 0db15dc0 rdx = 2870cc38
> rsi = 00000050 rdi = 046fc000
> rbp = 0db15eb0 rsp = 0db15e98
> r8 = 00002060 r9 = 0db15dc0
> r10 = fffffff8 r11 = 00000000
> r12 = 0db16560 r13 = 2276de08
> r14 = 28cdfea8 r15 = 00000002
> rip = 00000000 flg = 00010202
> cs = 0000002b fs = 00000000
> gs = 00000000
>
> Stack Trace:
> [0] 0x0000000000000000
> [1] Screen.mexmaci64:PsychGSCreateMovie~ + 503 bytes
> [2] Screen.mexmaci64:SCREENOpenMovie~ + 797 bytes
> [3] Screen.mexmaci64:mexFunction~ + 502 bytes
> [4] libmex.dylib:mexRunMexFile + 90 bytes
> [5] libmex.dylib:Mfh_mex::runMexFileWithSignalProtection(int, mxArray_tag**, int, mxArray_tag**) + 137 bytes
> [6] libmex.dylib:Mfh_mex::dispatch_file(int, mxArray_tag**, int, mxArray_tag**) + 276 bytes
> [7] libmwm_dispatcher.dylib:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**) + 321 bytes
> [8] libmwm_interpreter.dylib:ResolverFunctionDesc::CallFunction(int, mxArray_tag**, int, mxArray_tag**) + 866 bytes
> [9] libmwm_interpreter.dylib:Resolver::CallMFunction(int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*) + 1061 bytes
> [10] libmwm_interpreter.dylib:inResolveMFunctionCall(_m_function_desc*, int, int, _m_operand*, m_operand_storage*, int, _m_operand*, m_operand_storage*, int*, inMarshalType*, int, mpsTypeSequenceNlhs const*, mxArray_tag* (*)(int)) + 490 bytes
> [11] libmwm_interpreter.dylib:accelImpl::MFunctionCall(_accelOp**) + 239 bytes
> [12] libmwm_interpreter.dylib:accelImpl::Exec() + 238 bytes
> [13] libmwm_interpreter.dylib:accelCode::Call(inMarshalType*, int*) const + 91 bytes
> [14] libmwm_interpreter.dylib:inJit::ExecuteHotSegment(_inJitAccelInfo*, opcodes*, int*, long*) + 1246 bytes
> [15] libmwm_interpreter.dylib:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*) + 7466 bytes
> [16] libmwm_interpreter.dylib:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 140 bytes
> [17] libmwm_interpreter.dylib:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 265 bytes
> [18] libmwm_interpreter.dylib:inExecuteMFunctionOrScript(Mfh_mp*, bool) + 916 bytes
> [19] libmwm_interpreter.dylib:inRunMfile(int, mxArray_tag**, int, mxArray_tag**, Mfh_mp*, inWorkSpace_tag*) + 666 bytes
> [20] libmwm_dispatcher.dylib:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**) + 321 bytes
> [21] libmwm_interpreter.dylib:inDispatchFromStack(int, char const*, int, int) + 1030 bytes
> [22] libmwm_interpreter.dylib:inCallFcnFromReference + 192 bytes
> [23] libmwm_interpreter.dylib:inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag volatile*, long*) + 2407 bytes
> [24] libmwm_interpreter.dylib:protected_inInterp(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 140 bytes
> [25] libmwm_interpreter.dylib:inInterPcodeSJ(inDebugCheck, int, int, opcodes, inPcodeNest_tag*, long*) + 265 bytes
> [26] libmwm_interpreter.dylib:inExecuteMFunctionOrScript(Mfh_mp*, bool) + 916 bytes
> [27] libmwm_interpreter.dylib:inRunMfile(int, mxArray_tag**, int, mxArray_tag**, Mfh_mp*, inWorkSpace_tag*) + 666 bytes
> [28] libmwm_dispatcher.dylib:Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**) + 321 bytes
> [29] libmwm_interpreter.dylib:inEvalPcodeHeaderToWord(_memory_context*, int, mxArray_tag**, _pcodeheader*, Mfh_mp*, unsigned int) + 244 bytes
> [30] libmwm_interpreter.dylib:inEvalStringWithIsVarFcn(_memory_context*, char const*, EvalType, int, mxArray_tag**, inDebugCheck, _pcodeheader*, int*, bool (*)(void*, char const*), void*, bool, bool) + 1714 bytes
> [31] libmwm_interpreter.dylib:inEvalCmdWithLocalReturn(char const*, int*, bool, bool, bool (*)(void*, char const*)) + 145 bytes
> [32] libmwbridge.dylib:evalCommandWithLongjmpSafety(char const*) + 94 bytes
> [33] libmwbridge.dylib:mnParser + 740 bytes
> [34] libmwmcr.dylib:mcrInstance::mnParser_on_interpreter_thread() + 41 bytes
> [35] libmwmcr.dylib:boost::function0<void>::operator()() const + 38 bytes
> [36] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::NoResultInvocationRequest::run() + 21 bytes
> [37] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::invocation_request_handler(long) + 41 bytes
> [38] libmwuix.dylib:uix_DispatchOrProcess(_XEvent*, _XtAppStruct*, int, bool) + 473 bytes
> [39] libmwuix.dylib:uix_ppeHook::pollingDuringFcn(bool) + 40 bytes
> [40] libuij.dylib:sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> std::for_each<__gnu_cxx::__normal_iterator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>**, std::vector<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*, std::allocator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> > >, sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> >(__gnu_cxx::__normal_iterator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>**, std::vector<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*, std::allocator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> > >, __gnu_cxx::__normal_iterator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>**, std::vector<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*, std::allocator<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> > >, sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*>) + 61 bytes
> [41] libuij.dylib:sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> sysq::ppe_for_each<sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*> >(sysq::during_F<sysq::wsfcn_proxy<sysq::ws_ppeHook*>*>) + 160 bytes
> [42] libuij.dylib:svWS_ProcessPendingEvents(int, int, bool) + 379 bytes
> [43] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::process_events(boost::shared_ptr<mcr::runtime::InterpreterThread::Impl> const&) + 465 bytes
> [44] libmwmcr.dylib:mcr::runtime::InterpreterThread::Impl::run(boost::shared_ptr<mcr::runtime::InterpreterThread::Impl> const&, mcr::runtime::InterpreterThread::Impl::init_context*) + 386 bytes
> [45] libmwmcr.dylib:run_init_and_handle_events(void*) + 60 bytes
> [46] libsystem_c.dylib:_pthread_start~ + 327 bytes
> [47] libsystem_c.dylib:thread_start~ + 13 bytes
>
> This error was detected while a MEX-file was running. If the MEX-file
> is not an official MathWorks function, please examine its source code
> for errors. Please consult the External Interfaces Guide for information
> on debugging MEX-files.
>
> If this problem is reproducible, please submit a Service Request via:
> http://www.mathworks.com/support/contact_us/ts/help_request_1.html
>
> A technical support engineer might contact you with further information.
>
> Thank you for your help. MATLAB may attempt to recover, but even if recovery appears successful,
> we recommend that you save your workspace and restart MATLAB as soon as possible.
>
--- In psychtoolbox@yahoogroups.com, "Mario" <mario.kleiner@...>
> The 'PREV' goes back one beta release. If you skipped multiple of them, you'd need to call UpdatePsychtoolbox(PsychtoolboxRoot, 'PREV') the corresponding number of times. Or if you noted down the revision number of your previous installation, you could enter that number instead of PREV, to go there directly.


Something like '{2013-01-01}' normally works too (i.e., as
svn update -r {2013-01-01}). But somehow GitHub's SVN doesn't support that.

Otherwise peruse the log with «svn log | less» and pick a revision.