Forum
Register Calendar Latest Topics
 
 
 


Reply
  Author   Comment   Page 1 of 2      1   2   Next
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #1 

Hi all,
I am using an 8/25 version of MonkeyLogic and am running it within Matlab 2014b.  I'm running it within a regular version of Matlab itself, without disabling the jvm, as I understand that that is no longer necessary. 

However, I am noting numerous crashes, and also losses of I/O configuration (primarily button box channels). Unfortunately, this makes it difficult to consistently run the program in the study for which we're using it.

Any suggestions would be helpful.
Best,

Matt

0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #2 
Can you describe the details of the crashes? Like what the error messages were and what you were trying to do, etc.
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #3 
Hi,
No, it crashes completely.  Matlab is part of the crash, so we're just left back at the desktop.
0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #4 
So when did it crash? Was it when you typed 'monkeylogic' in the command window? Is there something you clicked before the crash?
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #5 
It crashed after we hit "Run" on the MonkeyLogic console.
0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #6 
To hit the Run button. you must have loaded a conditions file. What was it? Was it your own file?
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #7 
We load one of our own files (we have 7 of them for this particular task because of repeated runs).  The pattern of crashes is unpredictable.
0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #8 
Can you show me them? If I can try what you did myself, it will make it easier to find the problem. You can post them here or send me via a private message/an email.
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #9 

Here are the ones we use.  They refer to figures, and I guess you might need them, but let me know.

The box is configured as 3 buttons (we don't use a joystick or an eyetracker).

 
Attached Files
txt afMSIT_1.txt (9.67 KB, 4 views)
txt afMSIT_2.txt (9.67 KB, 2 views)
txt afMSIT_3.txt (9.67 KB, 2 views)
txt afMSIT_4.txt (9.67 KB, 2 views)
txt afMSIT_5.txt (9.67 KB, 2 views)
txt afMSIT_prac_feedback.txt (2.55 KB, 2 views)
txt afMSIT_prac_nofeedback.txt (7.81 KB, 2 views)

0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #10 
Thanks. Can you show me the timing files as well? I guess I can use fake images for testing.
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #11 
In the files I sent, you'll need to change the TrialRecord.ANS lines (I had the penultimate version of these on my desktop, but those were the only changes I made to those files).

As for the timing files, I'm not sure what you want.  I'm sending the *.m files and a sample config files

 
Attached Files
zip MSIT.zip (9.49 KB, 2 views)

0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #12 
Those *.m files are what I wanted. Thanks. By the way, your timing files read additional information from XLS files. I guess I will need them, too, to run your task.

You said that MATLAB closed together when the crash occurred. Didn't you see any pop-up window like the one below? If you see it later, please click 'Details' and send me the crash dump message. Thanks.


[tDFIe] 
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #13 
Here are the files.  I do sometimes see the pop-up box, but not always.  I'll try to get it to "happen" and then send the log.

 
Attached Files
xls afMSIT_5.xls (39.50 KB, 2 views)
xls afMSIT_4.xls (39.50 KB, 2 views)
xlsx afMSIT_prac_nofeedback.xlsx (13.15 KB, 2 views)
xlsx afMSIT_3.xlsx (13.77 KB, 2 views)
xlsx afMSIT_2.xlsx (13.93 KB, 2 views)
xlsx afMSIT_1.xlsx (15.46 KB, 2 views)
xlsx afMSIT_prac_feedback.xlsx (11.25 KB, 2 views)

0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #14 
I tried to generate the error, but with no luck.  It worked every time, though I did lose the button configuration on my button box for one of the conditions files.  That only happens, of course, when you WANT to generate the error. [smile]
0
ryklin

Administrator
Registered:
Posts: 237
Reply with quote  #15 
Just wondering if the crash occurs when you run the sample dms task that's included with ML? That way we can isolate if the problem is in your condition files or elsewhere (perhaps a configuration or daq issue).
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #16 
Hi, the sample dms task seemed to work ok, but in fairness, our task worked this AM as well.

I should mention that occasionally, the bottom part of the experimenter console (the one with behavioral readouts) is not visible, but I assume that's a some-time  video memory problem, and it seems to resolve through the course of the task.

In the DMS sample task, I never saw Channel 1 in the list of analog I/O, and our "1" button is mapped to that.
0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #17 
Hi hoptman,

Thanks for the feedback. I didn't have time to test your tasks for long, but they worked fine on my computer. I will keep testing them further, but it would be still helpful if you can get me the crash dump.

One thing I noticed though is that you use toggleobject() and eventmarker() as two separate commands. At least it is good that you put eventmarker() after toggleobject(), but, to ensure more accurate eventmarking, you should use the eventmarker option of toggleobject() instead.

toggleobject(fix); eventmarker(52);   % not recommended
toggleobject(fix, 'eventmarker', 52); % better

As for the problem that the bottom part of the experimenter console is sometimes invisible, it is not a video memory problem. It is because MATLAB stops drawing figures if it cannot finish the job in time. So far the only way I found to prevent this problem is just to give MATLAB enough time to finish drawing. In previous ML versions, I also made the figure periodically redrawn, which was another effective way to fix the problem, but it caused a new problem with some OpenGL drivers, so I don't do that anymore. If you keep having this problem, you can try giving MATLAB more drawing time. Open run_trial.m and modify Line 651 as below. It is less likely to see this problem in a faster computer.

Line 651 of run_trial.m:
    pause(0.5); drawnow; pause(0.5);  % change both 0.5 to a larger number, like 1

The DMS sample task requires eye signal inputs for testing, so its configuration file assigns the first two channels of the first NI device to Eye X and Eye Y automatically. (The configuration files that come with the example tasks are special. They can overwrite only a particular part of your current setting.) If you clear Eye X and Eye Y, you will see Channel 1 again. Speaking of it, I don't think I understand what you mean by "losses of I/O configuration." Can you explain it more?
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #18 
Thanks.  By losing configuration, I mean that the task sometimes seems to lose the button/channel mappings so that I have to reset them (it happens unpredictably). 
0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #19 
If you remember the sequence how you created that situation, please let me know.

One thing you need to know is that ML2 keeps the configurations separately for each subject, unlike previous versions. So, if you save the configuration after you created a profile for a particular subject by typing in the subject name, the change does not propagate to other configurations already stored in the file.

For example, try the following. Each time you move to the next step, ML2 will inform you of the configuration change and ask if you want to save. Click 'Yes' to all.

1. Start ML2 and assign Button 1.
2. Type 'A' in the subject name field.
3. Type 'B' in the subject name field and assign Button 2.
4. Type 'C' in the subject name.
5. Close ML2.

You just created 3 configuration profiles for Subject A, B and C, although there is only one *_cfg2.mat file. When you start ML2 next time, ML2 will load Subject C's profile automatically, because it was the last one you saved. Then, you can switch to the other subjects' profiles by typing in 'B' or 'C' in the subject name field. However, you will see the assignment of Button 2 only in the profiles of B and C, because Button 2 was not assigned at the time when A's profile was saved.
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #20 
Hi,
So are you saying that any subjects run after the "button configuration" is created will use that button configuration? Also, I didn't "save" the settings, so do I need to do that?

Thanks,
Matt
0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #21 
Sounds a little different. A new profile is created by copying the current configuration. So it is not any subject that runs after the button configuration is created. It is any "new" subject that runs "from the configuration that has the buttons set up". For example, if you go back to Subject A's profile between Step 3 and 4 above, Subject C's profile will be a copy of Subject A's, so it won't have Button 2.

If you hit the Run button, the current configuration is saved without asking. Otherwise, a question dialog will pop up whenever there are unsaved changes and you are about to lose them.
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #22 
Thanks, I think that should be ok in our current situation.  When I run the subject, the buttons are always setup.  I do have the situation, however, where I nevertheless have to reset the button/channel mappings.
0
Jaewon

Administrator
Registered:
Posts: 423
Reply with quote  #23 
If you can replicate the problem, let me know. I am pretty sure though that the I/O mappings do not just disappear "unpredictably". In most cases, it is because the user brought up another subject's configuration that was saved before the I/O mappings changed.
0
hoptman

Junior Member
Registered:
Posts: 19
Reply with quote  #24 
Thanks. I don't have a great explanation for why the mappings disappear, and I can't reproduce it reliably (which is what I meant by "unpredictably").  I imagine the scenario you mention must account for it.  As you suggest, maybe we have an old configuration file that is mucking things up.
0
W F Asaad

Administrator
Registered:
Posts: 6
Reply with quote  #25 
It sounds a bit like the board containing the relevant I/O devices is intermittently not being recognized.  Could be a hardware issue.  That would cause the configuration assignments to get messed up, when the intended target of an I/O mapping is not found...
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.