Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000198openvibe-designerbug reportpublic2018-11-15 19:452018-12-06 15:43
Reportermbamonte 
Assigned Tojtlindgr 
PriorityhighSeveritycrashReproducibilityalways
StatusassignedResolutionopen 
PlatformWindowsOSWindows 10 HomeOS Version1803
Summary0000198: OpenVibe designer crashes when testing p300-speller train scenario with user data, previously recorded in the adquisition scenar
DescriptionOpenVibe designer crashes when testing "p300-speller-2-train-classifier" scenario with user data, previously recorded in the "p300-speller-1-acquisition" scenario.
Using OpenVibe 2.1.0 version, with OpenBCI cyton biosensing board (8 channels; bluetooth conexion).

The designer command window gives this message when the OV designer closes unexpectly:

(openvibe-designer.exe:11396): Gtk-CRITICAL **: gtk_entry_get_text: assertion `GTK_IS_ENTRY (entry)' failed

The startling thing is that the problem appeared after recording several datasets. I could run the "p300-speller-2-train-classifier
" scenario a lot of times without problems. But after several the designer always crashes (doing the same procedure).

Steps To Reproduce1. Open OpenVibe data adquisition server.
Configuration:
connection port 24.
Sample count per block: 32).
Driver properties: Change channel names: 1. O1; 2. O2; 3. Cz. I used only these 3 channels)
Preferences: 10 ms drift tolerance.

2. Open OpenVibe designer.

3. Run p300-speller-0-signal-monitoring scenario (in my PC: C:\Users\mbamo\AppData\Roaming\openvibe-2.1.0\scenarios\bci-examples\p300-speller).
I can't run the same scenario in C:\Program Files (x86)\openvibe-2.1.0\share\openvibe\scenarios\bci-examples\p300-speller, because gives an error (see Addition info below, ERROR 1).

I Modified two boxes:
-the channel selector block: Cz;O1;O2 (chann. matching method: smart)
-sigmal decimation: changed to "5", because 5 is a multiple of 250 hz (the sampling freq of OPENBCI cyton board)

4. Run p300-speller-1-acquisition scenario


5. Run p300-speller-2-train-classifier
Open the "generic stream reader" and select data recorded in C:\Users\mbamo\AppData\Roaming\openvibe-2.1.0\scenarios\bci-examples\p300-speller\signals.
For example: p300-train-[2018.11.15-11.21.05].ov (is attached)

When the file is selected, the program closes unexpectedly.

Additional InformationOS: Windows 10 home. Version: 1803. Build 17134.345.

//////////////////////
error 1 (see step 3, in the "Steps to Reproduce" scroll text window:

[ INF ] At time 0.000 sec <Box algorithm::(0x000000ea, 0x000057a1) aka Launch> Lua script terminated
[ ERROR ] At time 0.016 sec <Box algorithm::(0x0000356c, 0x00004381) aka Generic stream writer> {Error description} : {Error opening file [C:/Program Files (x86)/openvibe-2.1.0/share/openvibe/scenarios/bci-examples/p300-speller/signals/p300-train-[2018.11.15-15.14.35].ov] for writing}, {Error type} : {OpenViBE::Kernel::ErrorType::BadFileWrite (code 41)}, {Error location} : {C:\ovm\sdk\plugins\processing\file-io\src\box-algorithms\openvibe\ovpCBoxAlgorithmGenericStreamWriter.cpp::84}
[ ERROR ] {Error description} : {Box algorithm <Generic stream writer> processInput function failed}, {Error type} : {ErrorType::Internal (code 2)}, {Error location} : {C:\ovm\sdk\kernel\src\kernel\player\ovkCSimulatedBox.cpp::231}
[ ERROR ] {Error description} : {Process failed for box with id (0x0000356c, 0x00004381)}, {Error type} : {ErrorType::Internal (code 2)}, {Error location} : {C:\ovm\sdk\kernel\src\kernel\player\ovkCScheduler.cpp::694}
[ ERROR ] Scheduler loop failed.
TagsNo tags attached.
Attached Files? file icon p300-train-[2018.11.15-11.21.05].ov [^] (820,710 bytes) 2018-11-15 19:45
xml file icon p300-speller-0-signal-monitoring.xml [^] (18,167 bytes) 2018-11-15 19:53
xml file icon p300-speller-1-acquisition.xml [^] (33,975 bytes) 2018-11-15 19:53
xml file icon p300-speller-2-train-classifier.xml [^] (34,966 bytes) 2018-11-15 19:53
rar file icon p300-speller.rar [^] (146,230 bytes) 2018-11-15 19:54
? file icon p300-epoch-average.cfg [^] (139 bytes) 2018-11-23 14:31

- Relationships

-  Notes
(0001280)
jtlindgr (administrator)
2018-11-16 09:01

I'll investigate, thanks for the detailed report.

The write error is a known 'no issue', its simply because on Windows applications running on user priviledges (and not admin!) normally do not have access to write under "program files (x86)". The intent is that the scenarios are copied and then run from location that the user has write access to. Putting them under AppData is a way to achieve this.
(0001281)
jtlindgr (administrator)
2018-11-16 17:20
edited on: 2018-11-16 17:21

Hi, I couldn't initially reproduce the issue, the scenario passes just ok with the file (once I add the missing p300-epoch-average.cfg file; is the file you are using the one bundled with ov or have you modified it?). I tried to run several times but couldn't get it to crash.

If you close Designer, start it again, and start straight away with scenario 2 and your file, do you get it to crash?

If not, one possibility is that something in your earlier usage has messed up with the memory and/or program state. This kind of crash is very hard to track if it cannot be reproduced reliably with fixed steps.

(0001283)
mbamonte (reporter)
2018-11-23 14:43

Thanks for your answer.

When I close Designer, start it again, and start straight away with scenario 2 and my file, I get it to crash...

I've just uploaded the p300-epoch-average.cfg file, the one bundled with OV, used in this scenario. I haven't modified it.

Perhaps this file could help to reproduce the issue.
(0001284)
mbamonte (reporter)
2018-12-06 15:43

I think I've found the root of the problem.

OV crashes each time I load -a previously recorded- file with the generic stream reader of p300-speller-2-train-classifier scenario, clicking the button "load" of the generic stream reader box. When a load the same file typing its name manually, the scenario works correctly and I don't get to crash OV.


Steps to get OV to crash:

1. Open p300-speller-2-train-classifier scenario.
2. Click on Generic stream reader box
3. Click on "load" button.
4. Select a previously recorded file (.ov), using p300-speller-1-acquisition scenario. For example: p300-online-[2018.11.27-16.11.45].ov, but the problem remains no matter which file is chosen.
5. OV Crashes

Instead, if the following procedure is run, OV doesn't crash.

1. Open p300-speller-2-train-classifier scenario.
2. Click on Generic stream reader box
3. Write manually the name of a previously recorded file (.ov), using p300-speller-1-acquisition scenario (I tried the same file p300-online-[2018.11.27-16.11.45].ov) used in the first 5 steps above
4. p300-speller-2-train-classifier scenario works correctly.

- Issue History
Date Modified Username Field Change
2018-11-15 19:45 mbamonte New Issue
2018-11-15 19:45 mbamonte File Added: p300-train-[2018.11.15-11.21.05].ov
2018-11-15 19:53 mbamonte File Added: p300-speller-0-signal-monitoring.xml
2018-11-15 19:53 mbamonte File Added: p300-speller-1-acquisition.xml
2018-11-15 19:53 mbamonte File Added: p300-speller-2-train-classifier.xml
2018-11-15 19:54 mbamonte File Added: p300-speller.rar
2018-11-16 09:01 jtlindgr Note Added: 0001280
2018-11-16 09:01 jtlindgr Assigned To => jtlindgr
2018-11-16 09:01 jtlindgr Status new => acknowledged
2018-11-16 17:20 jtlindgr Note Added: 0001281
2018-11-16 17:20 jtlindgr Status acknowledged => feedback
2018-11-16 17:21 jtlindgr Note Edited: 0001281 View Revisions
2018-11-16 17:21 jtlindgr Note Edited: 0001281 View Revisions
2018-11-23 14:31 mbamonte File Added: p300-epoch-average.cfg
2018-11-23 14:43 mbamonte Note Added: 0001283
2018-11-23 14:43 mbamonte Status feedback => assigned
2018-12-06 15:43 mbamonte Note Added: 0001284


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker