OpenViBE Bug Tracker - openvibe-designer
View Issue Details
0000198openvibe-designerbug reportpublic2018-11-15 19:452019-01-27 16:25
WindowsWindows 10 Home1803
0000198: OpenVibe designer crashes when testing p300-speller train scenario with user data, previously recorded in the adquisition scenar
OpenVibe 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).

1. Open OpenVibe data adquisition server.
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.

OS: 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.
No tags attached.
? p300-train-[2018.11.15-11.21.05].ov (820,710) 2018-11-15 19:45
xml p300-speller-0-signal-monitoring.xml (18,167) 2018-11-15 19:53
xml p300-speller-1-acquisition.xml (33,975) 2018-11-15 19:53
xml p300-speller-2-train-classifier.xml (34,966) 2018-11-15 19:53
rar p300-speller.rar (146,230) 2018-11-15 19:54
? p300-epoch-average.cfg (139) 2018-11-23 14:31
Issue History
2018-11-15 19:45mbamonteNew Issue
2018-11-15 19:45mbamonteFile Added: p300-train-[2018.11.15-11.21.05].ov
2018-11-15 19:53mbamonteFile Added: p300-speller-0-signal-monitoring.xml
2018-11-15 19:53mbamonteFile Added: p300-speller-1-acquisition.xml
2018-11-15 19:53mbamonteFile Added: p300-speller-2-train-classifier.xml
2018-11-15 19:54mbamonteFile Added: p300-speller.rar
2018-11-16 09:01jtlindgrNote Added: 0001280
2018-11-16 09:01jtlindgrAssigned To => jtlindgr
2018-11-16 09:01jtlindgrStatusnew => acknowledged
2018-11-16 17:20jtlindgrNote Added: 0001281
2018-11-16 17:20jtlindgrStatusacknowledged => feedback
2018-11-16 17:21jtlindgrNote Edited: 0001281bug_revision_view_page.php?bugnote_id=0001281#r50
2018-11-16 17:21jtlindgrNote Edited: 0001281bug_revision_view_page.php?bugnote_id=0001281#r51
2018-11-23 14:31mbamonteFile Added: p300-epoch-average.cfg
2018-11-23 14:43mbamonteNote Added: 0001283
2018-11-23 14:43mbamonteStatusfeedback => assigned
2018-12-06 15:43mbamonteNote Added: 0001284
2019-01-27 16:25jtlindgrAssigned Tojtlindgr =>

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.
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.

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.
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.