包含Psychtoolbox函数的程序在接收到触发输入(每秒大约3个触发)后运行30分钟后崩溃,但在未连接任何触发时运行90分钟。程序中的所有数组似乎都不比分配的内存大。目前尚不清楚为什么该程序在30分钟后始终崩溃。
这是使用Psychtoolbox-3和Matlab 2018b在Lenovo Thinkpad上运行的。我们无法从matlab崩溃报告中破译来源(已经发布了类似的崩溃报告,但是所有发布都不适用于我们的错误)。 Matlab支持团队声称这不是Matlab错误,并且该错误表明使用Psychtoolbox出错。整个崩溃报告发布在下面。
---编辑-与接收触发有关的代码部分 注意-触发器将以“ =”键的形式接收,而主题在我们执行任务期间所按的按钮将以“ 1”和“ 2”的
形式接收KB_task=i(find(strcmp(j,'Keyboard'))); %selecting the keyboard named keyboard
KbQueueCreate(KB_task); %setting up queues to track keypresses
KBQueueStart(KB_task);
%check for press (we check approx. every .0167 s)
[pressed,firstpress]=KbQueueCheck(KB_task);
%saving out the time and identity of the button press
if pressed
k=find(firstpress);
for j=1:length(k)
keyval(indx)=k(j);
trtimes(indx)=firstpress(k(j));
indx=indx+1;
end
end
Assertion detected at Wed Jul 24 03:45:32 2019 -0400
--------------------------------------------------------------------------------
Configuration:
Crash Decoding : Disabled - No sandbox or build area path
Crash Mode : continue (default)
Default Encoding : windows-1252
Deployed : false
Graphics Driver : Unknown hardware
Graphics card 1 : NVIDIA ( 0x10de ) NVIDIA Quadro P3200 Version 25.21.14.1735 (2018-12-11)
JAWT Patch Status: : Patch applied
Java Version : Java 1.8.0_152-b16 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
MATLAB Architecture : win64
MATLAB Entitlement ID : 2505012
MATLAB Root : C:\Program Files\MATLAB\R2018b
MATLAB Version : 9.5.0.1067069 (R2018b) Update 4
OpenGL : hardware
Operating System : Microsoft Windows 10 Enterprise
Process ID : 1236
Processor ID : x86 Family 6 Model 158 Stepping 10, GenuineIntel
Session Key : 4747d68a-4186-4d29-9b23-2a26e32cae7c
Window System : Version 10.0 (Build 17763)
Fault Count: 1
Assertion in foundation::usm::Detail<struct foundation::usm::scope::Mvm>::find at b:\matlab\foundation\usm\management.cpp line 723
Register State (captured):
RAX = 0000000010b6dce8 RBX = 0000000010b6dce8
RCX = 000000024019e730 RDX = 0000000000000000
RSP = 000000024019e6a0 RBP = 00000000117e9eb8
RSI = 000000024019f3f8 RDI = 00000000117eafc0
R8 = 00007ff94a96e928 R9 = 00007ff94a96e930
R10 = 0000c4c293994e1f R11 = 0000000010b5dcec
R12 = 000000024019ed60 R13 = 00000000fea856e0
R14 = 00000000117e9eb8 R15 = 0000000010b5dc18
RIP = 000000001091292a EFL = 00000206
CS = 0033 FS = 0053 GS = 002b
Stack Trace (captured):
[ 0] 0x000000001090b2c3 bin\win64\libmwfl.dll+00045763 foundation::core::diag::thread_context::unspecified_bool+00000051
[ 1] 0x0000000010909288 bin\win64\libmwfl.dll+00037512 foundation::core::diag::stacktrace_base::capture+00000024
[ 2] 0x000000001090e4cf bin\win64\libmwfl.dll+00058575 foundation::core::diag::symbols::getSymbolAddress+00012015
[ 3] 0x000000001090d6d8 bin\win64\libmwfl.dll+00055000 foundation::core::diag::symbols::getSymbolAddress+00008440
[ 4] 0x000000001091220b bin\win64\libmwfl.dll+00074251 foundation::core::diag::terminate+00000059
[ 5] 0x00000000117c35fc bin\win64\libmwfoundation_usm.dll+00013820 foundation::usm::getErrorHandler+00000060
[ 6] 0x00000000117da74e bin\win64\libmwfoundation_usm.dll+00108366 foundation::usm::Detail<foundation::usm::scope::Mvm>::find+00000158
[ 7] 0x00000000fb5f6607 bin\win64\libmwbridge.dll+00026119 ioSetIoCallbacks+00007367
[ 8] 0x00000000fe9dba1a bin\win64\libut.dll+00244250 utVprintf+00000202
[ 9] 0x00000000fc611783 bin\win64\libmex.dll+00202627 mexPrintf_800+00000035
[ 10] 0x00007ff92744ca97 C:\toolbox\Psychtoolbox\PsychBasic\MatlabWindowsFilesR2007a\PsychHID.mexw64+00051863 mexFunction+00014999
[ 11] 0x00007ff927442057 C:\toolbox\Psychtoolbox\PsychBasic\MatlabWindowsFilesR2007a\PsychHID.mexw64+00008279
[ 12] 0x00007ff927442176 C:\toolbox\Psychtoolbox\PsychBasic\MatlabWindowsFilesR2007a\PsychHID.mexw64+00008566
[ 13] 0x00007ff9511e7974 C:\WINDOWS\System32\KERNEL32.DLL+00096628 BaseThreadInitThunk+00000020
[ 14] 0x00007ff953d0a271 C:\WINDOWS\SYSTEM32\ntdll.dll+00434801 RtlUserThreadStart+00000033
我们希望程序可以运行90分钟。它可以在较短的时间内平稳运行...感谢您的帮助!