atoms modules do not start, randomly
Reported by Michael BAUDIN
Originally assigned to Simon MARCHETTO
BUG DESCRIPTION:
----------------
When I install toolboxes from atoms, some of the modules do not start up, randomly. The scenario is :
Step 1 : install distfun
Step 2 : restart Scilab
Step 3 : restart a given number of times (please be patient) then some module do not start.
This generates issues to test a toolbox which uses atoms modules. When we run the approximately 100 unit tests, there is approximately 10% of the tests which fail because some module that the toolbox uses has not been started up.
I provide below two scenarios when this happens :
manual install/restart/restart/ …. /issue based on atomsInstall().
automatic issue based on unit tests and atomsTest().
ERROR LOG:
----------
There is no error message.
HOW TO REPRODUCE THE BUG: case A
-------------------------
Step 1 : install distfun
-->atomsGetInstalled()
ans =
[]
-->atomsInstall("distfun")
ans =
!distfun 0.9.91-1 user SCIHOME\atoms\distfun\0.9.91-1 I !
!specfun 0.4.1-1 user SCIHOME\atoms\specfun\0.4.1-1 A !
!helptbx 0.4-1 user SCIHOME\atoms\helptbx\0.4-1 A !
!apifun 0.4.1-1 user SCIHOME\atoms\apifun\0.4.1-1 A !
Step 2 : restart
Startup execution:
loading initial environment
Start Apifun
Load macros
Load help
Type "help apifun_overview" for quick start.
Start Helptbx
Load macros
Load help
Load demos
Type "demo_gui()" and search for "Helptbx" for Demonstrations.
Start specfun
Load macros
Load help
Load demos
Type "help Specfun Toolbox" for quick start.
Type "demo_gui()" and search for "specfun" for Demonstrations.
Start Distfun
Load macros
Load gateways
Load help
Load demos
Type "demo_gui()" and search for Distfun for Demonstrations.
Step 3 : restart .... 9 times (please be patient) then :
Startup execution:
loading initial environment
Start Distfun
Load macros
Load gateways
Load help
Load demos
Type "demo_gui()" and search for Distfun for Demonstrations.
-->apifun_checkrhs()
!--error 4
Undefined variable: apifun_checkrhs
Three modules did not start : apifun, helptbx and specfun.
HOW TO REPRODUCE THE BUG: case B
-------------------------
I have already installed the "distfun" module.
When I test the “distfun” module, I get :
-->atomsTest("distfun")
TMPDIR = C:\Users\Gros\AppData\Local\Temp\SCI_TMP_6868_
001/001 - [SCIHOME\atoms\distfun\0.9.91-1] :
001/174 - [SCIHOME\atoms\distfun\0.9.91-1] betacdf...........failed: premature end of the test script
When I look in the betacdf.res file :
Start Distfun
Load macros
Load gateways
Type "demo_gui()" and search for Distfun for Demonstrations.
WARNING: Library is already loaded ("ulink(); clear distfunlib;" to unload.)
-->lines(28,72);
[...]
<--Error on the test script file-->
--> lasterror()
ans =
Undefined variable: apifun_checkrhs
-->end
-->diary(0);
-->exit(0);
OTHER INFORMATION:
------------------
This makes the development of atoms modules very difficult. The log files of modules compiled and tested by the atoms machine when the module is uploaded on atoms.scilab.org surely contains erroneous messages. Almost all toolboxes depend on other toolboxes, which do not start at one moment...