#523 closed defect (fixed)
Compile a file consecutive several times makes TOLBase to crash
Reported by: | César Pérez Álvarez | Owned by: | danirus |
---|---|---|---|
Priority: | highest | Milestone: | |
Component: | Various | Version: | 1.1.6 |
Severity: | blocker | Keywords: | |
Cc: |
Description
If we compile this file several consecutive times TOLBase will crash. The number of times that we have to compile is not always the same.
FILE : error.tol
PURPOSE:
Date Ini = y2006m05d01;
Date End = y2006m07d24;
Serie stepIn = SubSer(CalInd(C, Semanal), Ini, End);
Serie forma1 = DifEq(1/(1-0.4*B), stepIn);
Attachments (2)
Change History (7)
comment:1 Changed 17 years ago by
Changed 17 years ago by
Attachment: | test_bug523.log added |
---|
output of 'valgrind --tool=memcheck tclsh test_bug523.tcl'
comment:3 Changed 17 years ago by
Status: | new → assigned |
---|
I've reproduce this error in a simple way with a TOL "For" cycle
Set aux = For(1,5, Real(Real k)
{
WriteLn("Evaluation "+IntText(k));
Date Ini = y2006m05d01;
Date End = y2006m07d24;
Serie stepIn = SubSer(CalInd(C, Semanal), Ini, End);
Serie forma1 = DifEq(1/(1-0.4*B), stepIn);
k
});
First 3 iterations seems to work fine but TimeSet Semanal is lost after fourth one:
Evaluation 1
Evaluation 2
Evaluation 3
Evaluation 4
<E>
ERROR: [1] Semanal no es un objeto valido para el tipo TimeSet.</E>
<E>
ERROR: [2] Argumentos erróneos para Serie CalInd (TimeSet conjuntoTemporal, TimeSet fechado)</E>
<E>
ERROR: [3] Argumentos erróneos para Serie SubSer (Serie S, Date D1, Date D2)</E>
<E>
ERROR: [4] stepIn no se pudo crear.</E>
<E>
ERROR: [5] stepIn no es un objeto valido para el tipo Serie.</E>
<E>
ERROR: [6] Argumentos erróneos para Serie DifEq (Ratio R, Serie S, Serie I)</E>
<E>
ERROR: [7] forma1 no se pudo crear.</E>
Evaluation 5
<E>
ERROR: [8] Semanal no es un objeto valido para el tipo TimeSet.</E>
<E>
ERROR: [9] Argumentos erróneos para Serie CalInd (TimeSet conjuntoTemporal, TimeSet fechado)</E>
<E>
ERROR: [10] Argumentos erróneos para Serie SubSer (Serie S, Date D1, Date D2)</E>
<E>
ERROR: [11] stepIn no se pudo crear.</E>
<E>
ERROR: [12] stepIn no es un objeto valido para el tipo Serie.</E>
<E>
ERROR: [13] Argumentos erróneos para Serie DifEq (Ratio R, Serie S, Serie I)</E>
<E>
ERROR: [14] forma1 no se pudo crear.</E>
comment:4 Changed 17 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Problem has been fixed in CVS
NameBlock members must be treated as global or system variables when are used as the dating of a time serie. Now, Semanal is a member of StdLib instead a global variable and it was be taked as a local one by local variables Serie stepIn and Serie forma1 that must ensure to destroy its own dating, believing that it was also local.
Thanks to report it
comment:5 Changed 17 years ago by
bug_file_loc: | → http://cvs.tol-project.org/viewcvs.cgi/tol_tests/tol/Bugzilla/bug_000523 |
---|
Only a comment. This nehaviour does not happend in version 115.